The JadeDockBar control class is a subclass of the JadeDockBase class. The JadeDockBar control is intended as a container for a logical grouping of other standard JADE controls that can be dragged and docked at another position on the form or it can be floated.
The JadeDockBar control provides the following functionality.
The control is a container for other controls.
The ability to define a border with borderStyle property value of the:
The ability to define extra spacing in the border area to the left, top, right, and bottom positions.
The ability to define how it is aligned to its parent container (that is, none, top, bottom, left, right, all vertical, or all horizontal). For details, see the form example in the image in the JadeDockBase class alignContainer property and the JadeDockBase class drawGrip property.
The ability to define whether a grip bar is drawn on the control. The grip is drawn vertically, unless the control or its parent is aligned left or right, in which case it is drawn horizontally. The grip bar provides the user with a visible area on which to click for dragging.
The ability to define whether the control can become a floating window, and if so, what type of floating window (that is, one that can or cannot be closed). The control must also have visible children before it can be floated or dragged. If the control is allowed to become a floating window, by definition it could also be dragged and docked into another window.
The caption displayed in its floating window.
The ability to dock the control into any docking position (with one exception), regardless of the value of its alignContainer property. The docking control then adopts the new alignContainer property value implied by the docking mode. For details, see the alignContainer property.
The ability to define whether resize bars can be added to the control. Resize bars allow the user to drag that bar to increase or decrease the size of the control. A resize bar is displayed on the:
Right of the control if all of the controls that border the control on the right and that share the same parent know how to handle a user resize and they fill the entire right edge. (For details, see the alignChildren property.)
Bottom of the control for most cases if all of the controls bordering that control on the bottom edge and that share the same parent know how to handle a user resize and they fill the entire edge. (For details, see the JadeDockBase class alignContainer property.)
The ability to define whether the children of the control are aligned. The possible values for the alignChildren property of the JadeDockBar control are AlignChildren_None, AlignChildren_AllHorizontal, AlignChildren_AllVertical, and AlignChildren_Auto.
Automatic alignment means that the control repositions its children in the order of the tabIndex property, to achieve the minimum size that is required. The control is also automatically sized to show all of the children.
Where the alignment of a child control within a container (using the alignContainer property) conflicts with the how the container specifies the child control should be aligned (using the alignChildren property), the alignContainer specification takes precedence.
The ability to define the number of pixels between each control horizontally and vertically when automatic child alignment is on.
A JadeDockBar control with a non-zero value of the alignChildren property does not need a JadeDockContainer control as its parent. It can be floated and docked by itself. However, to be able to re-dock the control after floating, it must have a target Form, Frame, or JadeDockContainer control that will accept its presence.
If the control is a JadeDockBar control with an AlignChildren_None (0) value of the alignChildren property and it is being docked at the top, left, bottom, or right position of a Form or Frame control, it requires a JadeDockContainer control as its parent. Such a control is created (as a JADE object by cloning the original JadeDockContainer control parent of the dock bar or by creating a new one), unless the original JadeDockContainer is available as a hidden control (with the visible property set to false). The JadeDockContainer control is aligned as required and assigned as a child of the window into which it is being docked. The JadeDockBar control is made a child of the JadeDockContainer control.
The parentAspect property is ignored for a JadeDockBar control except when the container has the alignChildren property set to AlignChildren_None (0). This setting means that it is your responsibility to position the children. All other settings cause the children to be automatically positioned.
The ability to programmatically float the control.
The ability to programmatically determine whether the control is floating.
The ability to programmatically determine the floating position of the floating form.
For a summary of the constants, properties, and event methods defined in the JadeDockBar class, see "JadeDockBar Class Constants", "JadeDockBar Properties", and "JadeDockBar Events", in the following subsections. See also the JadeDockBase and JadeDockContainer control classes.