Skip to content

Commit 8f54dd2

Browse files
Added example project and updated documentation
1 parent c0d6f95 commit 8f54dd2

File tree

9 files changed

+241
-30
lines changed

9 files changed

+241
-30
lines changed

.cproject

Lines changed: 53 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,15 @@
7171
</storageModule>
7272
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
7373
<storageModule moduleId="refreshScope"/>
74+
<storageModule moduleId="scannerConfiguration">
75+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
76+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1119687795;cdt.managedbuild.toolchain.gnu.mingw.base.1119687795.1949777584;cdt.managedbuild.tool.gnu.cpp.compiler.mingw.base.1947822681;cdt.managedbuild.tool.gnu.cpp.compiler.input.1318830536">
77+
<autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"/>
78+
</scannerConfigBuildInfo>
79+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1119687795;cdt.managedbuild.toolchain.gnu.mingw.base.1119687795.1949777584;cdt.managedbuild.tool.gnu.c.compiler.mingw.base.389117097;cdt.managedbuild.tool.gnu.c.compiler.input.1568363924">
80+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
81+
</scannerConfigBuildInfo>
82+
</storageModule>
7483
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets">
7584
<buildTargets>
7685
<target name="Build all" path=" build" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
@@ -83,6 +92,7 @@
8392
</target>
8493
<target name="Clean" path=" build" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
8594
<buildCommand>make</buildCommand>
95+
<buildArguments/>
8696
<buildTarget>clean</buildTarget>
8797
<stopOnError>false</stopOnError>
8898
<useDefaultCommand>true</useDefaultCommand>
@@ -99,7 +109,6 @@
99109
<target name="qmake" path=" build" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
100110
<buildCommand>qmake</buildCommand>
101111
<buildArguments>-recursive ../ads.pro</buildArguments>
102-
<buildTarget/>
103112
<stopOnError>true</stopOnError>
104113
<useDefaultCommand>false</useDefaultCommand>
105114
<runAllBuilders>false</runAllBuilders>
@@ -122,7 +131,6 @@
122131
</target>
123132
<target name="Clean" path=" build/src" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
124133
<buildCommand>make</buildCommand>
125-
<buildArguments/>
126134
<buildTarget>clean</buildTarget>
127135
<stopOnError>false</stopOnError>
128136
<useDefaultCommand>true</useDefaultCommand>
@@ -139,7 +147,6 @@
139147
<target name="qmake" path=" build/src" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
140148
<buildCommand>qmake</buildCommand>
141149
<buildArguments>-recursive ../../src/src.pro</buildArguments>
142-
<buildTarget/>
143150
<stopOnError>true</stopOnError>
144151
<useDefaultCommand>false</useDefaultCommand>
145152
<runAllBuilders>false</runAllBuilders>
@@ -152,6 +159,46 @@
152159
<useDefaultCommand>false</useDefaultCommand>
153160
<runAllBuilders>false</runAllBuilders>
154161
</target>
162+
<target name="Build all" path=" build/example" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
163+
<buildCommand>mingw32-make</buildCommand>
164+
<buildArguments>-j</buildArguments>
165+
<buildTarget>all</buildTarget>
166+
<stopOnError>false</stopOnError>
167+
<useDefaultCommand>false</useDefaultCommand>
168+
<runAllBuilders>false</runAllBuilders>
169+
</target>
170+
<target name="Clean" path=" build/example" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
171+
<buildCommand>make</buildCommand>
172+
<buildArguments/>
173+
<buildTarget>clean</buildTarget>
174+
<stopOnError>false</stopOnError>
175+
<useDefaultCommand>true</useDefaultCommand>
176+
<runAllBuilders>false</runAllBuilders>
177+
</target>
178+
<target name="Debug Build" path=" build/example" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
179+
<buildCommand>mingw32-make</buildCommand>
180+
<buildArguments>-j6</buildArguments>
181+
<buildTarget>debug</buildTarget>
182+
<stopOnError>false</stopOnError>
183+
<useDefaultCommand>false</useDefaultCommand>
184+
<runAllBuilders>false</runAllBuilders>
185+
</target>
186+
<target name="qmake" path=" build/example" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
187+
<buildCommand>qmake</buildCommand>
188+
<buildArguments>-recursive ../../example/example.pro</buildArguments>
189+
<buildTarget/>
190+
<stopOnError>true</stopOnError>
191+
<useDefaultCommand>false</useDefaultCommand>
192+
<runAllBuilders>false</runAllBuilders>
193+
</target>
194+
<target name="Release Build" path=" build/example" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
195+
<buildCommand>mingw32-make</buildCommand>
196+
<buildArguments>-j4</buildArguments>
197+
<buildTarget>release</buildTarget>
198+
<stopOnError>false</stopOnError>
199+
<useDefaultCommand>false</useDefaultCommand>
200+
<runAllBuilders>false</runAllBuilders>
201+
</target>
155202
<target name="Build all" path=" build/demo" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
156203
<buildCommand>mingw32-make</buildCommand>
157204
<buildArguments>-j</buildArguments>
@@ -162,7 +209,6 @@
162209
</target>
163210
<target name="Clean" path=" build/demo" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
164211
<buildCommand>make</buildCommand>
165-
<buildArguments/>
166212
<buildTarget>clean</buildTarget>
167213
<stopOnError>false</stopOnError>
168214
<useDefaultCommand>true</useDefaultCommand>
@@ -179,7 +225,6 @@
179225
<target name="qmake" path=" build/demo" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
180226
<buildCommand>qmake</buildCommand>
181227
<buildArguments>-recursive ../../demo/demo.pro</buildArguments>
182-
<buildTarget/>
183228
<stopOnError>true</stopOnError>
184229
<useDefaultCommand>false</useDefaultCommand>
185230
<runAllBuilders>false</runAllBuilders>
@@ -202,6 +247,7 @@
202247
</target>
203248
<target name="Clean" path=" build/AdvancedDockingSystemDemo" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
204249
<buildCommand>make</buildCommand>
250+
<buildArguments/>
205251
<buildTarget>clean</buildTarget>
206252
<stopOnError>false</stopOnError>
207253
<useDefaultCommand>true</useDefaultCommand>
@@ -240,6 +286,7 @@
240286
</target>
241287
<target name="Clean" path=" build/AdvancedDockingSystemDemo_v2" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
242288
<buildCommand>make</buildCommand>
289+
<buildArguments/>
243290
<buildTarget>clean</buildTarget>
244291
<stopOnError>false</stopOnError>
245292
<useDefaultCommand>true</useDefaultCommand>
@@ -278,6 +325,7 @@
278325
</target>
279326
<target name="Clean" path=" build/AdvancedDockingSystem" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
280327
<buildCommand>make</buildCommand>
328+
<buildArguments/>
281329
<buildTarget>clean</buildTarget>
282330
<stopOnError>false</stopOnError>
283331
<useDefaultCommand>true</useDefaultCommand>
@@ -294,7 +342,6 @@
294342
<target name="qmake" path=" build/AdvancedDockingSystem" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
295343
<buildCommand>qmake</buildCommand>
296344
<buildArguments>-recursive ../../AdvancedDockingSystem/src.pro</buildArguments>
297-
<buildTarget/>
298345
<stopOnError>true</stopOnError>
299346
<useDefaultCommand>false</useDefaultCommand>
300347
<runAllBuilders>false</runAllBuilders>
@@ -309,13 +356,4 @@
309356
</target>
310357
</buildTargets>
311358
</storageModule>
312-
<storageModule moduleId="scannerConfiguration">
313-
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
314-
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1119687795;cdt.managedbuild.toolchain.gnu.mingw.base.1119687795.1949777584;cdt.managedbuild.tool.gnu.cpp.compiler.mingw.base.1947822681;cdt.managedbuild.tool.gnu.cpp.compiler.input.1318830536">
315-
<autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"/>
316-
</scannerConfigBuildInfo>
317-
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1119687795;cdt.managedbuild.toolchain.gnu.mingw.base.1119687795.1949777584;cdt.managedbuild.tool.gnu.c.compiler.mingw.base.389117097;cdt.managedbuild.tool.gnu.c.compiler.input.1568363924">
318-
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
319-
</scannerConfigBuildInfo>
320-
</storageModule>
321359
</cproject>

