-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpreviewwindow.cpp
executable file
·74 lines (61 loc) · 1.97 KB
/
previewwindow.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include "previewwindow.h"
#include "ui_previewwindow.h"
#include <QDebug>
#include <QGraphicsItem>
PreviewWindow::PreviewWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::PreviewWindow)
{
// Start the ui engine
ui->setupUi(this);
// Setup the graphics scene to paint the images in
graphicsScene = new QGraphicsScene(this);
// Setup the Layout.
// ToDo load this from discription files
QImageLayoutButton *layoutButton;
layoutButton = newImageLayout(QString("Preview"));
layoutButton->setRect(0,0,8000,6000); // Just something 4:3 aspect ratio
layoutButton->addImage(QRectF(0,0,4000,3000));
layoutButton->addImage(QRectF(4000,0,4000,3000));
layoutButton->addImage(QRectF(0,3000,4000,3000));
layoutButton->addImage(QRectF(4000,3000,4000,3000));
layoutButton->addImage(QRectF(2000,1500,4000,3000));
imageLayoutCurr = layoutButton;
}
PreviewWindow::~PreviewWindow()
{
delete graphicsScene;
delete ui;
}
/*
* Private functions
*/
QImageLayoutButton *PreviewWindow::newImageLayout(QString name)
{
QImageLayoutButton *layoutButton;
layoutButton = new QImageLayoutButton(name);
imageLayoutList.append(layoutButton);
// ui->gridLayoutLayoutButtons->addWidget(layoutButton,0,imageLayoutList.length());
// signalMapperLayout->setMapping(layoutButton,layoutButton);
// connect(layoutButton, SIGNAL(clicked()), signalMapperLayout, SLOT(map()));
return layoutButton;
}
/*
* Other events
*/
void PreviewWindow::resizeEvent(QResizeEvent *event)
{
QMainWindow::resizeEvent(event);
OnResize();
}
/*
* Normal Event driven slots.
*/
void PreviewWindow::OnResize()
{
// qDebug() << __FILE__ << __FUNCTION__;
// Make sure the correct portion of the graphicsScene is visible in the graphicsView.
ui->graphicsView->setScene(graphicsScene);
ui->graphicsView->fitInView(graphicsScene->sceneRect(),Qt::KeepAspectRatio);
ui->graphicsView->ensureVisible(graphicsScene->sceneRect());
}