UNPKG

@sussudio/platform

Version:

Internal APIs for VS Code's service injection the base services.

182 lines (180 loc) 8.05 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { BrowserWindow, Rectangle } from 'electron'; import { CancellationToken } from '@sussudio/base/common/cancellation.mjs'; import { Disposable } from '@sussudio/base/common/lifecycle.mjs'; import { ISerializableCommandAction } from '../../action/common/action.mjs'; import { IBackupMainService } from '../../backup/electron-main/backup.mjs'; import { IConfigurationService } from '../../configuration/common/configuration.mjs'; import { IDialogMainService } from '../../dialogs/electron-main/dialogMainService.mjs'; import { NativeParsedArgs } from '../../environment/common/argv.mjs'; import { IEnvironmentMainService } from '../../environment/electron-main/environmentMainService.mjs'; import { IFileService } from '../../files/common/files.mjs'; import { ILifecycleMainService } from '../../lifecycle/electron-main/lifecycleMainService.mjs'; import { ILogService } from '../../log/common/log.mjs'; import { IProductService } from '../../product/common/productService.mjs'; import { IProtocolMainService } from '../../protocol/electron-main/protocol.mjs'; import { IApplicationStorageMainService, IStorageMainService, } from '../../storage/electron-main/storageMainService.mjs'; import { ITelemetryService } from '../../telemetry/common/telemetry.mjs'; import { IThemeMainService } from '../../theme/electron-main/themeMainService.mjs'; import { INativeWindowConfiguration } from '../../window/common/window.mjs'; import { IWindowsMainService } from './windows.mjs'; import { ISingleFolderWorkspaceIdentifier, IWorkspaceIdentifier } from '../../workspace/common/workspace.mjs'; import { IWorkspacesManagementMainService } from '../../workspaces/electron-main/workspacesManagementMainService.mjs'; import { IWindowState, ICodeWindow, ILoadEvent } from '../../window/electron-main/window.mjs'; import { IPolicyService } from '../../policy/common/policy.mjs'; import { IUserDataProfile } from '../../userDataProfile/common/userDataProfile.mjs'; import { IStateMainService } from '../../state/electron-main/state.mjs'; import { IUserDataProfilesMainService } from '../../userDataProfile/electron-main/userDataProfile.mjs'; import { INativeHostMainService } from '../../native/electron-main/nativeHostMainService.mjs'; export interface IWindowCreationOptions { readonly state: IWindowState; readonly extensionDevelopmentPath?: string[]; readonly isExtensionTestHost?: boolean; } interface ILoadOptions { readonly isReload?: boolean; readonly disableExtensions?: boolean; } export declare class CodeWindow extends Disposable implements ICodeWindow { private readonly logService; private readonly environmentMainService; private readonly policyService; private readonly userDataProfilesService; private readonly fileService; private readonly applicationStorageMainService; private readonly storageMainService; private readonly configurationService; private readonly themeMainService; private readonly workspacesManagementMainService; private readonly backupMainService; private readonly telemetryService; private readonly dialogMainService; private readonly lifecycleMainService; private readonly productService; private readonly protocolMainService; private readonly windowsMainService; private readonly stateMainService; private readonly nativeHostMainService; private static readonly windowControlHeightStateStorageKey; private static sandboxState; private readonly _onWillLoad; readonly onWillLoad: import('@sussudio/base/common/event.mjs').Event<ILoadEvent>; private readonly _onDidSignalReady; readonly onDidSignalReady: import('@sussudio/base/common/event.mjs').Event<void>; private readonly _onDidTriggerSystemContextMenu; readonly onDidTriggerSystemContextMenu: import('@sussudio/base/common/event.mjs').Event<{ x: number; y: number; }>; private readonly _onDidClose; readonly onDidClose: import('@sussudio/base/common/event.mjs').Event<void>; private readonly _onDidDestroy; readonly onDidDestroy: import('@sussudio/base/common/event.mjs').Event<void>; private _id; get id(): number; private _win; get win(): BrowserWindow | null; private _lastFocusTime; get lastFocusTime(): number; get backupPath(): string | undefined; get openedWorkspace(): IWorkspaceIdentifier | ISingleFolderWorkspaceIdentifier | undefined; get profile(): IUserDataProfile | undefined; get remoteAuthority(): string | undefined; private _config; get config(): INativeWindowConfiguration | undefined; get isExtensionDevelopmentHost(): boolean; get isExtensionTestHost(): boolean; get isExtensionDevelopmentTestFromCli(): boolean; private readonly windowState; private currentMenuBarVisibility; private transientIsNativeFullScreen; private joinNativeFullScreenTransition; private representedFilename; private documentEdited; private readonly hasWindowControlOverlay; private readonly whenReadyCallbacks; private readonly touchBarGroups; private currentHttpProxy; private currentNoProxy; private readonly configObjectUrl; private pendingLoadConfig; private wasLoaded; constructor( config: IWindowCreationOptions, logService: ILogService, environmentMainService: IEnvironmentMainService, policyService: IPolicyService, userDataProfilesService: IUserDataProfilesMainService, fileService: IFileService, applicationStorageMainService: IApplicationStorageMainService, storageMainService: IStorageMainService, configurationService: IConfigurationService, themeMainService: IThemeMainService, workspacesManagementMainService: IWorkspacesManagementMainService, backupMainService: IBackupMainService, telemetryService: ITelemetryService, dialogMainService: IDialogMainService, lifecycleMainService: ILifecycleMainService, productService: IProductService, protocolMainService: IProtocolMainService, windowsMainService: IWindowsMainService, stateMainService: IStateMainService, nativeHostMainService: INativeHostMainService, ); setRepresentedFilename(filename: string): void; getRepresentedFilename(): string | undefined; setDocumentEdited(edited: boolean): void; isDocumentEdited(): boolean; focus(options?: { force: boolean }): void; private readyState; setReady(): void; ready(): Promise<ICodeWindow>; get isReady(): boolean; get whenClosedOrLoaded(): Promise<void>; private registerListeners; private marketplaceHeadersPromise; private getMarketplaceHeaders; private onWindowError; private handleWindowsAdminCrash; private destroyWindow; private onDidDeleteUntitledWorkspace; private onConfigurationUpdated; addTabbedWindow(window: ICodeWindow): void; load(configuration: INativeWindowConfiguration, options?: ILoadOptions): void; private updateConfiguration; reload(cli?: NativeParsedArgs): Promise<void>; private validateWorkspaceBeforeReload; serializeWindowState(): IWindowState; updateWindowControls(options: { height?: number; backgroundColor?: string; foregroundColor?: string }): void; private restoreWindowState; private validateWindowState; private getWorkingArea; getBounds(): Rectangle; toggleFullScreen(): void; private setFullScreen; get isFullScreen(): boolean; private setNativeFullScreen; private doSetNativeFullScreen; private setSimpleFullScreen; private useNativeFullScreen; isMinimized(): boolean; private getMenuBarVisibility; private setMenuBarVisibility; private doSetMenuBarVisibility; handleTitleDoubleClick(): void; close(): void; sendWhenReady(channel: string, token: CancellationToken, ...args: any[]): void; send(channel: string, ...args: any[]): void; updateTouchBar(groups: ISerializableCommandAction[][]): void; private createTouchBar; private createTouchBarGroup; private createTouchBarGroupSegments; dispose(): void; } export {};