README.md

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -99,19 +99,28 @@ MainWindow::MainWindow(QWidget *parent) :
9999
{
100100
ui->setupUi(this);
101101

102-
// Create the dock manager
103-
m_DockManager = new ads::CDockManager(this);
104-
105-
QLabel* l = new QLabel();
106-
l->setWordWrap(true);
107-
l->setAlignment(Qt::AlignTop | Qt::AlignLeft);
108-
l->setText("Lorem ipsum dolor sit amet, consectetuer adipiscing elit. ");
109-
110-
// Create a dock widget with the title Label 1
111-
ads::CDockWidget* DockWidget = new ads::CDockWidget("Label 1");
112-
DockWidget->setWidget(l);
113-
ui->menuView->addAction(DockWidget->toggleViewAction());
114-
m_DockManager->addDockWidget(ads::TopDockWidgetArea, DockWidget);
102+
// Create the dock manager. Because the parent parameter is a QMainWindow
103+
// the dock manager registers itself as the central widget.
104+
m_DockManager = new ads::CDockManager(this);
105+
106+
// Create example content label - this can be any application specific
107+
// widget
108+
QLabel* l = new QLabel();
109+
l->setWordWrap(true);
110+
l->setAlignment(Qt::AlignTop | Qt::AlignLeft);
111+
l->setText("Lorem ipsum dolor sit amet, consectetuer adipiscing elit. ");
112+
113+
// Create a dock widget with the title Label 1 and set the created label
114+
// as the dock widget content
115+
ads::CDockWidget* DockWidget = new ads::CDockWidget("Label 1");
116+
DockWidget->setWidget(l);
117+
118+
// Add the toggleViewAction of the dock widget to the menu to give
119+
// the user the possibility to show the dock widget if it has been closed
120+
ui->menuView->addAction(DockWidget->toggleViewAction());
121+
122+
// Add the dock widget to the top dock widget area
123+
m_DockManager->addDockWidget(ads::TopDockWidgetArea, DockWidget);
115124
}
116125

117126
MainWindow::~MainWindow()

ads.pro

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@ CONFIG += ordered
33

44
SUBDIRS = \
55
src \
6-
demo
6+
demo \
7+
example

demo/demo.pro

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ LIBS += -L$${ADS_OUT_ROOT}/lib
2525
# Dependency: AdvancedDockingSystem (shared)
2626
win32:CONFIG(release, debug|release): LIBS += -lqtadvanceddocking
2727
else:win32:CONFIG(debug, debug|release): LIBS += -lqtadvanceddockingd
28-
else:unix: LIBS += -lAdvancedDockingSystem
28+
else:unix: LIBS += -lqtadvanceddocking
2929

3030
INCLUDEPATH += ../src
3131
DEPENDPATH += ../src

example/MainWindow.cpp

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#include "MainWindow.h"
2+
#include "ui_MainWindow.h"
3+
4+
#include <QLabel>
5+
6+
MainWindow::MainWindow(QWidget *parent) :
7+
QMainWindow(parent),
8+
ui(new Ui::MainWindow)
9+
{
10+
ui->setupUi(this);
11+
12+
// Create the dock manager. Because the parent parameter is a QMainWindow
13+
// the dock manager registers itself as the central widget.
14+
m_DockManager = new ads::CDockManager(this);
15+
16+
// Create example content label - this can be any application specific
17+
// widget
18+
QLabel* l = new QLabel();
19+
l->setWordWrap(true);
20+
l->setAlignment(Qt::AlignTop | Qt::AlignLeft);
21+
l->setText("Lorem ipsum dolor sit amet, consectetuer adipiscing elit. ");
22+
23+
// Create a dock widget with the title Label 1 and set the created label
24+
// as the dock widget content
25+
ads::CDockWidget* DockWidget = new ads::CDockWidget("Label 1");
26+
DockWidget->setWidget(l);
27+
28+
// Add the toggleViewAction of the dock widget to the menu to give
29+
// the user the possibility to show the dock widget if it has been closed
30+
ui->menuView->addAction(DockWidget->toggleViewAction());
31+
32+
// Add the dock widget to the top dock widget area
33+
m_DockManager->addDockWidget(ads::TopDockWidgetArea, DockWidget);
34+
}
35+
36+
MainWindow::~MainWindow()
37+
{
38+
delete ui;
39+
}

