[Change] Refactored file_widget and frame_widget.

This commit is contained in:
Rtch90 2014-12-16 13:33:50 +00:00
parent cdfd9cbbc5
commit 9dcb8ce3be
6 changed files with 99 additions and 107 deletions

View File

@ -7,19 +7,16 @@ INCLUDEPATH += /usr/include/poppler/qt5/
LIBS += -L/usr/lib -lpoppler-qt5 LIBS += -L/usr/lib -lpoppler-qt5
HEADERS += \ HEADERS += \
../src/file_widget.h \
../src/pdf_factory.h \ ../src/pdf_factory.h \
../src/pdf_page_widget.h \ ../src/pdf_page_widget.h \
../src/table_view.h \ ../src/table_view.h \
../src/file_frame_widget.h ../src/pdf_file_widget.h
SOURCES += \ SOURCES += \
../src/main.cpp \ ../src/main.cpp \
../src/file_widget.cpp \
../src/pdf_factory.cpp \ ../src/pdf_factory.cpp \
../src/pdf_page_widget.cpp \ ../src/pdf_page_widget.cpp \
../src/table_view.cpp \ ../src/table_view.cpp \
../src/file_frame_widget.cpp ../src/pdf_file_widget.cpp
RESOURCES += hpdf.qrc RESOURCES += hpdf.qrc

View File

@ -1,60 +0,0 @@
#include <QDebug>
#include <QSizePolicy>
#include "file_frame_widget.h"
#define COLLAPSE_BUTTON_WIDTH 60
#define COLLAPSE_BUTTON_HEIGHT 40
FileFrameWidget::FileFrameWidget(QWidget* parent) {
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
topLayout = new QGridLayout();
scrollArea = new QScrollArea();
mainChild = new FileWidget();
widgetName = new QLabel();
widgetName->setText(tr("File 1"));
topLayout->addWidget(widgetName, 0, 1);
collapseButton = new QPushButton(tr("X"));
collapseButton->setMinimumSize(QSize(COLLAPSE_BUTTON_WIDTH, COLLAPSE_BUTTON_HEIGHT));
collapseButton->setMaximumSize(QSize(COLLAPSE_BUTTON_WIDTH, COLLAPSE_BUTTON_HEIGHT));
connect(collapseButton, SIGNAL(released()), this, SLOT(collapsedButtonClick()));
topLayout->addWidget(collapseButton, 0, 0);
topLayout->addWidget(scrollArea, 1, 0, 1, 5);
scrollArea->setWidget(mainChild);
setLayout(topLayout);
setCollapsed(false);
adjustSize();
}
QSize FileFrameWidget::sizeHint() const {
if(collapsed == true)
return QSize(mainChild->width(), collapseButton->height());
else
return QSize(mainChild->width(), collapseButton->height() + mainChild->height() + 50);
}
void FileFrameWidget::setCollapsed(bool state) {
if(state == true) {
collapsed = true;
scrollArea->hide();
} else {
collapsed = false;
scrollArea->show();
}
adjustSize();
}
void FileFrameWidget::collapsedButtonClick(void) {
if(collapsed == true)
setCollapsed(false);
else
setCollapsed(true);
}

View File

@ -1,35 +0,0 @@
#include <QWidget>
#include <QScrollArea>
#include <QHBoxLayout>
#include <QLabel>
#include <QPushButton>
#include <QGridLayout>
#include "file_widget.h"
class FileFrameWidget : public QWidget {
Q_OBJECT
Q_PROPERTY(bool collapsed READ isCollapsed WRITE setCollapsed)
public:
FileFrameWidget(QWidget* parent = 0);
QSize sizeHint(void) const;
bool isCollapsed() { return collapsed; }
void setCollapsed(bool collapsed);
protected:
private slots:
void collapsedButtonClick(void);
private:
QGridLayout* topLayout;
QLabel* widgetName;
QPushButton* collapseButton;
QScrollArea* scrollArea;
FileWidget* mainChild;
bool collapsed;
};

View File

