#define HH_PyKit_PDFWidget_ 1
// Custom includes
+#include <vector>
#include <poppler/qt4/poppler-qt4.h>
#include <boost/scoped_ptr.hpp>
#include <QLabel>
#include <QWidget>
#include <QNetworkAccessManager>
#include <QUrl>
+#include <QRubberBand>
//#include "PDFWidget.mpp"
///////////////////////////////hh.p////////////////////////////////////////
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();
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_;
};
}
// c-file-style: "j32"
// indent-tabs-mode: nil
// ispell-local-dictionary: "american"
-// compile-command: "scons -U"
+// compile-command: "make"
// End: