File: mainwindow.cpp

package info (click to toggle)
qt-advanced-docking-system 4.5.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 24,492 kB
  • sloc: cpp: 16,302; python: 1,392; makefile: 12
file content (64 lines) | stat: -rw-r--r-- 1,704 bytes parent folder | download
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
#include "mainwindow.h"

#include "ui_mainwindow.h"

#include <QLabel>
#include <QToolBar>

#include "DockAreaWidget.h"


using namespace ads;


CMainWindow::CMainWindow(QWidget *parent) :
	QMainWindow(parent),
	ui(new Ui::CMainWindow)
{
	ui->setupUi(this);

	// Add the toolbar
	auto toolbar_ = addToolBar("Top Toolbar");

	// Create the dock manager
	ads::CDockManager::setConfigFlags(ads::CDockManager::DefaultOpaqueConfig);
	ads::CDockManager::setConfigFlag(ads::CDockManager::DockAreaHasCloseButton,
	    false);
	ads::CDockManager::setConfigFlag(ads::CDockManager::DockAreaHasUndockButton,
	    false);
	ads::CDockManager::setConfigFlag(
	    ads::CDockManager::DockAreaHasTabsMenuButton, false);
	auto DockManager = new ads::CDockManager(this);

	// Create a dockable widget
	QLabel *l1 = new QLabel();
	l1->setWordWrap(true);
	l1->setAlignment(Qt::AlignTop | Qt::AlignLeft);
	l1->setText("Docking widget 1");
    ads::CDockWidget *dockWidget1 = DockManager->createDockWidget("Dock 1");
	dockWidget1->setWidget(l1);
	DockManager->addDockWidget(ads::LeftDockWidgetArea, dockWidget1);

	QLabel *l2 = new QLabel();
	l2->setWordWrap(true);
	l2->setAlignment(Qt::AlignTop | Qt::AlignLeft);
	l2->setText("Docking widget 2");
    ads::CDockWidget *dockWidget2 = DockManager->createDockWidget("Dock 2");
	dockWidget2->setWidget(l2);
	DockManager->addDockWidget(ads::RightDockWidgetArea, dockWidget2);

	// Add menu actions
	ui->menuView->addAction(dockWidget1->toggleViewAction());
	ui->menuView->addAction(dockWidget2->toggleViewAction());
	toolbar_->addAction(dockWidget1->toggleViewAction());
	toolbar_->addAction(dockWidget2->toggleViewAction());
}


CMainWindow::~CMainWindow()
{
    delete ui;
}