PDF cut-and-paste
[pykit.git] / PDFWidget.hh
index 9a82461..041a29c 100644 (file)
@@ -17,6 +17,7 @@
 #include <QWidget>
 #include <QNetworkAccessManager>
 #include <QUrl>
+#include <QRubberBand>
 
 //#include "PDFWidget.mpp"
 ///////////////////////////////hh.p////////////////////////////////////////
@@ -31,24 +32,17 @@ 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();
-
     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 +50,13 @@ 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_;
     };
 
 }