typo fix
[pykit.git] / PDFWidget.hh
1 // $Id$
2 //
3 // Copyright (C) 2010
4 //     Stefan Bund <info@j32.de>
5
6 /** \file
7     \brief PDFWidget public header */
8
9 #ifndef HH_PyKit_PDFWidget_
10 #define HH_PyKit_PDFWidget_ 1
11
12 // Custom includes
13 #include <vector>
14 #include <poppler/qt4/poppler-qt4.h>
15 #include <boost/scoped_ptr.hpp>
16 #include <QLabel>
17 #include <QString>
18 #include <QWidget>
19 #include <QNetworkAccessManager>
20 #include <QUrl>
21 #include <QRubberBand>
22
23 //#include "PDFWidget.mpp"
24 ///////////////////////////////hh.p////////////////////////////////////////
25
26 namespace pykit {
27
28     class PDFWidget : public QLabel
29     {
30         Q_OBJECT;
31     public:
32         explicit PDFWidget(QString const & id, QNetworkAccessManager * manager,
33                            QWidget * parent = 0);
34         PDFWidget(QString const & id, QString const & document, QNetworkAccessManager * manager,
35                   QWidget * parent = 0);
36         ~PDFWidget();
37
38         void load(QUrl const & url);
39         Q_INVOKABLE void highlightString(QString const & str);
40
41     protected:
42         virtual void resizeEvent(QResizeEvent * event);
43
44         virtual void mousePressEvent(QMouseEvent * event);
45         virtual void mouseMoveEvent(QMouseEvent * event);
46         virtual void mouseReleaseEvent(QMouseEvent * event);
47
48     private slots:
49         void netLoadDocument();
50
51     private:
52         void documentSetup();
53         void showPage();
54
55         QString id_;
56         QNetworkAccessManager * manager_;
57         boost::scoped_ptr<Poppler::Document> document_;
58         int currentPage_;
59         double dpi_;
60         QRubberBand * rubberBand_;
61         QPoint origin_;
62         QStringList highlightStrings_;
63         std::vector<QRectF> highlightAreas_;
64     };
65
66 }
67
68 ///////////////////////////////hh.e////////////////////////////////////////
69 //#include "PDFWidget.cci"
70 //#include "PDFWidget.ct"
71 //#include "PDFWidget.cti"
72 #endif
73
74 \f
75 // Local Variables:
76 // mode: c++
77 // fill-column: 100
78 // comment-column: 40
79 // c-file-style: "j32"
80 // indent-tabs-mode: nil
81 // ispell-local-dictionary: "american"
82 // compile-command: "make"
83 // End: