Qt should have a real tiling window manager that allows users to arrange windows like you can in Eclipse or Visual Studio.
If you're not familiar with the concept, here is a video describing it: http://www.youtube.com/watch?v=EWfHcyB4anE&t=1m50s
Here is my feeble attempt to capture it in words:
- Spaces and dividers: The area is divided into spaces. Every space can have a horizontal or vertical divider to create two smaller sub-spaces. The divider is draggable, so that dragging it resizes the two spaces on either side of it.
- Tab bar: Every space that is not further divided contains a tab bar at the top. Each tab contains a user-supplied QWidget.
- Dragging a tab: Individual QWidgets can be dragged from tab bar to tab bar by grabbing the tab and dragging it on top of another space. By dragging it into the middle of the space, the dragged QWidget becomes another tab in that space's tab bar.
- Subdividing spaces: By dragging the QWidget it into the top of a space, the space gets divided into a top and a bottom half, separated by a divider. A similar thing happens for being dragged into the bottom, left, or right of a space.
- Dragging an entire space: By grabbing a space outside of any tabs (usually to the right of the tabs), the user can drag the entire space at once. Just like individual dragged QWidgets, it can subdivide an existing space when dragged towards the edges, or it can be merged with an existing space by dragging into the middle of it.
- Highlighting: The result of a drag action will be highlighted by shading or outlining the target area that the dragged QWidget or space will go into if dropped at a particular time, just like docking windows do.
- Closing a QWidget: Every tab has an X in it that, when clicked, closes the QWidget. When the last QWidget of a space disappears, the entire space disappears.
- Free-floating windows: Just like docking windows, QWidgets can be dragged not to join any space, and just float freely.
- Save and restore: A given window setup can be saved and restored at a later time.
I think this would work much like QMdiArea works now, but with a different arrangement of the windows.
|For Gerrit Dashboard: QTBUG-31001|
|299077,3||Implementation of tiling widget system in Qt||dev||qt/qtbase||Status: NEW||0||0|
|85645,1||Add QDoc documentation to QToolWindowManager and its arae, hide QToolWindowManagerArea::addToolWindow(s) internal functions||stable||qt/qtbase||Status: ABANDONED||-1||0|