forked from nitramr/indigoDock
/
mainwindow.cpp
112 lines (82 loc) · 3.08 KB
/
mainwindow.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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QtGui>
#include "indigopanel.h"
#include "indigodropzone.h"
#include "indigomenubar.h"
#include "indigodock.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
setMouseTracking(true);
/*******************
*
* QDockWidget Setup
*
******************/
// add right dock container
m_dockright = new QDockWidget(this);
m_dockright->setAllowedAreas(Qt::RightDockWidgetArea | Qt::LeftDockWidgetArea);
// dockright->setStyleSheet("background-color: lightgrey");
this->addDockWidget(Qt::RightDockWidgetArea, m_dockright);
// add left dock container
m_dockleft = new QDockWidget(this);
m_dockleft->setAllowedAreas(Qt::RightDockWidgetArea | Qt::LeftDockWidgetArea);
// dockright->setStyleSheet("background-color: lightgrey");
this->addDockWidget(Qt::LeftDockWidgetArea, m_dockleft);
/*******************
*
* IndigoDock Setup
*
******************/
// TabWidget
IndigoDock *indigoDock_r = new IndigoDock;
// Container
m_mainLayout_r = new QGridLayout();
m_mainLayout_r->setMargin(0);
m_mainLayout_r->addWidget(indigoDock_r, 0, 0);
QWidget *containerRight = new QWidget;
containerRight->setLayout(m_mainLayout_r);
// set Layouted Widget to DockPanel
m_dockright->setWidget(containerRight);
connect(m_dockright, SIGNAL(dockLocationChanged(Qt::DockWidgetArea)), indigoDock_r, SLOT(updateTabWidget(Qt::DockWidgetArea)));
// TabWidget
IndigoDock *indigoDock_l = new IndigoDock;
indigoDock_l->m_indigoTab->setTabPosition(IndigoTabbar::West);
// Container
m_mainLayout_l = new QGridLayout();
m_mainLayout_l->setMargin(0);
m_mainLayout_l->addWidget(indigoDock_l, 0, 0);
QWidget *containerLeft = new QWidget;
containerLeft->setLayout(m_mainLayout_l);
// set Layouted Widget to DockPanel
m_dockleft->setWidget(containerLeft);
connect(m_dockleft, SIGNAL(dockLocationChanged(Qt::DockWidgetArea)), indigoDock_l, SLOT(updateTabWidget(Qt::DockWidgetArea)));
IndigoMenuBar *menuBar = new IndigoMenuBar();
setMenuBar(menuBar);
new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_Q), this, SLOT(close()));
// right dock
IndigoPanel *panel = new IndigoPanel(this);
panel->setCaption("Properties");
panel->setIcon(QIcon(":/icons/icons/placeholder.png"));
indigoDock_r->addIndigoPanel(panel);
IndigoPanel *panel2 = new IndigoPanel(this);
panel2->setCaption("Page");
panel2->setIcon(QIcon(":/icons/icons/placeholder.png"));
indigoDock_r->addIndigoPanel(panel2, 0);
// left dock
IndigoPanel *panel3 = new IndigoPanel(this);
panel3->setCaption("Preflight");
panel3->setIcon(QIcon(":/icons/icons/placeholder.png"));
indigoDock_l->addIndigoPanel(panel3);
IndigoPanel *panel4 = new IndigoPanel(this);
panel4->setCaption("Text");
panel4->setIcon(QIcon(":/icons/icons/placeholder.png"));
indigoDock_l->addIndigoPanel(panel4);
}
MainWindow::~MainWindow()
{
delete ui;
}