Options
All
  • Public
  • Public/Protected
  • All
Menu

Class WidgetManager

The WidgetManager is the common component responsible for creating and managing widgets. Additional widget factories can be registered by using the WidgetFactory contribution point. To identify a widget, created by a factory, the factory id and the creation options are used. This key is commonly referred to as description of the widget.

Hierarchy

  • WidgetManager

Index

Constructors

Properties

_cachedFactories: Map<string, WidgetFactory>
logger: ILogger
onDidCreateWidget: Event<DidCreateWidgetEvent> = ...
onDidCreateWidgetEmitter: Emitter<DidCreateWidgetEvent> = ...
onWillCreateWidget: Event<WillCreateWidgetEvent> = ...

An event can be used to participate in the widget creation. Listeners may not dispose the given widget.

onWillCreateWidgetEmitter: Emitter<WillCreateWidgetEvent> = ...
pendingWidgetPromises: Map<string, MaybePromise<Widget>> = ...
widgets: Map<string, Widget> = ...

Accessors

Methods

  • getOrCreateWidget<T>(factoryId: string, options?: any): Promise<T>
  • Creates a new widget or returns the existing widget for the given description.

    Type Parameters

    • T extends Widget<T>

    Parameters

    • factoryId: string

      the widget factory id.

    • Optional options: any

      the widget factory specific information.

    Returns Promise<T>

    a promise resolving to the widget.

  • getWidget<T>(factoryId: string, options?: any): Promise<undefined | T>
  • Get the widget for the given description.

    Type Parameters

    • T extends Widget<T>

    Parameters

    • factoryId: string

      The widget factory id.

    • Optional options: any

      The widget factory specific information.

    Returns Promise<undefined | T>

    a promise resolving to the widget if available, else undefined.

  • getWidgets(factoryId: string): Widget[]
  • Get the list of widgets created by the given widget factory.

    Parameters

    • factoryId: string

      the widget factory id.

    Returns Widget[]

    the list of widgets created by the factory with the given id.

  • tryGetPendingWidget<T>(factoryId: string, options?: any): undefined | MaybePromise<T>
  • Try to get the existing widget for the given description.

    Type Parameters

    • T extends Widget<T>

    Parameters

    • factoryId: string

      The widget factory id.

    • Optional options: any

      The widget factory specific information.

    Returns undefined | MaybePromise<T>

    A promise that resolves to the widget, if any exists. The promise may be pending, so be cautious when assuming that it will not reject.

  • tryGetWidget<T>(factoryId: string, options?: any): undefined | T
  • Try to get the existing widget for the given description.

    Type Parameters

    • T extends Widget<T>

    Parameters

    • factoryId: string

      The widget factory id.

    • Optional options: any

      The widget factory specific information.

    Returns undefined | T

    the widget if available, else undefined.

    The widget is 'available' if it has been created with the same factoryId and {@link options} by the WidgetManager. If the widget's creation is asynchronous, it is only available when the associated Promise is resolved.