#pragma once #include #include class QWidget; class QPushButton; class QImage; class QPixmap; class QPaintEvent; class QEvent; class QMouseEvent; class QSize; class PDFPageWidget : public QFrame { Q_OBJECT public: PDFPageWidget(QWidget* parent = 0); void setThumbnail(QImage pageImage); void setPopplerPage(Poppler::Page*); void setButton(QPushButton* btn); QSize sizeHint() const; /*void setButtonImage(QImage* pageImage);*/ void setAncestor(QWidget* ancestor); void setFather(QWidget* father); QWidget* getFather() { return father; } void registerName(QString name) { path = name; } void setSelected(bool select); bool isSelected(void) { return selected; } protected: void paintEvent(QPaintEvent* event); void enterEvent(QEvent* event); void leaveEvent(QEvent* event); void mousePressEvent(QMouseEvent* event); void dragEnterEvent(QDragEnterEvent* event); void dropEvent(QDropEvent* event); private: /*QVector buttons;*/ QString path; QWidget* ancestor; QWidget* father; QPushButton* button; QImage image; Poppler::Page* pPage; QPixmap pixmap; QPushButton* btn1, *btn2; bool selected; signals: void pageClicked(PDFPageWidget* sender, QMouseEvent* event, QString); void pageDropped(PDFPageWidget* sender, QDropEvent* event, QString, QString); void previewUpdate(Poppler::Page*); };