example/MainWindow.h

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#ifndef MAINWINDOW_H
2+
#define MAINWINDOW_H
3+
4+
#include <QMainWindow>
5+
#include "DockManager.h"
6+
7+
namespace Ui {
8+
class MainWindow;
9+
}
10+
11+
class MainWindow : public QMainWindow
12+
{
13+
Q_OBJECT
14+
15+
public:
16+
explicit MainWindow(QWidget *parent = 0);
17+
~MainWindow();
18+
19+
private:
20+
Ui::MainWindow *ui;
21+
ads::CDockManager* m_DockManager;
22+
};
23+
24+
#endif // MAINWINDOW_H

example/MainWindow.ui

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<ui version="4.0">
3+
<class>MainWindow</class>
4+
<widget class="QMainWindow" name="MainWindow">
5+
<property name="geometry">
6+
<rect>
7+
<x>0</x>
8+
<y>0</y>
9+
<width>400</width>
10+
<height>300</height>
11+
</rect>
12+
</property>
13+
<property name="windowTitle">
14+
<string>MainWindow</string>
15+
</property>
16+
<widget class="QWidget" name="centralWidget"/>
17+
<widget class="QMenuBar" name="menuBar">
18+
<property name="geometry">
19+
<rect>
20+
<x>0</x>
21+
<y>0</y>
22+
<width>400</width>
23+
<height>21</height>
24+
</rect>
25+
</property>
26+
<widget class="QMenu" name="menuView">
27+
<property name="title">
28+
<string>View</string>
29+
</property>
30+
</widget>
31+
<addaction name="menuView"/>
32+
</widget>
33+
<widget class="QStatusBar" name="statusBar"/>
34+
</widget>
35+
<layoutdefault spacing="6" margin="11"/>
36+
<resources/>
37+
<connections/>
38+
</ui>

example/example.pro

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
#-------------------------------------------------
2+
#
3+
# Project created by QtCreator 2018-12-14T22:42:14
4+
#
5+
#-------------------------------------------------
6+
ADS_ROOT = $${PWD}/..
7+
ADS_OUT_ROOT = $${OUT_PWD}/..
8+
9+
QT += core gui widgets
10+
11+
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
12+
13+
TARGET = Example1
14+
DESTDIR = $${ADS_OUT_ROOT}/lib
15+
TEMPLATE = app
16+
CONFIG *= c++14
17+
18+
# The following define makes your compiler emit warnings if you use
19+
# any feature of Qt which has been marked as deprecated (the exact warnings
20+
# depend on your compiler). Please consult the documentation of the
21+
# deprecated API in order to know how to port your code away from it.
22+
DEFINES += QT_DEPRECATED_WARNINGS
23+
24+
# You can also make your code fail to compile if you use deprecated APIs.
25+
# In order to do so, uncomment the following line.
26+
# You can also select to disable deprecated APIs only up to a certain version of Qt.
27+
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
28+
29+
30+
SOURCES += \
31+
main.cpp \
32+
MainWindow.cpp
33+
34+
HEADERS += \
35+
MainWindow.h
36+
37+
FORMS += \
38+
MainWindow.ui
39+
40+
#RESOURCES += main.qrc
41+
42+
LIBS += -L$${ADS_OUT_ROOT}/lib
43+
44+
# Dependency: AdvancedDockingSystem (shared)
45+
win32:CONFIG(release, debug|release): LIBS += -lqtadvanceddocking
46+
else:win32:CONFIG(debug, debug|release): LIBS += -lqtadvanceddockingd
47+
else:unix: LIBS += -lqtadvanceddocking
48+
49+
INCLUDEPATH += ../src
50+
DEPENDPATH += ../src
51+

example/main.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#include "MainWindow.h"
2+
#include <QApplication>
3+
4+
int main(int argc, char *argv[])
5+
{
6+
QApplication a(argc, argv);
7+
MainWindow w;
8+
w.show();
9+
10+
return a.exec();
11+
}

0 commit comments

Comments
 (0)