Commit Graph

137 Commits

Author SHA1 Message Date
Walter Bormans
e66ef604a7
Removes reliance on special Qt keywords. (#295)
This allows Qt Advanced Docking system to be compiled with the QT_NO_KEYWORDS definition.
This can help avoid conflicts with other dependancies for a project.

Co-authored-by: Walter Bormans <walter.bormans@paradoxcat.com>
2021-01-15 09:08:27 +01:00
Christian Seiler
0e3c3bab45
DockManager: add the ability to programmatically update splitter sizes (#266)
Add the ability to programmatically update splitter sizes. The user must
specify the dock area that is contained in a splitter and a list of
sizes. The list of sizes will be passed to the splitter that immediately
contains the specified dock area. If the dock area is not part of a
splitter the method will have no effect.

Co-authored-by: Christian Seiler <c.seiler@luxflux.de>
2020-10-23 20:59:50 +02:00
Uwe Kindler
c370875128 Properly implemented save and restore with central widget 2020-09-21 10:51:02 +02:00
Uwe Kindler
f645fe725a Added dockWidgetAdded signal to CDockManager 2020-09-18 08:25:47 +02:00
Uwe Kindler
fdedd7d92a Added focusedDockWidget() function to DockManager 2020-09-07 08:17:07 +02:00
Uwe Kindler
059a055483 Renamed FloatingContainerForceCustomTitleBar to
FloatingWidgetForceQWidgetTitleBar
2020-08-31 09:48:32 +02:00
helywin
533d174abc Finished implementing maximize for linux.
Added FloatingContainerForc*TitleBar to switch between native and custom titlebar.

Co-authored-by: SleepProgger <SleepProgger@users.noreply.github.com>
2020-08-29 05:03:21 +02:00
Uwe Kindler
835a532e75 Corrected constness of some functions, changed signatur of setCentralWidget function 2020-08-24 10:22:12 +02:00
hulswit
14c29f695c Central widget update
Updated the setting of central widget with option to set where the possible old central widget will be placed. Fixed option of "unsetting" central widget by setting it to nullptr.
2020-08-21 13:30:59 +02:00
hulswit
1a11e5ddcd Central Widget concept added
Adde option to set a dock widget as central widget. It influences resizing behavior of the splitters. The central widget will be stretched with the main window and remaing dock widgets and threir respective areas will be resized only vertically if docked left or right  and horizontaly if docked top or bottom
2020-08-20 16:36:02 +02:00
Uwe Kindler
c78cc17730 Properly persist dock area HideSingleWidgetTitleBar flag (and all other dock area flags) 2020-08-18 10:48:35 +02:00
Nicolas Elie
75841415a3
Update Python bindings (#231)
* Update Python bindings to reflect changes in 8443414

* [Python] Fix no such signal error for signals with a reference to an object in ads namespace

* [Python] Update examples
2020-07-30 13:44:05 +02:00
Uwe Kindler
ffed6a9c5f Merged pull request #201 but made it configurable via config flag 2020-06-14 10:39:07 +02:00
Uwe Kindler
e71884b23d Replaced configFlags().testFlag() with testConfigFlag() to improve code readibility 2020-06-11 08:06:37 +02:00
Uwe Kindler
312a8cf500 Enabled ClickFocus for CDockWidget to support focussing in case the content does not support it
Renamed FocusStyling to FocusHighlighting
2020-06-06 14:59:03 +02:00
Uwe Kindler
f5c4b26aab Moved focus related functionality into CDockFocusController class to keep the dock manager code clean 2020-06-05 20:42:43 +02:00
Uwe Kindler
f90f0b0427 Properly implemented focusedDockWidgetChanged() signal 2020-06-05 12:14:26 +02:00
Uwe Kindler
a65b1bdcaf Removed new dropped signals 2020-06-05 07:27:44 +02:00
Uwe Kindler
4041aa72cc Implemented proper support for setting floating widget focused widget 2020-06-05 06:55:43 +02:00
Uwe Kindler
45390506dd Continued implementation 2020-06-04 20:40:23 +02:00
Uwe Kindler
a3e979a8ad Disabled setFocus in CDockWidget::setActiveTab 2020-06-03 19:49:57 +02:00
Uwe Kindler
adb72737e8 Merge branch 'version_fix' into focused_dockwidget 2020-06-03 17:53:05 +02:00
Uwe Kindler
8b6df4aaa5 Fixed saveState() and restoreState() version handling to work like the function from QMainWindow 2020-06-03 07:25:09 +02:00
Uwe Kindler
ae999f132e Improved focus styling 2020-05-23 14:45:49 +02:00
Uwe Kindler
5652c8440e Added new CDockManger config flag FocusStyling 2020-05-23 11:10:03 +02:00
Uwe Kindler
79cb889d83 Improved focus style handling 2020-05-17 08:51:58 +02:00
Uwe Kindler
c5333a2414 Merge branch 'master' into focused_dockwidget 2020-05-14 07:34:31 +02:00
Uwe Kindler
7c03b1b936 Fixed gcc compiler warning caused by supefluous extra semi-colon by all QT_FORWARD_DECLARE_CLASS statements 2020-05-14 07:27:48 +02:00
Patrick Stewart
04ca4ae674
Support for Qt built with the -qtnamespace configure option (#170) 2020-05-13 23:26:05 +02:00
Uwe Kindler
3a0c2a3113 Some refactorings in onFocusChanged() to improve code readibility 2020-05-13 22:51:44 +02:00
Uwe Kindler
4c75168152 Improved focus setting when closing a dock area widget 2020-05-13 13:18:05 +02:00
Uwe Kindler
056e1ef947 Improved highlighting focused dock widget 2020-05-13 11:17:43 +02:00
Uwe Kindler
067338ef23 Enable styling of focused dockwidget 2020-05-10 19:30:34 +02:00
Uwe Kindler
a4fbaf413b Fixed source documentation of DockAreaDynamicTabsMenuButtonVisibility flag 2020-04-24 09:31:13 +02:00
Uwe Kindler
ddbdb83821 Added documentation for DockAreaHideDisabledButtons flag 2020-04-22 12:03:58 +02:00
Uwe Kindler
a668fe2f73 Added new config flag HideSingleCentralWidgetTitleBar to enble a central single dock widget in the main dock container (dock manager) without titlebar
Added a test case for the new flag to MainWindow.cpp
2020-04-12 01:05:20 +02:00
Uwe Kindler
542618fd4e Removed unneeded includes from DockManager.h and fixed includes to use "" instead of <> to prvent conflicts with external libraries 2020-03-26 06:53:13 +01:00
Uwe Kindler
708add3ff5 Fixed two linter warnings in CDockManager 2020-03-12 08:01:57 +01:00
Uwe Kindler
f3c5d51380 Improved documentation for setting dock manager flags 2020-02-26 13:25:17 +01:00
Sanakan8472
3428a4b8b4
Added CDockManager::floatingWidgetCreated event (#121)
This allows to subscribe to events of the newly created window.
A common use case is to show a message box if a dock container with many modified documents in it is closed. This allows for the user to decide whether he wants to save / discard all the changes or cancel the closing of the window.
2020-02-17 08:15:11 +01:00
Uwe Kindler
f387c6aebc Merge branch 'master' of https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System 2020-02-13 13:51:11 +01:00
Uwe Kindler
ff1439c719 Added CDockComponentsFactory for creation of components for the docking framework 2020-02-11 08:32:49 +01:00
mvidelgauz
7ba20f37b7
Icon of floating window (#116)
* FloatingContainerHasWidgetTitle and FloatingContainerHasWidgetIcon config flags
2020-02-10 20:07:36 +01:00
Uwe Kindler
8a16230213 Merge branch 'master' of https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System 2020-02-07 22:54:02 +01:00
Rodrigo Oliva
2770837adc
Added missing overrides. (#113) 2020-02-07 14:41:35 +01:00
Uwe Kindler
b61f50982a Moved title bar dragging code from DockAreaTabBar into DockAreaTitleBar 2020-02-07 12:16:26 +01:00
mvidelgauz
474dd13855
Disable tabs menu button when only single tab exists in a Dock area (#111) 2020-02-06 15:21:19 +01:00
Uwe Kindler
505f14a601 Improved code for generation of default configuration flags 2020-02-05 08:16:07 +01:00
mvidelgauz
b8ed70fa33
Added DockAreaHideDisabledButtons configuration flag (#110)
* CInvisibleButton generalized to CTitleBarButton to serve more purposes
* Disabled buttons are hidden if CDockManager::DockAreaHideDisabledButtons set to true
2020-02-05 08:04:27 +01:00
mvidelgauz
1d68e27558
Added DockAreaHasTabsMenuButton and DockAreaHasUndockButton to CDockManager config (#108)
* Added DockAreaHasUndockButton and DockAreaHasTabsMenuButton configuration flag
2020-02-02 16:22:05 +01:00
Uwe Kindler
4f62794946 Added documentation for new AlwaysShowTabs flag 2020-01-31 14:36:05 +01:00
Rodrigo Oliva
dd06d84206
Add option to always show all tabs (#102)
* Add option to always show tabs.

* Disable "Detach" context menu option in tab if there is only one tab in the floating container.
2020-01-31 14:27:01 +01:00
Uwe Kindler
e085a29484 Renamed FloatingOverlay into FloatingDragPreview to match naming of global DockManager flags (like DragPreviewHasWindowFrame..) 2019-12-16 11:18:22 +01:00
Uwe Kindler
05f8ce15a2 Added support for dock widget feature DockWidgetDeleteOnClose, added toolbar action for creation of dynamic editors to demo appication, added new material design icons to improve demo gui 2019-12-10 14:44:44 +01:00
Uwe Kindler
d3ad17d2c6 Added support for file version handling for dock state files, added support for reading version 0 state file with wrong orientation character 2019-11-29 15:56:57 +01:00
Uwe Kindler
2fe542c3ef Improved transparent docking 2019-11-28 09:09:36 +01:00
Uwe Kindler
8ea7c265a7 Fixed emission of top level changed signal to properly support transparent docking 2019-11-27 15:50:18 +01:00
Uwe Kindler
e15af4101a Added initial support for transparent undocking 2019-11-26 14:40:56 +01:00
Uwe Kindler
aee9fb1c95 Added dock manager function addDockWidgetFloating to add initial floating dock widgets 2019-11-25 15:28:15 +01:00
Uwe Kindler
b353c210ee Added dockAreaCreated signal that is emitted whenever a new dock area is created - this allows an application to set custom icons and tooltips for the title bar buttons 2019-11-22 21:53:17 +01:00
Uwe Kindler
3ff154aff1 Added global static icon provider to enable registration of custom icons 2019-10-18 08:31:26 +02:00
Uwe Kindler
0c5ef5e158 Added support for new configuration flag RetainTabSizeWhenCloseButtonHidden 2019-09-13 14:19:43 +02:00
Uwe Kindler
bed99eacc2 DockManager configFlags functions are now static because the configuration flags are global, added support for QToolButton as tab close button 2019-09-12 21:15:35 +02:00
Uwe Kindler
dae677e479 Added support for QToolButton tab close buttons 2019-09-10 09:23:12 +02:00
Uwe Kindler
a05078c947 Added information about resetting the styleheet of the dock manager 2019-09-09 16:01:51 +02:00
Uwe Kindler
c8d4487a95 Improved source code documentation, removed empty main.qrc to silence qmake warning 2019-08-26 07:58:56 +02:00
Uwe Kindler
c45327aafd Removed enum eXmlMode and added XmlAutoFormatting flag anc XmlCompressionEnabled flag to eConfigFlags. Added support for XML compression for the XML generated by the store function. If enabled then XML the generated XML is not human readable anymore but it needs less space when storing into settings file 2019-06-26 14:57:14 +02:00
Tibo Clausen
641946bff5 Add CDockManager::removeDockWidget() 2019-05-15 13:47:58 +01:00
Uwe Kindler
80efed693e Removed unused DockStateSerialization files, added support for opaque splitter resizing 2018-12-11 15:19:59 +01:00
Uwe Kindler
87e3777e37 Fixed hiding and showing of close button for tab group, added support for removing perspectives 2018-12-02 12:09:31 +01:00
Uwe Kindler
854f542164 Added global config flags to support different dock manager behaviour 2018-11-08 12:57:25 +01:00
Uwe Kindler
74b9d35c7b Fixed start drag distance to be based on QApplication::startDragDistance, fixed dragging of dock widget title bar to support dragging in x and y direction 2018-11-05 09:58:46 +01:00
Uwe Kindler
272bbe275e Started implementing DockAreaTabBar to improve code, encapsulation and performance 2018-10-10 15:15:59 +02:00
Uwe Kindler
496aec211e Added new signals restoringState(), stateRestored(), openingPerspective(), perspectiveOpened(), improved restore state function to protect against multiple calls and to prevent show() events for all CDockWidgets and content if the widgets are removed from internal stack layout 2018-09-27 16:21:14 +02:00
Uwe Kindler
b9b72df9d4 Fixed some bugs that caused problems when calling toggleView() with the same state, some refactorings to improve code 2018-09-26 09:57:36 +02:00
Uwe Kindler
b93e723a83 Fixed problem in FloatingDockContainer.cpp that caused problem when dragging a maximized window, added support for sorted insertion of toggleView actions into vieMenu 2018-09-13 22:19:13 +02:00
Uwe Kindler
67199a81f4 Fixed docking into empty main dock container, fixed tab handling to properly show the right dock widget tab when removing a dock widget, fixed tab menu to only show visible tabs, tab menu is now dynamically created just befor menu is shown 2018-09-07 11:10:14 +02:00
Uwe Kindler
72ee4a53df Improved documentation, made a lot of member functions protected to make it clearer which functions the user is allowed to use, the CDockWidget constructor now sets the objectName() to the given title, so there is no need to call setObjectName() explicitely if the title is static and unique 2018-08-29 08:47:05 +02:00
Uwe Kindler
6b93ae9c39 Some refactoring to improve code clarity, renamed DockWidgetTitleBar into DockWidgetTab because in the GUI it is a tab, created new class CDockAreaTabBar for the tabbar of a dock area 2018-08-24 13:41:58 +02:00
Opostol
7b4a19b943
DockManager stateChanged signal introduced(part1)
Can be helpful to reconnect to area signals
2018-08-10 15:11:57 +03:00
Uwe Kindler
f823b67a4a Added support for export of shared library functions to support MSVC builds 2018-07-17 15:11:49 +02:00
Daniel Collin
75ad302d21 Compile and warning fixes for macOS
Number of warnings like this has been fixed

DockWidget.h:62:9: warning: class 'DockContainerWidgetPrivate' was previously declared as a struct [-Wmismatched-tags]

Also in ads_globals.cpp Clang didn’t like how that code setup so I changed it to what I think is the correct way. This would be good to get verified.
2018-05-06 12:45:46 +02:00
Uwe Kindler
8a401ebd68 Fixed a bug in restore functionality that caused application crash, added initial support for perspectives 2018-02-13 12:00:58 +01:00
Uwe Kindler
52c23dafd5 Changed license to LGPL v2.1 2017-06-09 22:04:02 +02:00
Uwe Kindler
1b1c636107 Improved serialization support 2017-03-27 10:41:27 +02:00
Uwe Kindler
1cd1e7d6ec Started implementing serialization and deserialization 2017-03-23 15:57:15 +01:00
Uwe Kindler
97571e4be8 Refactoring of project structure 2017-03-12 21:41:50 +01:00