[Change] Refactored file_widget and frame_widget.
This commit is contained in:
parent
cdfd9cbbc5
commit
9dcb8ce3be
@ -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
|
||||||
|
|
||||||
|
@ -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);
|
|
||||||
}
|
|
||||||
|
|
@ -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;
|
|
||||||
};
|
|
||||||
|
|
@ -1,3 +1,6 @@
|
|||||||
|
#include <QDebug>
|
||||||
|
#include <QSizePolicy>
|
||||||
|
|
||||||
#include <QPixmap>
|
#include <QPixmap>
|
||||||
#include <QSize>
|
#include <QSize>
|
||||||
#include <QDrag>
|
#include <QDrag>
|
||||||
@ -5,11 +8,13 @@
|
|||||||
#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 COLLAPSE_BUTTON_WIDTH 60
|
||||||
|
#define COLLAPSE_BUTTON_HEIGHT 40
|
||||||
|
|
||||||
#define CHILD_AREA_WIDTH 150
|
#define CHILD_AREA_WIDTH 150
|
||||||
#define CHILD_AREA_HEIGHT 150
|
#define CHILD_AREA_HEIGHT 150
|
||||||
|
|
||||||
@ -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);
|
||||||
|
}
|
||||||
|
|
@ -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;
|
||||||
|
};
|
||||||
|
|
@ -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]);
|
||||||
|
Loading…
Reference in New Issue
Block a user