@ -1,3 +1,6 @@
#include <QDebug>
#include <QSizePolicy>
#include <QPixmap> #include <QPixmap>
#include <QSize> #include <QSize>
#include <QDrag> #include <QDrag>
@ -5,13 +8,15 @@
#include <QMouseEvent> #include <QMouseEvent>
#include <QDropEvent> #include <QDropEvent>
#include <QMimeData> #include <QMimeData>
#include <QDebug>
#include "file_widget.h" #include "pdf_file_widget.h"
#include "pdf_page_widget.h" #include "pdf_page_widget.h"
#define CHILD_AREA_WIDTH 150 #define COLLAPSE_BUTTON_WIDTH 60
#define CHILD_AREA_HEIGHT 150 #define COLLAPSE_BUTTON_HEIGHT 40
#define CHILD_AREA_WIDTH 150
#define CHILD_AREA_HEIGHT 150
FileWidget::FileWidget(QWidget* parent) { FileWidget::FileWidget(QWidget* parent) {
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
@ -94,3 +99,56 @@ int FileWidget::findChildPositionInLayout(PDFPageWidget* child) {
return getChildCount()-1; return getChildCount()-1;
} }
PDFFileWidget::PDFFileWidget(QWidget* parent) {
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
topLayout = new QGridLayout();
scrollArea = new QScrollArea();
mainChild = new FileWidget();
widgetName = new QLabel();
widgetName->setText(tr("File 1"));
topLayout->addWidget(widgetName, 0, 1);
collapseButton = new QPushButton(tr("X"));
collapseButton->setMinimumSize(QSize(COLLAPSE_BUTTON_WIDTH, COLLAPSE_BUTTON_HEIGHT));
collapseButton->setMaximumSize(QSize(COLLAPSE_BUTTON_WIDTH, COLLAPSE_BUTTON_HEIGHT));
connect(collapseButton, SIGNAL(released()), this, SLOT(collapsedButtonClick()));
topLayout->addWidget(collapseButton, 0, 0);
topLayout->addWidget(scrollArea, 1, 0, 1, 5);
scrollArea->setWidget(mainChild);
setLayout(topLayout);
setCollapsed(false);
adjustSize();
}
QSize PDFFileWidget::sizeHint() const {
if(collapsed == true)
return QSize(mainChild->width(), collapseButton->height());
else
return QSize(mainChild->width(), collapseButton->height() + mainChild->height() + 50);
}
void PDFFileWidget::setCollapsed(bool state) {
if(state == true) {
collapsed = true;
scrollArea->hide();
} else {
collapsed = false;
scrollArea->show();
}
adjustSize();
}
void PDFFileWidget::collapsedButtonClick(void) {
if(collapsed == true)
setCollapsed(false);
else
setCollapsed(true);
}

View File

@ -1,5 +1,9 @@
#include <QWidget> #include <QWidget>
#include <QScrollArea>
#include <QHBoxLayout> #include <QHBoxLayout>
#include <QLabel>
#include <QPushButton>
#include <QGridLayout>
#include <QImage> #include <QImage>
#include <QString> #include <QString>
#include <QPoint> #include <QPoint>
@ -26,3 +30,31 @@ private:
int getChildCount() const; int getChildCount() const;
}; };
class PDFFileWidget : public QWidget {
Q_OBJECT
Q_PROPERTY(bool collapsed READ isCollapsed WRITE setCollapsed)
public:
PDFFileWidget(QWidget* parent = 0);
QSize sizeHint() const;
bool isCollapsed(void) { return collapsed; }
void setCollapsed(bool collapsed);
protected:
private slots:
void collapsedButtonClick();
private:
QGridLayout* topLayout;
QLabel* widgetName;
QPushButton* collapseButton;
QScrollArea* scrollArea;
FileWidget* mainChild;
bool collapsed;
};

View File

@ -3,9 +3,9 @@
#include <assert.h> #include <assert.h>
#include "table_view.h" #include "table_view.h"
#include "pdf_page_widget.h" #include "pdf_page_widget.h"
#include "file_frame_widget.h" #include "pdf_file_widget.h"
FileFrameWidget* test[10]; PDFFileWidget* test[10];
TableView::TableView(QWidget* parent) : QWidget(parent) { TableView::TableView(QWidget* parent) : QWidget(parent) {
outerLayout = new QVBoxLayout(); outerLayout = new QVBoxLayout();
@ -32,7 +32,7 @@ TableView::TableView(QWidget* parent) : QWidget(parent) {
}*/ }*/
for(i = 0; i < 10; i++) { for(i = 0; i < 10; i++) {
test[i] = new FileFrameWidget(); test[i] = new PDFFileWidget();
/*test[i]->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Ignored);*/ /*test[i]->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Ignored);*/
layout->addWidget(test[i]); layout->addWidget(test[i]);