Options
All
  • Public
  • Public/Protected
  • All
Menu

Class ViewContainerLayout

Hierarchy

  • SplitLayout
    • ViewContainerLayout

Implements

  • IIterable<Widget>
  • IDisposable

Index

Type aliases

Static Alignment

Alignment: "start" | "center" | "end" | "justify"

A type alias for a split layout alignment.

Static Orientation

Orientation: "horizontal" | "vertical"

A type alias for a split layout orientation.

Constructors

constructor

Properties

alignment

alignment: SplitLayout.Alignment

Set the content alignment for the split layout.

Notes

This is the alignment of the widgets in the layout direction.

The alignment has no effect if the widgets can expand to fill the entire split layout.

fitPolicy

fitPolicy: Layout.FitPolicy

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.

Readonly handles

handles: ReadonlyArray<HTMLDivElement>

A read-only array of the split handles in the layout.

Readonly isDisposed

isDisposed: boolean

Test whether the layout is disposed.

Protected options

options: Options

orientation

orientation: SplitLayout.Orientation

Set the layout orientation for the split layout.

parent

parent: Widget | null

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.

Readonly renderer

renderer: IRenderer

The renderer used by the split layout.

spacing

spacing: number

Set the inter-element spacing for the split layout.

Protected Readonly splitPositionHandler

splitPositionHandler: SplitPositionHandler

Accessors

Protected items

  • get items(): ReadonlyArray<LayoutItem & Item>

widgets

Methods

addWidget

  • addWidget(widget: Widget): void
  • Add a widget to the end of the layout.

    Parameters

    • widget: Widget

      The widget to add to the layout.

      Notes

      If the widget is already contained in the layout, it will be moved.

    Returns void

Protected attachWidget

  • attachWidget(index: number, widget: Widget): void
  • Attach a widget to the parent's DOM node.

    Parameters

    • index: number

      The current index of the widget in the layout.

    • widget: Widget

      The widget to attach to the parent.

      Notes

      This is a reimplementation of the superclass method.

    Returns void

Protected detachWidget

  • detachWidget(index: number, widget: Widget): void
  • Detach a widget from the parent's DOM node.

    Parameters

    • index: number

      The previous index of the widget in the layout.

    • widget: Widget

      The widget to detach from the parent.

      Notes

      This is a reimplementation of the superclass method.

    Returns void

dispose

  • dispose(): void
  • Dispose of the resources held by the layout.

    Returns void

getAvailableSize

  • getAvailableSize(): number

getPartSize

Protected init

  • init(): void
  • Perform layout initialization which requires the parent widget.

    Returns void

insertWidget

  • insertWidget(index: number, widget: Widget): void
  • Insert a widget into the layout at the specified index.

    Parameters

    • index: number

      The index at which to insert the widget.

    • widget: Widget

      The widget to insert into the layout.

      Notes

      The index will be clamped to the bounds of the widgets.

      If the widget is already added to the layout, it will be moved.

      Undefined Behavior

      An index which is non-integral.

    Returns void

iter

moveHandle

  • moveHandle(index: number, position: number): void
  • Move the offset position of a split handle.

    Parameters

    • index: number

      The index of the handle of the interest.

    • position: number

      The desired offset position of the handle.

      Notes

      The position is relative to the offset parent.

      This will move the handle as close as possible to the desired position. The sibling widgets will be adjusted as necessary.

    Returns void

moveWidget

  • moveWidget(fromIndex: number, toIndex: number, widget: Widget): void

Protected onAfterAttach

  • onAfterAttach(msg: Message): 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

    • msg: Message

    Returns void

Protected onAfterDetach

  • onAfterDetach(msg: Message): 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

    • msg: Message

    Returns void

Protected onAfterHide

  • onAfterHide(msg: Message): 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

    • msg: Message

    Returns void

Protected onAfterShow

  • onAfterShow(msg: Message): 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

    • msg: Message

    Returns void

Protected onBeforeAttach

  • onBeforeAttach(msg: Message): void
  • A message handler invoked on a 'before-attach' message.

    Parameters

    • msg: Message

    Returns void

Protected onBeforeDetach

  • onBeforeDetach(msg: Message): 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

    • msg: Message

    Returns void

Protected onBeforeHide

  • onBeforeHide(msg: Message): 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

    • msg: Message

    Returns void

Protected onBeforeShow

  • onBeforeShow(msg: Message): void
  • A message handler invoked on a 'before-show' message.

    Parameters

    • msg: Message

    Returns void

Protected onChildHidden

  • A message handler invoked on a 'child-hidden' message.

    Parameters

    Returns void

Protected onChildRemoved

  • A message handler invoked on a 'child-removed' message.

    Notes

    This will remove the child widget from the layout.

    Subclasses should not typically reimplement this method.

    Parameters

    Returns void

Protected onChildShown

  • A message handler invoked on a 'child-shown' message.

    Parameters

    Returns void

Protected onFitRequest

  • onFitRequest(msg: Message): void

Protected onResize

  • A message handler invoked on a 'resize' message.

    Parameters

    Returns void

Protected onUpdateRequest

  • onUpdateRequest(msg: Message): void
  • A message handler invoked on an 'update-request' message.

    Parameters

    • msg: Message

    Returns void

processParentMessage

  • processParentMessage(msg: Message): 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

relativeSizes

  • relativeSizes(): number[]
  • Get the relative sizes of the widgets in the layout.

    Returns number[]

    A new array of the relative sizes of the widgets.

    Notes

    The returned sizes reflect the sizes of the widgets normalized relative to their siblings.

    This method does not measure the DOM nodes.

removeWidget

  • removeWidget(widget: Widget): 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

removeWidgetAt

  • removeWidgetAt(index: number): void
  • Remove the widget at a given index from the layout.

    Parameters

    • index: number

      The index of the widget to remove.

      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.

      Undefined Behavior

      An index which is non-integral.

    Returns void

setHandlePosition

  • setHandlePosition(index: number, position: number): Promise<void>

setPartSizes

  • setPartSizes(weights: (undefined | number)[]): void
  • Set the sizes of the view container parts according to the given weights by moving the split handles. This is similar to setRelativeSizes defined in SplitLayout, but here we properly consider the collapsed / expanded state.

    Parameters

    • weights: (undefined | number)[]

    Returns void

setRelativeSizes

  • setRelativeSizes(sizes: number[]): void
  • Set the relative sizes for the widgets in the layout.

    Parameters

    • sizes: number[]

      The relative sizes for the widgets in the panel.

      Notes

      Extra values are ignored, too few will yield an undefined layout.

      The actual geometry of the DOM nodes is updated asynchronously.

    Returns void

Protected tween

  • tween(t: number): number

updateCollapsed

Static getStretch

  • getStretch(widget: Widget): number
  • Get the split layout stretch factor for the given widget.

    Parameters

    • widget: Widget

      The widget of interest.

    Returns number

    The split layout stretch factor for the widget.

Static setStretch

  • setStretch(widget: Widget, value: number): void
  • Set the split layout stretch factor for the given widget.

    Parameters

    • widget: Widget

      The widget of interest.

    • value: number

      The value for the stretch factor.

    Returns void