Advanced Docking System for Qt
Go to file
mfreiholz 6a1b6307c9 Implements show/hide of SectionContent + serialization of state (not yet
completed/tested).
Context menu also works with new impl.
Shows close button on top-right corner of SectionWidget.
2016-02-18 15:06:00 +01:00
AdvancedDockingSystem Implements show/hide of SectionContent + serialization of state (not yet 2016-02-18 15:06:00 +01:00
AdvancedDockingSystemDemo Refactors: Move save/restore impl into separate methods. 2016-02-17 14:42:46 +01:00
.gitignore Init commit for GitHub. 2015-12-09 12:21:38 +01:00
build.pro Refactoring: Renames saveGeometry to saveState.. same for restore. 2016-02-12 11:43:34 +01:00
preview01.png Adds previews. 2016-02-17 10:57:28 +01:00
preview02.png Adds previews. 2016-02-17 10:57:28 +01:00
README.md Implements show/hide of SectionContent + serialization of state (not yet 2016-02-18 15:06:00 +01:00

Advanced Docking System

Manages content widgets more like Visual Studio or similar programs. I also try to get everything done with basic Qt functionality. Basic usage of QWidgets an QLayouts and using basic styles as much as possible.

Layout of widgets Dropping widgets

Tested with - Requirements

Windows

  • >= Qt 5.5, VC12 or MinGW
  • >= Qt 4.5.3 VC9 - not as good...

Linux

  • Not yet tested

Build

Open the build.pro with QtCreator and start the build, that's it.

Release & Development

The master branch is not guaranteed to be stable or does even build, since it is the main working branch. If you want a version that builds you should always use a release/beta tag.

Notes

  • SectionContent class may safe a "size-type" property, which defines how the size of the widget should be handled.
    • PerCent: Resize in proportion to other widgets.
    • Fixed: Width or height are fixed (based on orientation).

TODOs

Sorted by priority

Beta 0.1

  • Improve FloatingWidget (Remove maximize button, only support close-button which hides the widget)
  • Serialize and Deserialize state/size/positions of dockings
  • Make compatible with Qt 4.5 (*ROFL!*)
  • Save and restore FloatingWidget states
  • Restore: Manage new or deleted SectionContent objects, which are not available
  • Working with outer-edge-drops sometimes leaves empty splitters #BUG
  • Clean up of unused e.g. count()<=1 QSplitters doesn't work well #BUG
  • Show close button on right corner of SectionWidget. How to safe last section position?
  • Serialize state of _hiddenSectionContents
  • ContainerWidget::showSectionContent needs to insert the SC at the correct preferred position of SW
  • Empty splitters, if only 2 or 1 items are in container

Some day...

  • Drop indicator images should be fully visible over the DropOverlay rectangle
  • Pin contents: Pins a content and its title widget to the edge and opens on click/hover as long as it has focus
  • API: Make it possible to use custom drop images
  • API: Add possibility to make a SectionContent element floatable (ContainerWidget::setFloating(SectionContent*)?)

Credits

License

Not sure yet... It's in development status anyway.