available kernels

This commit is contained in:
rebornix 2020-07-21 13:09:25 -07:00
parent 29ef70bf45
commit 4a1a4ae88b
4 changed files with 28 additions and 3 deletions

View file

@ -166,8 +166,7 @@ export class KernelStatus extends Disposable implements IWorkbenchContribution {
const activeEditor = getActiveNotebookEditor(this._editorService);
if (activeEditor && activeEditor.multipleKernelsAvailable) {
this.showKernelStatus(activeEditor.activeKernel);
if (activeEditor) {
this._editorDisposable.add(activeEditor.onDidChangeKernel(() => {
if (activeEditor.multipleKernelsAvailable) {
this.showKernelStatus(activeEditor.activeKernel);
@ -175,6 +174,18 @@ export class KernelStatus extends Disposable implements IWorkbenchContribution {
this.kernelInfoElement.clear();
}
}));
this._editorDisposable.add(activeEditor.onDidChangeAvailableKernels(() => {
if (activeEditor.multipleKernelsAvailable) {
this.showKernelStatus(activeEditor.activeKernel);
} else {
this.kernelInfoElement.clear();
}
}));
}
if (activeEditor && activeEditor.multipleKernelsAvailable) {
this.showKernelStatus(activeEditor.activeKernel);
} else {
this.kernelInfoElement.clear();
}

View file

@ -180,6 +180,7 @@ export interface INotebookEditor extends IEditor {
isNotebookEditor: boolean;
activeKernel: INotebookKernelInfo | INotebookKernelInfo2 | undefined;
multipleKernelsAvailable: boolean;
readonly onDidChangeAvailableKernels: Event<void>;
readonly onDidChangeKernel: Event<void>;
isDisposed: boolean;

View file

@ -139,6 +139,8 @@ export class NotebookEditorWidget extends Disposable implements INotebookEditor
private _activeKernel: INotebookKernelInfo | INotebookKernelInfo2 | undefined = undefined;
private readonly _onDidChangeKernel = this._register(new Emitter<void>());
readonly onDidChangeKernel: Event<void> = this._onDidChangeKernel.event;
private readonly _onDidChangeAvailableKernels = this._register(new Emitter<void>());
readonly onDidChangeAvailableKernels: Event<void> = this._onDidChangeAvailableKernels.event;
get activeKernel() {
return this._activeKernel;
@ -154,7 +156,16 @@ export class NotebookEditorWidget extends Disposable implements INotebookEditor
}
private _currentKernelTokenSource: CancellationTokenSource | undefined = undefined;
multipleKernelsAvailable: boolean = false;
private _multipleKernelsAvailable: boolean = false;
get multipleKernelsAvailable() {
return this._multipleKernelsAvailable;
}
set multipleKernelsAvailable(state: boolean) {
this._multipleKernelsAvailable = state;
this._onDidChangeAvailableKernels.fire();
}
private readonly _onDidChangeActiveEditor = this._register(new Emitter<this>());
readonly onDidChangeActiveEditor: Event<this> = this._onDidChangeActiveEditor.event;

View file

@ -63,6 +63,8 @@ export class TestNotebookEditor implements INotebookEditor {
) { }
multipleKernelsAvailable: boolean = false;
onDidChangeAvailableKernels: Event<void> = new Emitter<void>().event;
uri?: URI | undefined;
textModel?: NotebookTextModel | undefined;