typo fix
[pykit.git] / PDFWidget.hh
index 9a82461..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////////////////////////////////////////
@@ -31,24 +33,18 @@ namespace pykit {
                            QWidget * parent = 0);
         PDFWidget(QString const & id, QString const & document, QNetworkAccessManager * manager,
                   QWidget * parent = 0);
+        ~PDFWidget();
 
         void load(QUrl const & url);
-
-    public slots:
-        void zoomIn();
-        void zoomOut();
-        void zoomDPI(double dpi);
-
-        int zoomWidth(int w = -1);
-        int zoomHeight();
-        void zoomFit();
-
-        int getPDFWidth();
-        int getPDFHeight();
+        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();
 
@@ -56,19 +52,15 @@ namespace pykit {
         void documentSetup();
         void showPage();
 
-        enum ZoomMode { Manual, Width, Height, Fit };
-        static double const ZoomStepDpi = 20.0;
-        static double const ZoomMaxDpi = 200.0;
-        static double const ZoomMinDpi = 50.0;
-
         QString id_;
         QNetworkAccessManager * manager_;
         boost::scoped_ptr<Poppler::Document> document_;
         int currentPage_;
-        ZoomMode zoomMode_;
         double dpi_;
-        int x_;
-        int y_;
+        QRubberBand * rubberBand_;
+        QPoint origin_;
+        QStringList highlightStrings_;
+        std::vector<QRectF> highlightAreas_;
     };
 
 }
@@ -87,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: