typo fix
[pykit.git] / PDFWidget.hh
index bbb7e51..97c6a5a 100644 (file)
@@ -10,6 +10,7 @@
 #define HH_PyKit_PDFWidget_ 1
 
 // Custom includes
+#include <vector>
 #include <poppler/qt4/poppler-qt4.h>
 #include <boost/scoped_ptr.hpp>
 #include <QLabel>
@@ -17,6 +18,7 @@
 #include <QWidget>
 #include <QNetworkAccessManager>
 #include <QUrl>
+#include <QRubberBand>
 
 //#include "PDFWidget.mpp"
 ///////////////////////////////hh.p////////////////////////////////////////
@@ -27,11 +29,21 @@ namespace pykit {
     {
         Q_OBJECT;
     public:
-        explicit PDFWidget(QNetworkAccessManager * manager, QWidget * parent = 0);
-        PDFWidget(QString const & document, QNetworkAccessManager * manager,
+        explicit PDFWidget(QString const & id, QNetworkAccessManager * manager,
+                           QWidget * parent = 0);
+        PDFWidget(QString const & id, QString const & document, QNetworkAccessManager * manager,
                   QWidget * parent = 0);
+        ~PDFWidget();
 
         void load(QUrl const & url);
+        Q_INVOKABLE void highlightString(QString const & str);
+
+    protected:
+        virtual void resizeEvent(QResizeEvent * event);
+
+        virtual void mousePressEvent(QMouseEvent * event);
+        virtual void mouseMoveEvent(QMouseEvent * event);
+        virtual void mouseReleaseEvent(QMouseEvent * event);
 
     private slots:
         void netLoadDocument();
@@ -40,9 +52,15 @@ namespace pykit {
         void documentSetup();
         void showPage();
 
+        QString id_;
         QNetworkAccessManager * manager_;
         boost::scoped_ptr<Poppler::Document> document_;
         int currentPage_;
+        double dpi_;
+        QRubberBand * rubberBand_;
+        QPoint origin_;
+        QStringList highlightStrings_;
+        std::vector<QRectF> highlightAreas_;
     };
 
 }
@@ -61,5 +79,5 @@ namespace pykit {
 // c-file-style: "j32"
 // indent-tabs-mode: nil
 // ispell-local-dictionary: "american"
-// compile-command: "scons -U"
+// compile-command: "make"
 // End: