Class DockLayout

A layout which provides a flexible docking arrangement.

Notes

The consumer of this layout is responsible for handling all signals from the generated tab bars and managing the visibility of widgets and tab bars as needed.

Hierarchy (view full)

Constructors

Properties

_box: null | IBoxSizing = null
_dirty: boolean = false
_document: Document | ShadowRoot
_hiddenMode: HiddenMode
_items: ItemMap = ...
_root: null | LayoutNode = null
_spacing: number = 4

The renderer used by the dock layout.

Accessors

  • get fitPolicy(): FitPolicy
  • Get the fit policy for the layout.

    Notes

    The fit policy controls the computed size constraints which are applied to the parent widget by the layout.

    Some layout implementations may ignore the fit policy.

    Returns FitPolicy

  • set fitPolicy(value): void
  • Set the fit policy for the layout.

    Notes

    The fit policy controls the computed size constraints which are applied to the parent widget by the layout.

    Some layout implementations may ignore the fit policy.

    Changing the fit policy will clear the current size constraint for the parent widget and then re-fit the parent.

    Parameters

    Returns void

  • get isDisposed(): boolean
  • Test whether the layout is disposed.

    Returns boolean

  • get parent(): null | Widget
  • Get the parent widget of the layout.

    Returns null | Widget

  • set parent(value): void
  • Set the parent widget of the layout.

    Notes

    This is set automatically when installing the layout on the parent widget. The parent widget should not be set directly by user code.

    Parameters

    Returns void

Methods

  • Insert a widget as a new split area.

    Notes

    This does not attach the widget to the parent widget.

    Parameters

    • widget: Widget
    • ref: null | Widget
    • refNode: null | TabLayoutNode
    • orientation: Orientation
    • after: boolean
    • merge: boolean = false

    Returns void

  • Insert a widget next to an existing tab.

    Notes

    This does not attach the widget to the parent widget.

    Parameters

    • widget: Widget
    • ref: null | Widget
    • refNode: null | TabLayoutNode
    • after: boolean

    Returns void

  • Remove the specified widget from the layout structure.

    Notes

    This is a no-op if the widget is not in the layout tree.

    This does not detach the widget from the parent node.

    Parameters

    Returns void

  • Ensure the root is a split node with the given orientation.

    Parameters

    • orientation: Orientation

    Returns SplitLayoutNode

  • Update the layout position and size of the widgets.

    The parent offset dimensions should be -1 if unknown.

    Parameters

    • offsetWidth: number
    • offsetHeight: number

    Returns void

  • Add a widget to the dock layout.

    Parameters

    • widget: Widget

      The widget to add to the dock layout.

    • options: DockLayout.IAddOptions = {}

      The additional options for adding the widget.

      Notes

      The widget will be moved if it is already contained in the layout.

      An error will be thrown if the reference widget is invalid.

    Returns void

  • Attach the widget to the layout parent widget.

    Parameters

    • widget: Widget

      The widget to attach to the parent.

      Notes

      This is a no-op if the widget is already attached.

    Returns void

  • Detach the widget from the layout parent widget.

    Parameters

    • widget: Widget

      The widget to detach from the parent.

      Notes

      This is a no-op if the widget is not attached.

    Returns void

  • Find the tab area which contains the given client position.

    Parameters

    • clientX: number

      The client X position of interest.

    • clientY: number

      The client Y position of interest.

    Returns null | ITabAreaGeometry

    The geometry of the tab area at the given position, or null if there is no tab area at the given position.

  • Move a handle to the given offset position.

    Parameters

    • handle: HTMLDivElement

      The handle to move.

    • offsetX: number

      The desired offset X position of the handle.

    • offsetY: number

      The desired offset Y position of the handle.

      Notes

      If the given handle is not contained in the layout, this is no-op.

      The handle will be moved as close as possible to the desired position without violating any of the layout constraints.

      Only one of the coordinates is used depending on the orientation of the handle. This method accepts both coordinates to make it easy to invoke from a mouse move event without needing to know the handle orientation.

    Returns void

  • A message handler invoked on an 'after-attach' message.

    Notes

    The default implementation of this method forwards the message to all widgets. It assumes all widget nodes are attached to the parent widget node.

    This may be reimplemented by subclasses as needed.

    Parameters

    Returns void

  • A message handler invoked on an 'after-detach' message.

    Notes

    The default implementation of this method forwards the message to all widgets. It assumes all widget nodes are attached to the parent widget node.

    This may be reimplemented by subclasses as needed.

    Parameters

    Returns void

  • A message handler invoked on an 'after-hide' message.

    Notes

    The default implementation of this method forwards the message to all non-hidden widgets. It assumes all widget nodes are attached to the parent widget node.

    This may be reimplemented by subclasses as needed.

    Parameters

    Returns void

  • A message handler invoked on an 'after-show' message.

    Notes

    The default implementation of this method forwards the message to all non-hidden widgets. It assumes all widget nodes are attached to the parent widget node.

    This may be reimplemented by subclasses as needed.

    Parameters

    Returns void

  • A message handler invoked on a 'before-detach' message.

    Notes

    The default implementation of this method forwards the message to all widgets. It assumes all widget nodes are attached to the parent widget node.

    This may be reimplemented by subclasses as needed.

    Parameters

    Returns void

  • A message handler invoked on a 'before-hide' message.

    Notes

    The default implementation of this method forwards the message to all non-hidden widgets. It assumes all widget nodes are attached to the parent widget node.

    This may be reimplemented by subclasses as needed.

    Parameters

    Returns void

  • Process a message sent to the parent widget.

    Parameters

    • msg: Message

      The message sent to the parent widget.

      Notes

      This method is called by the parent widget to process a message.

      Subclasses may reimplement this method as needed.

    Returns void

  • Remove a widget from the layout.

    Parameters

    • widget: Widget

      The widget to remove from the layout.

      Notes

      A widget is automatically removed from the layout when its parent is set to null. This method should only be invoked directly when removing a widget from a layout which has yet to be installed on a parent widget.

      This method does not modify the widget's parent.

    Returns void

  • Restore the layout to a previously saved configuration.

    Parameters

    • config: DockLayout.ILayoutConfig

      The layout configuration to restore.

      Notes

      Widgets which currently belong to the layout but which are not contained in the config will be unparented.

    Returns void

  • Create an iterator over the selected widgets in the layout.

    Returns IterableIterator<Widget>

    A new iterator over the selected user widgets.

    Notes

    This iterator yields the widgets corresponding to the current tab of each tab bar in the layout.

  • Create an iterator over the user widgets in the layout.

    Returns IterableIterator<Widget>

    A new iterator over the user widgets in the layout.

    Notes

    This iterator does not include the generated tab bars.