From cdfd9cbbc593ce8ea46c7d6fe9a209c0362af74f Mon Sep 17 00:00:00 2001 From: Rtch90 Date: Tue, 16 Dec 2014 12:51:09 +0000 Subject: [PATCH] [Add] Added PageWidget. --- src/file_widget.cpp | 18 ++++++++++-------- src/file_widget.h | 8 ++++---- src/pdf_page_widget.cpp | 9 +++++++-- src/pdf_page_widget.h | 1 + 4 files changed, 22 insertions(+), 14 deletions(-) diff --git a/src/file_widget.cpp b/src/file_widget.cpp index a779d02..1fcccc6 100644 --- a/src/file_widget.cpp +++ b/src/file_widget.cpp @@ -1,5 +1,4 @@ #include -#include #include #include #include @@ -9,9 +8,10 @@ #include #include "file_widget.h" +#include "pdf_page_widget.h" #define CHILD_AREA_WIDTH 150 -#define CHILD_AREA_HEIGHT 180 +#define CHILD_AREA_HEIGHT 150 FileWidget::FileWidget(QWidget* parent) { setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); @@ -30,14 +30,16 @@ int FileWidget::getChildCount() const { } QSize FileWidget::sizeHint() const { - return QSize(CHILD_AREA_WIDTH*getChildCount(), CHILD_AREA_HEIGHT + 50); + return QSize(CHILD_AREA_WIDTH*getChildCount(), CHILD_AREA_HEIGHT + 20); } void FileWidget::addChild(QString name) { - QLabel* newchild; - newchild = new QLabel(); - newchild->setText(name); - newchild->setStyleSheet("QLabel { background-color : red; color : blue; }"); + PDFPageWidget* newchild; + newchild = new PDFPageWidget(); + newchild->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + newchild->resize(CHILD_AREA_WIDTH, CHILD_AREA_HEIGHT); + /*newchild->setText(name);*/ + /*newchild->setStyleSheet("QLabel { background-color : red; color : blue }");*/ child.push_back(newchild); @@ -84,7 +86,7 @@ int FileWidget::findClickEventChild(QPoint pos) { return getChildCount()-1; } -int FileWidget::findChildPositionInLayout(QLabel* child) { +int FileWidget::findChildPositionInLayout(PDFPageWidget* child) { for(int i = 0; i < getChildCount(); i++) if(mainLayout->itemAt(i)->widget() == child) return i; diff --git a/src/file_widget.h b/src/file_widget.h index 66db516..215ddbe 100644 --- a/src/file_widget.h +++ b/src/file_widget.h @@ -2,9 +2,9 @@ #include #include #include -#include #include #include +#include "pdf_page_widget.h" class FileWidget : public QWidget { Q_OBJECT @@ -16,13 +16,13 @@ protected: void dropEvent(QDropEvent* event); void mousePressEvent(QMouseEvent* event); private: - std::vector child; - + std::vector child; + QHBoxLayout* mainLayout; void addChild(QString name); int findClickEventChild(QPoint pos); - int findChildPositionInLayout(QLabel* child); + int findChildPositionInLayout(PDFPageWidget* child); int getChildCount() const; }; diff --git a/src/pdf_page_widget.cpp b/src/pdf_page_widget.cpp index a0f279c..03c0a21 100644 --- a/src/pdf_page_widget.cpp +++ b/src/pdf_page_widget.cpp @@ -1,12 +1,13 @@ #include +#include #include "pdf_page_widget.h" PDFPageWidget::PDFPageWidget(QWidget* parent) : QWidget(parent) { /* Resize widget. */ - this->resize(500, 500); - this->setMinimumHeight(500); + this->resize(150, 150); + this->setMinimumHeight(150); this->setMouseTracking(true); this->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); @@ -73,3 +74,7 @@ void PDFPageWidget::paintEvent(QPaintEvent* event) { painter.drawPixmap(QRect(0, 0, width(), height()), pixmap); } +QSize PDFPageWidget::sizeHint() const { + return QSize(150, 150); +} + diff --git a/src/pdf_page_widget.h b/src/pdf_page_widget.h index a79c159..d7b0aa0 100644 --- a/src/pdf_page_widget.h +++ b/src/pdf_page_widget.h @@ -13,6 +13,7 @@ public: PDFPageWidget(QWidget* parent = 0); void setPageImage(QImage* pageImage); void setButton(QPushButton* btn); + QSize sizeHint() const; /*void setButtonImage(QImage* pageImage);*/ protected: