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