Skip to content

Commit 07464ce

Browse files
Added new SidebarExample
1 parent 62ce9dc commit 07464ce

17 files changed

+349
-35
lines changed

.cproject

Lines changed: 55 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@
1414
</extensions>
1515
</storageModule>
1616
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
17-
<configuration artifactName="${ProjName}" buildProperties="" description="" id="cdt.managedbuild.toolchain.gnu.mingw.base.1119687795" name="Default" parent="org.eclipse.cdt.build.core.emptycfg">
17+
<configuration artifactName="${ProjName}" buildProperties="" description="" id="cdt.managedbuild.toolchain.gnu.mingw.base.1119687795" name="Default" optionalBuildProperties="" parent="org.eclipse.cdt.build.core.emptycfg">
1818
<folderInfo id="cdt.managedbuild.toolchain.gnu.mingw.base.1119687795.1949777584" name="/" resourcePath="">
1919
<toolChain id="cdt.managedbuild.toolchain.gnu.mingw.base.88699815" name="MinGW GCC" superClass="cdt.managedbuild.toolchain.gnu.mingw.base">
2020
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.PE" id="cdt.managedbuild.target.gnu.platform.mingw.base.519267520" name="Debug Platform" osList="win32" superClass="cdt.managedbuild.target.gnu.platform.mingw.base"/>
2121
<builder id="cdt.managedbuild.toolchain.gnu.mingw.base.1119687795.1200539104" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
2222
<tool id="cdt.managedbuild.tool.gnu.assembler.mingw.base.1438677059" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.mingw.base">
23-
<option id="gnu.both.asm.option.include.paths.403127333" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath">
23+
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.both.asm.option.include.paths.403127333" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath">
2424
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/QtAdvancedDockingSystem/demo}&quot;"/>
2525
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/QtAdvancedDockingSystem/src}&quot;"/>
2626
<listOptionValue builtIn="false" value="&quot;${QTDIR}/include&quot;"/>
@@ -31,7 +31,7 @@
3131
</tool>
3232
<tool id="cdt.managedbuild.tool.gnu.archiver.mingw.base.933824900" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.mingw.base"/>
3333
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.base.1947822681" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.base">
34-
<option id="gnu.cpp.compiler.option.include.paths.349616932" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
34+
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.cpp.compiler.option.include.paths.349616932" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
3535
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/QtAdvancedDockingSystem/src}&quot;"/>
3636
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/QtAdvancedDockingSystem/demo}&quot;"/>
3737
<listOptionValue builtIn="false" value="&quot;${QTDIR}/include&quot;"/>
@@ -42,7 +42,7 @@
4242
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1318830536" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
4343
</tool>
4444
<tool id="cdt.managedbuild.tool.gnu.c.compiler.mingw.base.389117097" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.mingw.base">
45-
<option id="gnu.c.compiler.option.include.paths.1871729602" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
45+
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.c.compiler.option.include.paths.1871729602" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
4646
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/QtAdvancedDockingSystem/demo}&quot;"/>
4747
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/QtAdvancedDockingSystem/src}&quot;"/>
4848
<listOptionValue builtIn="false" value="&quot;${QTDIR}/include&quot;"/>
@@ -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,7 +92,6 @@
8392
</target>
8493
<target name="Clean" path=" build" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
8594
<buildCommand>make</buildCommand>
86-
<buildArguments/>
8795
<buildTarget>clean</buildTarget>
8896
<stopOnError>false</stopOnError>
8997
<useDefaultCommand>true</useDefaultCommand>
@@ -122,6 +130,7 @@
122130
</target>
123131
<target name="Clean" path=" build/src" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
124132
<buildCommand>make</buildCommand>
133+
<buildArguments/>
125134
<buildTarget>clean</buildTarget>
126135
<stopOnError>false</stopOnError>
127136
<useDefaultCommand>true</useDefaultCommand>
@@ -160,7 +169,6 @@
160169
</target>
161170
<target name="Clean" path=" build/example" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
162171
<buildCommand>make</buildCommand>
163-
<buildArguments/>
164172
<buildTarget>clean</buildTarget>
165173
<stopOnError>false</stopOnError>
166174
<useDefaultCommand>true</useDefaultCommand>
@@ -177,7 +185,6 @@
177185
<target name="qmake" path=" build/example" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
178186
<buildCommand>qmake</buildCommand>
179187
<buildArguments>-recursive ../../example/example.pro</buildArguments>
180-
<buildTarget/>
181188
<stopOnError>true</stopOnError>
182189
<useDefaultCommand>false</useDefaultCommand>
183190
<runAllBuilders>false</runAllBuilders>
@@ -200,6 +207,7 @@
200207
</target>
201208
<target name="Clean" path=" build/demo" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
202209
<buildCommand>make</buildCommand>
210+
<buildArguments/>
203211
<buildTarget>clean</buildTarget>
204212
<stopOnError>false</stopOnError>
205213
<useDefaultCommand>true</useDefaultCommand>
@@ -228,6 +236,46 @@
228236
<useDefaultCommand>false</useDefaultCommand>
229237
<runAllBuilders>false</runAllBuilders>
230238
</target>
239+
<target name="Build all" path=" build/examples/sidebar" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
240+
<buildCommand>mingw32-make</buildCommand>
241+
<buildArguments>-j</buildArguments>
242+
<buildTarget>all</buildTarget>
243+
<stopOnError>false</stopOnError>
244+
<useDefaultCommand>false</useDefaultCommand>
245+
<runAllBuilders>false</runAllBuilders>
246+
</target>
247+
<target name="Clean" path=" build/examples/sidebar" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
248+
<buildCommand>make</buildCommand>
249+
<buildArguments/>
250+
<buildTarget>clean</buildTarget>
251+
<stopOnError>false</stopOnError>
252+
<useDefaultCommand>true</useDefaultCommand>
253+
<runAllBuilders>false</runAllBuilders>
254+
</target>
255+
<target name="Debug Build" path=" build/examples/sidebar" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
256+
<buildCommand>mingw32-make</buildCommand>
257+
<buildArguments>-j6</buildArguments>
258+
<buildTarget>debug</buildTarget>
259+
<stopOnError>false</stopOnError>
260+
<useDefaultCommand>false</useDefaultCommand>
261+
<runAllBuilders>false</runAllBuilders>
262+
</target>
263+
<target name="qmake" path=" build/examples/sidebar" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
264+
<buildCommand>qmake</buildCommand>
265+
<buildArguments>-recursive ../../../examples/sidebar/sidebar.pro</buildArguments>
266+
<buildTarget/>
267+
<stopOnError>true</stopOnError>
268+
<useDefaultCommand>false</useDefaultCommand>
269+
<runAllBuilders>false</runAllBuilders>
270+
</target>
271+
<target name="Release Build" path=" build/examples/sidebar" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
272+
<buildCommand>mingw32-make</buildCommand>
273+
<buildArguments>-j4</buildArguments>
274+
<buildTarget>release</buildTarget>
275+
<stopOnError>false</stopOnError>
276+
<useDefaultCommand>false</useDefaultCommand>
277+
<runAllBuilders>false</runAllBuilders>
278+
</target>
231279
<target name="Build all" path=" build/AdvancedDockingSystemDemo" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
232280
<buildCommand>mingw32-make</buildCommand>
233281
<buildArguments>-j</buildArguments>
@@ -238,7 +286,6 @@
238286
</target>
239287
<target name="Clean" path=" build/AdvancedDockingSystemDemo" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
240288
<buildCommand>make</buildCommand>
241-
<buildArguments/>
242289
<buildTarget>clean</buildTarget>
243290
<stopOnError>false</stopOnError>
244291
<useDefaultCommand>true</useDefaultCommand>
@@ -277,7 +324,6 @@
277324
</target>
278325
<target name="Clean" path=" build/AdvancedDockingSystemDemo_v2" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
279326
<buildCommand>make</buildCommand>
280-
<buildArguments/>
281327
<buildTarget>clean</buildTarget>
282328
<stopOnError>false</stopOnError>
283329
<useDefaultCommand>true</useDefaultCommand>
@@ -316,7 +362,6 @@
316362
</target>
317363
<target name="Clean" path=" build/AdvancedDockingSystem" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
318364
<buildCommand>make</buildCommand>
319-
<buildArguments/>
320365
<buildTarget>clean</buildTarget>
321366
<stopOnError>false</stopOnError>
322367
<useDefaultCommand>true</useDefaultCommand>
@@ -347,13 +392,4 @@
347392
</target>
348393
</buildTargets>
349394
</storageModule>
350-
<storageModule moduleId="scannerConfiguration">
351-
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
352-
<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">
353-
<autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"/>
354-
</scannerConfigBuildInfo>
355-
<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">
356-
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
357-
</scannerConfigBuildInfo>
358-
</storageModule>
359395
</cproject>

CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,8 @@ set_target_properties(qtadvanceddocking PROPERTIES
123123
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${ads_PlatformDir}/bin"
124124
)
125125
if(BUILD_EXAMPLES)
126-
add_subdirectory(example)
126+
add_subdirectory(examples/simple)
127+
add_subdirectory(examples/sidebar)
127128
add_subdirectory(demo)
128129
endif()
129130

ads.pro

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ TEMPLATE = subdirs
33
SUBDIRS = \
44
src \
55
demo \
6-
example
6+
examples
77

88
demo.depends = src
9-
example.depends = src
9+
examples.depends = src

examples/examples.pro

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
TEMPLATE = subdirs
2+
3+
SUBDIRS = \
4+
simple \
5+
sidebar

examples/sidebar/CMakeLists.txt

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
cmake_minimum_required(VERSION 3.3)
2+
set (CMAKE_CXX_STANDARD 14)
3+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
4+
set(CMAKE_CXX_EXTENSIONS OFF)
5+
set(CMAKE_AUTOMOC ON)
6+
set(CMAKE_AUTOUIC ON)
7+
project(ads_example VERSION "1.0")
8+
set(REQUIRED_QT_VERSION 5.5.0)
9+
find_package(Qt5Core ${REQUIRED_QT_VERSION} REQUIRED)
10+
find_package(Qt5Gui ${REQUIRED_QT_VERSION} REQUIRED)
11+
find_package(Qt5Widgets ${REQUIRED_QT_VERSION} REQUIRED)
12+
set(ads_example_LIBS ${ads_example_LIBS} ${Qt5Core_LIBRARIES})
13+
set(ads_example_INCLUDE ${ads_example_INCLUDE} ${Qt5Core_INCLUDE_DIRS})
14+
set(ads_example_COMPILE_DEFINE ${ads_example_COMPILE_DEFINE} ${Qt5Core_COMPILE_DEFINITIONS} )
15+
set(ads_example_LIBS ${ads_example_LIBS} ${Qt5Gui_LIBRARIES})
16+
set(ads_example_INCLUDE ${ads_example_INCLUDE} ${Qt5Gui_INCLUDE_DIRS})
17+
set(ads_example_COMPILE_DEFINE ${ads_example_COMPILE_DEFINE} ${Qt5Gui_COMPILE_DEFINITIONS})
18+
set(ads_example_LIBS ${ads_example_LIBS} ${Qt5Widgets_LIBRARIES})
19+
set(ads_example_INCLUDE ${ads_example_INCLUDE} ${Qt5Widgets_INCLUDE_DIRS})
20+
set(ads_example_COMPILE_DEFINE ${ads_example_COMPILE_DEFINE} ${Qt5Widgets_COMPILE_DEFINITIONS})
21+
set(CMAKE_INCLUDE_CURRENT_DIR ON)
22+
set(ads_example_SRCS
23+
main.cpp
24+
MainWindow.cpp
25+
MainWindow.ui
26+
)
27+
add_executable(SidebarExample WIN32 ${ads_example_SRCS})
28+
if(BUILD_STATIC)
29+
set(ads_example_DEFINE ${ads_example_DEFINE} ADS_STATIC)
30+
endif()
31+
add_dependencies(SidebarExample qtadvanceddocking)
32+
target_include_directories(SidebarExample PUBLIC
33+
$<BUILD_INTERFACE:${ads_example_INCLUDE}>
34+
$<INSTALL_INTERFACE:include>
35+
)
36+
target_include_directories(SidebarExample PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/../../src" ${ads_example_INCLUDE})
37+
target_link_libraries(SidebarExample PRIVATE qtadvanceddocking ${ads_example_LIBS})
38+
target_compile_definitions(SidebarExample PRIVATE ${ads_example_DEFINE})
39+
set_target_properties(SidebarExample PROPERTIES
40+
VERSION "1.0"
41+
SOVERSION 1
42+
EXPORT_NAME "Qt Advanced Docking System Example"
43+
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${ads_PlatformDir}/lib"
44+
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${ads_PlatformDir}/lib"
45+
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${ads_PlatformDir}/bin"
46+
)

examples/sidebar/MainWindow.cpp

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

examples/sidebar/MainWindow.h

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
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+
12+
/**
13+
* This example shows, how to place a dock widget container and a static
14+
* sidebar into a QMainWindow
15+
*/
16+
class MainWindow : public QMainWindow
17+
{
18+
Q_OBJECT
19+
20+
public:
21+
explicit MainWindow(QWidget *parent = 0);
22+
~MainWindow();
23+
24+
private:
25+
Ui::MainWindow *ui;
26+
ads::CDockManager* m_DockManager;
27+
};
28+
29+
#endif // MAINWINDOW_H

0 commit comments

Comments
 (0)