print functionality
[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 <poppler/qt4/poppler-qt4.h>
14 #include <boost/scoped_ptr.hpp>
15 #include <QLabel>
16 #include <QString>
17 #include <QWidget>
18 #include <QNetworkAccessManager>
19 #include <QUrl>
20 #include <QRubberBand>
21
22 //#include "PDFWidget.mpp"
23 ///////////////////////////////hh.p////////////////////////////////////////
24
25 namespace pykit {
26
27     class PDFWidget : public QLabel
28     {
29         Q_OBJECT;
30     public:
31         explicit PDFWidget(QString const & id, QNetworkAccessManager * manager,
32                            QWidget * parent = 0);
33         PDFWidget(QString const & id, QString const & document, QNetworkAccessManager * manager,
34                   QWidget * parent = 0);
35         ~PDFWidget();
36
37         void load(QUrl const & url);
38
39     protected:
40         virtual void resizeEvent(QResizeEvent * event);
41
42         virtual void mousePressEvent(QMouseEvent * event);
43         virtual void mouseMoveEvent(QMouseEvent * event);
44         virtual void mouseReleaseEvent(QMouseEvent * event);
45
46     private slots:
47         void netLoadDocument();
48
49     private:
50         void documentSetup();
51         void showPage();
52
53         QString id_;
54         QNetworkAccessManager * manager_;
55         boost::scoped_ptr<Poppler::Document> document_;
56         int currentPage_;
57         double dpi_;
58         QRubberBand * rubberBand_;
59         QPoint origin_;
60     };
61
62 }
63
64 ///////////////////////////////hh.e////////////////////////////////////////
65 //#include "PDFWidget.cci"
66 //#include "PDFWidget.ct"
67 //#include "PDFWidget.cti"
68 #endif
69
70 \f
71 // Local Variables:
72 // mode: c++
73 // fill-column: 100
74 // comment-column: 40
75 // c-file-style: "j32"
76 // indent-tabs-mode: nil
77 // ispell-local-dictionary: "american"
78 // compile-command: "scons -U"
79 // End: