Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/editor/browser/controller/editContext/editContext.ts
5222 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
6
import { FastDomNode } from '../../../../base/browser/fastDomNode.js';
7
import { Emitter, Event } from '../../../../base/common/event.js';
8
import { Position } from '../../../common/core/position.js';
9
import { IEditorAriaOptions } from '../../editorBrowser.js';
10
import { ViewPart } from '../../view/viewPart.js';
11
import { IClipboardCopyEvent, IClipboardPasteEvent } from './clipboardUtils.js';
12
13
export abstract class AbstractEditContext extends ViewPart {
14
abstract domNode: FastDomNode<HTMLElement>;
15
abstract focus(): void;
16
abstract isFocused(): boolean;
17
abstract refreshFocusState(): void;
18
abstract setAriaOptions(options: IEditorAriaOptions): void;
19
abstract getLastRenderData(): Position | null;
20
abstract writeScreenReaderContent(reason: string): void;
21
22
// Clipboard events - emitted before the default clipboard handling
23
protected readonly _onWillCopy = this._register(new Emitter<IClipboardCopyEvent>());
24
public readonly onWillCopy: Event<IClipboardCopyEvent> = this._onWillCopy.event;
25
26
protected readonly _onWillCut = this._register(new Emitter<IClipboardCopyEvent>());
27
public readonly onWillCut: Event<IClipboardCopyEvent> = this._onWillCut.event;
28
29
protected readonly _onWillPaste = this._register(new Emitter<IClipboardPasteEvent>());
30
public readonly onWillPaste: Event<IClipboardPasteEvent> = this._onWillPaste.event;
31
}
32
33