Term Definitions
There are some key terms and concepts to understand when working with this product. This topic defines all of the docking-related terms.
General Terms
Term | Description |
---|---|
Docking Window |
A docking window (represented by the DockingWindow class) is a general term that could mean either a tool window or a document window, since both of those inherit the base docking window functionality. |
Dock Site |
A dock site (represented by the DockSite class) is the root control that contains a tool window hierarchy and/or MDI, and provides management functionality for all contained docking-related controls. |
Document | A document is a docking window (either a document window or tool window) that is within the MDI area. |
Document Window |
A document window (represented by the DocumentWindow class) is a docking window that is restricted to only be used within a MDI area. By default, it is destroyed after it is closed, however this behavior can be changed. |
Floating | Floating is where you have a floating dock host that contains one or more tool windows or a secondary MDI area, and is able to be moved anywhere above the dock site's control hierarchy. |
MDI |
MDI stands for "Multiple Document Interface", meaning the method with which documents can be visually interacted by the end user. The two built-in types of MDI are Tabbed MDI and Standard MDI. |
MVVM | MVVM stands for "Model View ViewModel" and is a design pattern used to build applications where the logic is separated from the user interface, testability is increased, as well as other benefits. |
Nested Dock Sites |
Nested dock sites is when you have one DockSite that is contained within a docking window that belongs to a parent DockSite. In this scenario, the docking windows may only be moved within their respective owner dock sites. |
Standard MDI |
Standard MDI (implemented via the StandardMdiHost class and its children) is the windowed variation of MDI, where each document is represented by a window that can be moved around within the workspace. Windows can be cascaded or tiled. |
Tabbed MDI |
Tabbed MDI (implemented via the TabbedMdiHost class and its children) is where the full size of the workspace is filled with one or more tabbed containers, with each tab representing a document. Windows can be cascaded or tiled. |
Tool Window |
A tool window (represented by the ToolWindow class) is a docking window that can be used in a number of states, including within the MDI area. Tool windows usually continue to exist after being closed and can be reactivated later. |
Tool Window Inner-Fill |
Tool window inner-fill occurs when there is no Workspace within a DockSite, and the dock site hierarchy consists only of tool windows that fill its content area. |
Workspace |
A workspace (represented by the Workspace class) is the area around which tool windows may be docked. If the workspace's content is a TabbedMdiHost, then tabbed MDI is in use. If the workspace's content is a StandardMdiHost, then standard MDI is in use. The workspace's content can be set to anything else when MDI is not needed and custom content should be displayed. By not including a workspace within a DockSite hierarchy, tool window inner-fill mode is activated. |
Lifecycle Terms
Term | Description |
---|---|
Activate | Ensure that a docking window is open, its contents are visible, and optionally allows focus to be set. If the activated window is represented by a tab, it will become the selected tab in the parent container. |
Close | Remove a docking window from the dock site hierarchy so that it is no longer accessible. |
Closed | When a docking window is not currently accessible in the dock site hierarchy. |
Open | Ensure that a docking window is accessible in the dock site hierarchy, although its contents may not necessarily be visible such as when it is represented by an unselected tab. |
Opened | When a docking window is currently accessible in the dock site hierarchy, although its related tab may or may not currently be selected. In the latter case, clicking the tab ensures the window's contents are visible. |
Selected | When a docking window is opened and represented by a tab that is currently selected. |
State Terms
Term | Description |
---|---|
Auto-Hide | When a tool window's tab appears along the outer edge of a dock host. Clicking the tab makes the tool window's content slide into view. Tool windows that are auto-hidden within a floating dock host are still considered to be in an auto-hide state. This state only applies tool windows. |
Docked | When a tool window is docked somewhere within a dock host hierarchy, but not in MDI. Tool windows that are docked within a floating dock host are still considered to be in a docked state. This state only applies tool windows. |
Document | When a docking window is within the MDI area. Docking windows that are in the MDI area of a floating dock host are still considered to be in a document state. This state applies to both tool and document windows. |
Container Terms
Term | Description |
---|---|
Dock Host |
A dock host (represented by the DockHost class) is the actual root hierarchy container. A primary dock host is implicitly created within a dock site, while other dock hosts are created behind-the-scenes whenever docking windows are floated. Dock hosts should never be explicitly created by you. |
Split Container |
A split container (represented by the SplitContainer class) is used to hold one or more other docking containers and provide splitter-based resizing capabilities between them. Split containers can be oriented horizontally or vertically. |
Standard MDI Host |
A standard MDI host (represented by the StandardMdiHost class) is the root container for standard MDI implementation, that is placed as the direct child of a workspace. |
Tabbed MDI Container |
A tabbed MDI container (represented by the TabbedMdiContainer class) is the direct parent of one or more docking windows that are in tabbed MDI. |
Tabbed MDI Host |
A tabbed MDI host (represented by the TabbedMdiHost class) is the root container for tabbed MDI implementation, that is placed as the direct child of a workspace. |
Tool Window Container |
A tool window container (represented by the ToolWindowContainer class) is the direct parent of one or more tool windows that are docked or auto-hidden. This container provides a title area displaying the selected tool window's title. When more than one tool windows are included, it also contains tabs for selecting the other tool windows. |