code-server/lib/vscode/extensions/image-preview/src/ownedStatusBarEntry.ts
2021-03-11 10:27:10 -07:00

32 lines
985 B
TypeScript

/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as vscode from 'vscode';
import { Disposable } from './dispose';
export abstract class PreviewStatusBarEntry extends Disposable {
private _showOwner: string | undefined;
protected readonly entry: vscode.StatusBarItem;
constructor(options: vscode.StatusBarItemOptions) {
super();
this.entry = this._register(vscode.window.createStatusBarItem(options));
}
protected showItem(owner: string, text: string) {
this._showOwner = owner;
this.entry.text = text;
this.entry.show();
}
public hide(owner: string) {
if (owner === this._showOwner) {
this.entry.hide();
this._showOwner = undefined;
}
}
}