diff --git a/src/vs/workbench/common/composite.ts b/src/vs/workbench/common/composite.ts new file mode 100644 index 0000000000000000000000000000000000000000..9bb4aa4e868345ca1f737e8b8d6c89db8d757564 --- /dev/null +++ b/src/vs/workbench/common/composite.ts @@ -0,0 +1,51 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import {IEventEmitter} from 'vs/base/common/eventEmitter'; +import {IAction, IActionItem} from 'vs/base/common/actions'; +import {ISelection} from 'vs/platform/selection/common/selection'; + +export interface IComposite { + + /** + * Returns the unique identifier of this composite. + */ + getId(): string; + + /** + * Returns the name of this composite to show in the title area. + */ + getTitle(): string; + + /** + * Returns the primary actions of the composite. + */ + getActions(): IAction[]; + + /** + * Returns the secondary actions of the composite. + */ + getSecondaryActions(): IAction[]; + + /** + * Returns the action item for a specific action. + */ + getActionItem(action: IAction): IActionItem; + + /** + * Returns the underlying control of this composite. + */ + getControl(): IEventEmitter; + + /** + * Returns the selection of this composite. + */ + getSelection(): ISelection; + + /** + * Asks the underlying control to focus. + */ + focus(): void; +} diff --git a/src/vs/workbench/common/viewlet.ts b/src/vs/workbench/common/viewlet.ts index f68b45087d20d962cf1e5abccfedb3058002f00b..569f69f05a19ed85a892ebe9bc18cc4adf73756d 100644 --- a/src/vs/workbench/common/viewlet.ts +++ b/src/vs/workbench/common/viewlet.ts @@ -4,49 +4,6 @@ *--------------------------------------------------------------------------------------------*/ 'use strict'; -import {IEventEmitter} from 'vs/base/common/eventEmitter'; -import {IAction, IActionItem} from 'vs/base/common/actions'; -import {ISelection} from 'vs/platform/selection/common/selection'; +import {IComposite} from 'vs/workbench/common/composite'; -export interface IViewlet { - - /** - * Returns the unique identifier of this viewlet. - */ - getId(): string; - - /** - * Returns the name of this viewlet to show in the title area. - */ - getTitle(): string; - - /** - * Returns the primary actions of the viewlet. - */ - getActions(): IAction[]; - - /** - * Returns the secondary actions of the viewlet. - */ - getSecondaryActions(): IAction[]; - - /** - * Returns the action item for a specific action. - */ - getActionItem(action: IAction): IActionItem; - - /** - * Returns the underlying control of this viewlet. - */ - getControl(): IEventEmitter; - - /** - * Returns the selection of this viewlet. - */ - getSelection(): ISelection; - - /** - * Asks the underlying control to focus. - */ - focus(): void; -} \ No newline at end of file +export interface IViewlet extends IComposite { }