mirror of
https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System.git
synced 2024-12-25 07:31:33 +08:00
Fixed svg icon
This commit is contained in:
parent
66795f2b12
commit
50652b05b0
@ -10,7 +10,7 @@
|
|||||||
version="1.1"
|
version="1.1"
|
||||||
viewBox="0,0,1024,1024"
|
viewBox="0,0,1024,1024"
|
||||||
id="svg1145"
|
id="svg1145"
|
||||||
sodipodi:docname="ads_iccon.svg"
|
sodipodi:docname="ads_icon.svg"
|
||||||
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
|
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
|
||||||
inkscape:export-filename="C:\CodingXP\cetoni_projects\QtAdvancedDockingSystem\doc\ads_icon_256.png"
|
inkscape:export-filename="C:\CodingXP\cetoni_projects\QtAdvancedDockingSystem\doc\ads_icon_256.png"
|
||||||
inkscape:export-xdpi="24"
|
inkscape:export-xdpi="24"
|
||||||
@ -23,7 +23,7 @@
|
|||||||
<dc:format>image/svg+xml</dc:format>
|
<dc:format>image/svg+xml</dc:format>
|
||||||
<dc:type
|
<dc:type
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
<dc:title></dc:title>
|
<dc:title />
|
||||||
</cc:Work>
|
</cc:Work>
|
||||||
</rdf:RDF>
|
</rdf:RDF>
|
||||||
</metadata>
|
</metadata>
|
||||||
@ -42,9 +42,9 @@
|
|||||||
inkscape:window-height="1017"
|
inkscape:window-height="1017"
|
||||||
id="namedview1147"
|
id="namedview1147"
|
||||||
showgrid="false"
|
showgrid="false"
|
||||||
inkscape:zoom="0.11523437"
|
inkscape:zoom="0.32593202"
|
||||||
inkscape:cx="409.67791"
|
inkscape:cx="256.13402"
|
||||||
inkscape:cy="-249.5888"
|
inkscape:cy="235.82602"
|
||||||
inkscape:window-x="1912"
|
inkscape:window-x="1912"
|
||||||
inkscape:window-y="-8"
|
inkscape:window-y="-8"
|
||||||
inkscape:window-maximized="1"
|
inkscape:window-maximized="1"
|
||||||
@ -54,9 +54,9 @@
|
|||||||
<path
|
<path
|
||||||
id="path1797-1"
|
id="path1797-1"
|
||||||
visibility="hidden"
|
visibility="hidden"
|
||||||
d="M 72.6743,291.42858 H 951.3257 L 952,292.10286 v 586.07998 l -0.6743,0.67429 H 72.6743 L 72,878.18284 V 292.10286 Z"
|
d="M 71.53142,291.89723 H 950.1828 l 0.6743,0.6742 v 586.08 l -0.6743,0.6743 H 71.53142 l -0.6743,-0.6743 v -586.08 z"
|
||||||
inkscape:connector-curvature="0"
|
inkscape:connector-curvature="0"
|
||||||
style="visibility:hidden;mix-blend-mode:normal;fill:#ffffff;fill-rule:nonzero;stroke-width:0.99999988" />
|
style="visibility:hidden;mix-blend-mode:normal;fill:#ffffff;fill-rule:nonzero;stroke-width:0.99999988;fill-opacity:1" />
|
||||||
<rect
|
<rect
|
||||||
transform="rotate(-90)"
|
transform="rotate(-90)"
|
||||||
y="412.13489"
|
y="412.13489"
|
||||||
|
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 5.3 KiB |
@ -1,4 +1,5 @@
|
|||||||
# Advanced Docking System for Qt
|
# Advanced Docking System for Qt
|
||||||
|
|
||||||
Qt Advanced Docking System lets you create customizable layouts using a full
|
Qt Advanced Docking System lets you create customizable layouts using a full
|
||||||
featured window docking system similar to what is found in many popular
|
featured window docking system similar to what is found in many popular
|
||||||
integrated development environments (IDEs) such as Visual Studio.
|
integrated development environments (IDEs) such as Visual Studio.
|
||||||
@ -10,7 +11,9 @@ platform specific code. Basic usage of QWidgets and QLayouts and using basic
|
|||||||
styles as much as possible.
|
styles as much as possible.
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
### Overview
|
### Overview
|
||||||
|
|
||||||
- [Advanced Docking System for Qt](#advanced-docking-system-for-qt)
|
- [Advanced Docking System for Qt](#advanced-docking-system-for-qt)
|
||||||
- [Features](#features)
|
- [Features](#features)
|
||||||
- [Overview](#overview)
|
- [Overview](#overview)
|
||||||
@ -25,6 +28,7 @@ styles as much as possible.
|
|||||||
- [Supports deletion of dynamically created dock widgets](#supports-deletion-of-dynamically-created-dock-widgets)
|
- [Supports deletion of dynamically created dock widgets](#supports-deletion-of-dynamically-created-dock-widgets)
|
||||||
|
|
||||||
### Docking everywhere - no central widget
|
### Docking everywhere - no central widget
|
||||||
|
|
||||||
There is no central widget like in the Qt docking system. You can dock on every
|
There is no central widget like in the Qt docking system. You can dock on every
|
||||||
border of the main window or you can dock into each dock area - so you are
|
border of the main window or you can dock into each dock area - so you are
|
||||||
free to dock almost everywhere.
|
free to dock almost everywhere.
|
||||||
@ -34,6 +38,7 @@ free to dock almost everywhere.
|
|||||||
![Dropping widgets](https://raw.githubusercontent.com/githubuser0xFFFF/Qt-Advanced-Docking-System/master/doc/preview-dragndrop_dark.png)
|
![Dropping widgets](https://raw.githubusercontent.com/githubuser0xFFFF/Qt-Advanced-Docking-System/master/doc/preview-dragndrop_dark.png)
|
||||||
|
|
||||||
### Docking inside floating windows
|
### Docking inside floating windows
|
||||||
|
|
||||||
There is no difference between the main window and a floating window. Docking
|
There is no difference between the main window and a floating window. Docking
|
||||||
into floating windows is supported.
|
into floating windows is supported.
|
||||||
|
|
||||||
@ -42,6 +47,7 @@ into floating windows is supported.
|
|||||||
![Docking inside floating windows](https://raw.githubusercontent.com/githubuser0xFFFF/Qt-Advanced-Docking-System/master/doc/floating-widget-dragndrop_dark.png)
|
![Docking inside floating windows](https://raw.githubusercontent.com/githubuser0xFFFF/Qt-Advanced-Docking-System/master/doc/floating-widget-dragndrop_dark.png)
|
||||||
|
|
||||||
### Grouped dragging
|
### Grouped dragging
|
||||||
|
|
||||||
When dragging the titlebar of a dock, all the tabs that are tabbed with it are
|
When dragging the titlebar of a dock, all the tabs that are tabbed with it are
|
||||||
going to be dragged. So you can move complete groups of tabbed widgets into
|
going to be dragged. So you can move complete groups of tabbed widgets into
|
||||||
a floating widget or from one dock area to another one.
|
a floating widget or from one dock area to another one.
|
||||||
@ -51,6 +57,7 @@ a floating widget or from one dock area to another one.
|
|||||||
![Grouped dragging](https://raw.githubusercontent.com/githubuser0xFFFF/Qt-Advanced-Docking-System/master/doc/grouped-dragging_dark.png)
|
![Grouped dragging](https://raw.githubusercontent.com/githubuser0xFFFF/Qt-Advanced-Docking-System/master/doc/grouped-dragging_dark.png)
|
||||||
|
|
||||||
### Perspectives for fast switching of the complete main window layout
|
### Perspectives for fast switching of the complete main window layout
|
||||||
|
|
||||||
A perspective defines the set and layout of dock windows in the main
|
A perspective defines the set and layout of dock windows in the main
|
||||||
window. You can save the current layout of the dockmanager into a named
|
window. You can save the current layout of the dockmanager into a named
|
||||||
perspective to make your own custom perspective. Later you can simply
|
perspective to make your own custom perspective. Later you can simply
|
||||||
@ -62,6 +69,7 @@ main window layout.
|
|||||||
![Perspective](https://raw.githubusercontent.com/githubuser0xFFFF/Qt-Advanced-Docking-System/master/doc/perspectives_dark.png)
|
![Perspective](https://raw.githubusercontent.com/githubuser0xFFFF/Qt-Advanced-Docking-System/master/doc/perspectives_dark.png)
|
||||||
|
|
||||||
### Opaque and non-opaque splitter resizing
|
### Opaque and non-opaque splitter resizing
|
||||||
|
|
||||||
The advanced docking system uses standard QSplitters as resize separators and thus supports opaque and non-opaque resizing functionality of QSplitter. In some rare cases, for very complex widgets or on slow machines resizing via separator on the fly may cause flicking and glaring of rendered content inside a widget. The global dock manager flag `OpaqueSplitterResize` configures the resizing behaviour of the splitters. If this flag is set, then widgets are resized dynamically (opaquely) while interactively moving the splitters.
|
The advanced docking system uses standard QSplitters as resize separators and thus supports opaque and non-opaque resizing functionality of QSplitter. In some rare cases, for very complex widgets or on slow machines resizing via separator on the fly may cause flicking and glaring of rendered content inside a widget. The global dock manager flag `OpaqueSplitterResize` configures the resizing behaviour of the splitters. If this flag is set, then widgets are resized dynamically (opaquely) while interactively moving the splitters.
|
||||||
|
|
||||||
![Opaque resizing](https://raw.githubusercontent.com/githubuser0xFFFF/Qt-Advanced-Docking-System/master/doc/opaque_resizing.gif)
|
![Opaque resizing](https://raw.githubusercontent.com/githubuser0xFFFF/Qt-Advanced-Docking-System/master/doc/opaque_resizing.gif)
|
||||||
@ -71,9 +79,11 @@ If this flag is cleared, the widget resizing is deferred until the mouse button
|
|||||||
![Non-opaque resizing](https://raw.githubusercontent.com/githubuser0xFFFF/Qt-Advanced-Docking-System/master/doc/non_opaque_resizing.gif)
|
![Non-opaque resizing](https://raw.githubusercontent.com/githubuser0xFFFF/Qt-Advanced-Docking-System/master/doc/non_opaque_resizing.gif)
|
||||||
|
|
||||||
### Opaque and non-opaque undocking
|
### Opaque and non-opaque undocking
|
||||||
|
|
||||||
By default, opaque undocking is active. That means, as soon as you drag a dock widget or a dock area with a number of dock widgets it will be undocked and moved into a floating widget and then the floating widget will be dragged around. That means undocking will take place immediatelly. You can compare this with opaque splitter resizing. If the flag `OpaqueUndocking` is cleared, then non-opaque undocking is active. In this mode, undocking is more like a standard drag and drop operation. That means, the dragged dock widget or dock area is not undocked immediatelly. Instead, a drag preview widget is created and dragged around to indicate the future position of the dock widget or dock area. The actual dock operation is only executed when the mouse button is released. That makes it possible, to cancel an active drag operation with the escape key.
|
By default, opaque undocking is active. That means, as soon as you drag a dock widget or a dock area with a number of dock widgets it will be undocked and moved into a floating widget and then the floating widget will be dragged around. That means undocking will take place immediatelly. You can compare this with opaque splitter resizing. If the flag `OpaqueUndocking` is cleared, then non-opaque undocking is active. In this mode, undocking is more like a standard drag and drop operation. That means, the dragged dock widget or dock area is not undocked immediatelly. Instead, a drag preview widget is created and dragged around to indicate the future position of the dock widget or dock area. The actual dock operation is only executed when the mouse button is released. That makes it possible, to cancel an active drag operation with the escape key.
|
||||||
|
|
||||||
The drag preview widget can be configured by a number of global dock manager flags:
|
The drag preview widget can be configured by a number of global dock manager flags:
|
||||||
|
|
||||||
- `DragPreviewIsDynamic`: if this flag is enabled, the preview will be adjusted dynamically to the drop area
|
- `DragPreviewIsDynamic`: if this flag is enabled, the preview will be adjusted dynamically to the drop area
|
||||||
- `DragPreviewShowsContentPixmap`: the created drag preview window shows a static copy of the content of the dock widget / dock are that is dragged
|
- `DragPreviewShowsContentPixmap`: the created drag preview window shows a static copy of the content of the dock widget / dock are that is dragged
|
||||||
- `DragPreviewHasWindowFrame`: this flag configures if the drag preview is frameless like a QRubberBand or looks like a real window
|
- `DragPreviewHasWindowFrame`: this flag configures if the drag preview is frameless like a QRubberBand or looks like a real window
|
||||||
@ -81,15 +91,19 @@ The drag preview widget can be configured by a number of global dock manager fla
|
|||||||
The best way to test non-opaque undocking is to set the standard flags: `CDockManager::setConfigFlags(CDockManager::DefaultNonOpaqueConfig)`.
|
The best way to test non-opaque undocking is to set the standard flags: `CDockManager::setConfigFlags(CDockManager::DefaultNonOpaqueConfig)`.
|
||||||
|
|
||||||
### Tab-menu for easy handling of many tabbed dock widgets
|
### Tab-menu for easy handling of many tabbed dock widgets
|
||||||
|
|
||||||
Tabs are a good way to quickly switch between dockwidgets in a dockarea. However, if the number of dockwidgets in a dockarea is too large, this may affect the usability of the tab bar. To keep track in this situation, you can use the tab menu. The menu allows you to quickly select the dockwidget you want to activate from a drop down menu.
|
Tabs are a good way to quickly switch between dockwidgets in a dockarea. However, if the number of dockwidgets in a dockarea is too large, this may affect the usability of the tab bar. To keep track in this situation, you can use the tab menu. The menu allows you to quickly select the dockwidget you want to activate from a drop down menu.
|
||||||
|
|
||||||
![Tab menu](https://raw.githubusercontent.com/githubuser0xFFFF/Qt-Advanced-Docking-System/master/doc/tab_menu.gif)
|
![Tab menu](https://raw.githubusercontent.com/githubuser0xFFFF/Qt-Advanced-Docking-System/master/doc/tab_menu.gif)
|
||||||
|
|
||||||
### Many different ways to detach dock widgets
|
### Many different ways to detach dock widgets
|
||||||
|
|
||||||
You can detach dock widgets and also dock areas in the following ways:
|
You can detach dock widgets and also dock areas in the following ways:
|
||||||
|
|
||||||
- by dragging the dock widget tab or the dock area title bar
|
- by dragging the dock widget tab or the dock area title bar
|
||||||
- by double clicking the tab or title bar
|
- by double clicking the tab or title bar
|
||||||
- by using the detach menu entry from the tab and title bar drop down menu
|
- by using the detach menu entry from the tab and title bar drop down menu
|
||||||
|
|
||||||
### Supports deletion of dynamically created dock widgets
|
### Supports deletion of dynamically created dock widgets
|
||||||
|
|
||||||
Normally clicking the close button of a dock widget will just hide the widget and the user can show it again using the toggleView() action of the dock widget. This is meant for user interfaces with a static amount of widgets. But the advanced docking system also supports dynamic dock widgets that will get deleted on close. If you set the dock widget flag `DockWidgetDeleteOnClose` for a certain dock widget, then it will be deleted as soon as you close this dock widget. This enables the implementation of user interfaces with dynamically created editors, like in word processing applications or source code development tools.
|
Normally clicking the close button of a dock widget will just hide the widget and the user can show it again using the toggleView() action of the dock widget. This is meant for user interfaces with a static amount of widgets. But the advanced docking system also supports dynamic dock widgets that will get deleted on close. If you set the dock widget flag `DockWidgetDeleteOnClose` for a certain dock widget, then it will be deleted as soon as you close this dock widget. This enables the implementation of user interfaces with dynamically created editors, like in word processing applications or source code development tools.
|
||||||
|
Loading…
Reference in New Issue
Block a user