Difference between revisions of "What the Smart Docking library looks like"
(→Multiple levels of docking and nesting) |
|||
Line 4: | Line 4: | ||
[[Image:Smart_Docking_multi_level_docking.PNG]] | [[Image:Smart_Docking_multi_level_docking.PNG]] | ||
+ | |||
+ | See figure 1, we start from the inner most red rectangle which only have a zone called "Diagram", this zone is docking at the left side of the zone which name is "Errors". Now we looking at the green rectangle which is contains the "Diagram" and "Errors" zone. This green rectangle is docking at top side of a zone whose name is "External Output". Combine the 3 zones together, we get blue rectangle, and this blue rectangle is docking at the left side of "Warning" zone. All these 4 zones together is the pink rectangle, this pink rectangle is docking at bottom of "Output" zone. The brown rectangle is docking at the right side of "F..." zone. As you guess, this kind of recursive docking zones can dock endless in theory. | ||
+ | |||
+ | The zone means an atom unit widget which can be managed by Smart Docking library. It contains the widgets which client programmers want Smart Docking to manage. Normally it has a title at top side which generated by Smart Docking library automatically. The "zone" in the following means the same. | ||
== Tear-off widgets and vertical title tabs when docking left/right == | == Tear-off widgets and vertical title tabs when docking left/right == |
Revision as of 23:04, 24 April 2007
Contents
Multiple levels of docking and nesting
See figure 1, we start from the inner most red rectangle which only have a zone called "Diagram", this zone is docking at the left side of the zone which name is "Errors". Now we looking at the green rectangle which is contains the "Diagram" and "Errors" zone. This green rectangle is docking at top side of a zone whose name is "External Output". Combine the 3 zones together, we get blue rectangle, and this blue rectangle is docking at the left side of "Warning" zone. All these 4 zones together is the pink rectangle, this pink rectangle is docking at bottom of "Output" zone. The brown rectangle is docking at the right side of "F..." zone. As you guess, this kind of recursive docking zones can dock endless in theory.
The zone means an atom unit widget which can be managed by Smart Docking library. It contains the widgets which client programmers want Smart Docking to manage. Normally it has a title at top side which generated by Smart Docking library automatically. The "zone" in the following means the same.
Tear-off widgets and vertical title tabs when docking left/right
There will be a snapshot here.
Tool type SD_CONTENT and editor type SD_CONTENT
There are two types of SD_CONTENT. Client programmers can change SD_CONTENT type by SD_CONTENT.set_type feature. The first difference between the two types SD_CONTENTs is looking differences. See figure 1.
The second difference is the differences when end user dragging a SD_CONTENT. See next topic "Only one editor's docking area".
Only one editor's docking area.
SD_CONTENTs which are not editor type can’t dragged into the editors area. See figure 2. Vice versa. Editor type SD_CONTENTs can't floating. See figure 3.
The tool bar is also dockable
- Multiple tool bars in a single row.
- Audo hide tool bar buttons when not enough space.
- When multiple tool bar in one row and not enough space, can resize tool bar zone manually.
- Tool bar can float.
- When tool bar floating, user can drag border of tool bar and resize tool bar buttons to different rows.
- Customize supported.
- Double click on the header of a docking tool bar, it'll float to last floating position and last floating size. Or double click title bar of floating tool bar zone, it'll dock to last docked row and position.
Docking feedbacks
- There are two kinds of docking feedback currently available:
One used in WIndows which have feedback indicators: There will be a snapshot here.
The other one used in Linux or on Windows when using remote desktop (terminal service), which is kind of old style feedback: There will be a snapshot here.
- Client programmer can make there own docking feedbacks if they wish.
Client programmers can inherit from SD_HOT_ZONE, implemented a set of docking feedbacks for main window, normal docking window and tabbed docking window. Then implemented a new SD_HOT_ZONE_ABSTRACT_FACTORY.
There will be a snapshot here.