提交 aa1ffcd8 编写于 作者: P Pine Wu

Add icon to activity bar (loaded separately than stock Viewlets)

上级 2657a9da
......@@ -51,6 +51,15 @@ export class ActivitybarPart extends Part implements IActivityService {
// Deactivate viewlet action on close
this.toUnbind.push(this.viewletService.onDidViewletClose(viewlet => this.onCompositeClosed(viewlet)));
// Update activity bar on registering an external viewlet
this.toUnbind.push(
(<ViewletRegistry>Registry.as(ViewletExtensions.Viewlets)).onDidViewletRegister(viewletDescriptor => this.onViewletRegistryUpdated(viewletDescriptor))
);
}
private onViewletRegistryUpdated(viewletDescriptor: ViewletDescriptor) {
this.viewletSwitcherBar.push(this.toAction(viewletDescriptor), { label: true, icon: true });
}
private onActiveCompositeChanged(composite: IComposite): void {
......
......@@ -7,6 +7,7 @@ import nls = require('vs/nls');
import { TPromise } from 'vs/base/common/winjs.base';
import DOM = require('vs/base/browser/dom');
import errors = require('vs/base/common/errors');
import Event, { Emitter } from 'vs/base/common/event';
import { Registry } from 'vs/platform/platform';
import { Dimension, Builder, $ } from 'vs/base/browser/builder';
import { IAction, IActionRunner, Action } from 'vs/base/common/actions';
......@@ -164,12 +165,16 @@ export const Extensions = {
export class ViewletRegistry extends CompositeRegistry<Viewlet> {
private defaultViewletId: string;
private _onDidViewletRegister = new Emitter<ViewletDescriptor>();
public get onDidViewletRegister() { return this._onDidViewletRegister.event; }
/**
* Registers a viewlet to the platform.
*/
public registerViewlet(descriptor: ViewletDescriptor): void {
super.registerComposite(descriptor);
this._onDidViewletRegister.fire(descriptor);
}
/**
......
import 'vs/css!./media/customViewlet';
import { TPromise } from 'vs/base/common/winjs.base';
import { Builder, Dimension } from 'vs/base/browser/builder';
import { SplitView, Orientation } from 'vs/base/browser/ui/splitview/splitview';
......@@ -12,7 +10,7 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti
import { TreeView } from 'vs/workbench/parts/explorers/browser/views/treeView';
export const CUSTOM_VIEWLET_ID_ROOT = 'workbench.view.customViewlet.';
export const CUSTOM_VIEWLET_ID_ROOT = 'workbench.view.treeExplorerViewlet.';
export class TreeExplorerViewlet extends Viewlet {
private static _idCounter = 1;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册