UNPKG

sussudio

Version:

An unofficial VS Code Internal API

219 lines (218 loc) 15 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { IListRenderer, IListVirtualDelegate } from "../../../base/browser/ui/list/list.mjs"; import { IPagedListOptions, IPagedRenderer, PagedList } from "../../../base/browser/ui/list/listPaging.mjs"; import { IListAccessibilityProvider, IListOptions, IListOptionsUpdate, List } from "../../../base/browser/ui/list/listWidget.mjs"; import { ITableColumn, ITableRenderer, ITableVirtualDelegate } from "../../../base/browser/ui/table/table.mjs"; import { ITableOptions, ITableOptionsUpdate, Table } from "../../../base/browser/ui/table/tableWidget.mjs"; import { IAbstractTreeOptionsUpdate } from "../../../base/browser/ui/tree/abstractTree.mjs"; import { AsyncDataTree, CompressibleAsyncDataTree, IAsyncDataTreeOptions, IAsyncDataTreeOptionsUpdate, ICompressibleAsyncDataTreeOptions, ICompressibleAsyncDataTreeOptionsUpdate, ITreeCompressionDelegate } from "../../../base/browser/ui/tree/asyncDataTree.mjs"; import { DataTree, IDataTreeOptions } from "../../../base/browser/ui/tree/dataTree.mjs"; import { CompressibleObjectTree, ICompressibleObjectTreeOptions, ICompressibleObjectTreeOptionsUpdate, ICompressibleTreeRenderer, IObjectTreeOptions, ObjectTree } from "../../../base/browser/ui/tree/objectTree.mjs"; import { IAsyncDataSource, IDataSource, ITreeRenderer } from "../../../base/browser/ui/tree/tree.mjs"; import { Event } from "../../../base/common/event.mjs"; import { IDisposable } from "../../../base/common/lifecycle.mjs"; import { IConfigurationService } from "../../configuration/common/configuration.mjs"; import { IContextKey, IContextKeyService, RawContextKey } from "../../contextkey/common/contextkey.mjs"; import { IEditorOptions } from "../../editor/common/editor.mjs"; import { IInstantiationService } from "../../instantiation/common/instantiation.mjs"; import { IColorMapping } from "../../theme/common/styler.mjs"; import { IThemeService } from "../../theme/common/themeService.mjs"; export type ListWidget = List<any> | PagedList<any> | ObjectTree<any, any> | DataTree<any, any, any> | AsyncDataTree<any, any, any> | Table<any>; export type WorkbenchListWidget = WorkbenchList<any> | WorkbenchPagedList<any> | WorkbenchObjectTree<any, any> | WorkbenchCompressibleObjectTree<any, any> | WorkbenchDataTree<any, any, any> | WorkbenchAsyncDataTree<any, any, any> | WorkbenchCompressibleAsyncDataTree<any, any, any> | WorkbenchTable<any>; export declare const IListService: import("../../instantiation/common/instantiation.mjs").ServiceIdentifier<IListService>; export interface IListService { readonly _serviceBrand: undefined; /** * Returns the currently focused list widget if any. */ readonly lastFocusedList: WorkbenchListWidget | undefined; } export declare class ListService implements IListService { private readonly _themeService; readonly _serviceBrand: undefined; private disposables; private lists; private _lastFocusedWidget; private _hasCreatedStyleController; get lastFocusedList(): WorkbenchListWidget | undefined; constructor(_themeService: IThemeService); private setLastFocusedList; register(widget: WorkbenchListWidget, extraContextKeys?: (IContextKey<boolean>)[]): IDisposable; dispose(): void; } export declare const RawWorkbenchListFocusContextKey: RawContextKey<boolean>; export declare const WorkbenchListSupportsMultiSelectContextKey: RawContextKey<boolean>; export declare const WorkbenchListFocusContextKey: import("../../contextkey/common/contextkey.mjs").ContextKeyExpression | undefined; export declare const WorkbenchListHasSelectionOrFocus: RawContextKey<boolean>; export declare const WorkbenchListDoubleSelection: RawContextKey<boolean>; export declare const WorkbenchListMultiSelection: RawContextKey<boolean>; export declare const WorkbenchListSelectionNavigation: RawContextKey<boolean>; export declare const WorkbenchListSupportsFind: RawContextKey<boolean>; export declare const WorkbenchTreeElementCanCollapse: RawContextKey<boolean>; export declare const WorkbenchTreeElementHasParent: RawContextKey<boolean>; export declare const WorkbenchTreeElementCanExpand: RawContextKey<boolean>; export declare const WorkbenchTreeElementHasChild: RawContextKey<boolean>; export declare const WorkbenchTreeFindOpen: RawContextKey<boolean>; export interface IWorkbenchListOptionsUpdate extends IListOptionsUpdate { readonly overrideStyles?: IColorMapping; } export interface IWorkbenchListOptions<T> extends IWorkbenchListOptionsUpdate, IResourceNavigatorOptions, IListOptions<T> { readonly selectionNavigation?: boolean; } export declare class WorkbenchList<T> extends List<T> { readonly contextKeyService: IContextKeyService; private readonly themeService; private listSupportsMultiSelect; private listHasSelectionOrFocus; private listDoubleSelection; private listMultiSelection; private horizontalScrolling; private _styler; private _useAltAsMultipleSelectionModifier; private navigator; get onDidOpen(): Event<IOpenEvent<T | undefined>>; constructor(user: string, container: HTMLElement, delegate: IListVirtualDelegate<T>, renderers: IListRenderer<T, any>[], options: IWorkbenchListOptions<T>, contextKeyService: IContextKeyService, listService: IListService, themeService: IThemeService, configurationService: IConfigurationService, instantiationService: IInstantiationService); updateOptions(options: IWorkbenchListOptionsUpdate): void; private updateStyles; get useAltAsMultipleSelectionModifier(): boolean; dispose(): void; } export interface IWorkbenchPagedListOptions<T> extends IWorkbenchListOptionsUpdate, IResourceNavigatorOptions, IPagedListOptions<T> { readonly selectionNavigation?: boolean; } export declare class WorkbenchPagedList<T> extends PagedList<T> { readonly contextKeyService: IContextKeyService; private readonly themeService; private readonly disposables; private listSupportsMultiSelect; private _useAltAsMultipleSelectionModifier; private horizontalScrolling; private _styler; private navigator; get onDidOpen(): Event<IOpenEvent<T | undefined>>; constructor(user: string, container: HTMLElement, delegate: IListVirtualDelegate<number>, renderers: IPagedRenderer<T, any>[], options: IWorkbenchPagedListOptions<T>, contextKeyService: IContextKeyService, listService: IListService, themeService: IThemeService, configurationService: IConfigurationService, instantiationService: IInstantiationService); updateOptions(options: IWorkbenchListOptionsUpdate): void; private updateStyles; get useAltAsMultipleSelectionModifier(): boolean; dispose(): void; } export interface IWorkbenchTableOptionsUpdate extends ITableOptionsUpdate { readonly overrideStyles?: IColorMapping; } export interface IWorkbenchTableOptions<T> extends IWorkbenchTableOptionsUpdate, IResourceNavigatorOptions, ITableOptions<T> { readonly selectionNavigation?: boolean; } export declare class WorkbenchTable<TRow> extends Table<TRow> { readonly contextKeyService: IContextKeyService; private readonly themeService; private listSupportsMultiSelect; private listHasSelectionOrFocus; private listDoubleSelection; private listMultiSelection; private horizontalScrolling; private _styler; private _useAltAsMultipleSelectionModifier; private navigator; get onDidOpen(): Event<IOpenEvent<TRow | undefined>>; constructor(user: string, container: HTMLElement, delegate: ITableVirtualDelegate<TRow>, columns: ITableColumn<TRow, any>[], renderers: ITableRenderer<TRow, any>[], options: IWorkbenchTableOptions<TRow>, contextKeyService: IContextKeyService, listService: IListService, themeService: IThemeService, configurationService: IConfigurationService, instantiationService: IInstantiationService); updateOptions(options: IWorkbenchTableOptionsUpdate): void; private updateStyles; get useAltAsMultipleSelectionModifier(): boolean; dispose(): void; } export interface IOpenResourceOptions { editorOptions: IEditorOptions; sideBySide: boolean; element: any; payload: any; } export interface IOpenEvent<T> { editorOptions: IEditorOptions; sideBySide: boolean; element: T; browserEvent?: UIEvent; } export interface IResourceNavigatorOptions { readonly configurationService?: IConfigurationService; readonly openOnSingleClick?: boolean; } export interface SelectionKeyboardEvent extends KeyboardEvent { preserveFocus?: boolean; pinned?: boolean; __forceEvent?: boolean; } export declare function getSelectionKeyboardEvent(typeArg?: string, preserveFocus?: boolean, pinned?: boolean): SelectionKeyboardEvent; export interface IWorkbenchObjectTreeOptions<T, TFilterData> extends IObjectTreeOptions<T, TFilterData>, IResourceNavigatorOptions { readonly accessibilityProvider: IListAccessibilityProvider<T>; readonly overrideStyles?: IColorMapping; readonly selectionNavigation?: boolean; } export declare class WorkbenchObjectTree<T extends NonNullable<any>, TFilterData = void> extends ObjectTree<T, TFilterData> { private internals; get contextKeyService(): IContextKeyService; get useAltAsMultipleSelectionModifier(): boolean; get onDidOpen(): Event<IOpenEvent<T | undefined>>; constructor(user: string, container: HTMLElement, delegate: IListVirtualDelegate<T>, renderers: ITreeRenderer<T, TFilterData, any>[], options: IWorkbenchObjectTreeOptions<T, TFilterData>, instantiationService: IInstantiationService, contextKeyService: IContextKeyService, listService: IListService, themeService: IThemeService, configurationService: IConfigurationService); updateOptions(options: IAbstractTreeOptionsUpdate): void; } export interface IWorkbenchCompressibleObjectTreeOptionsUpdate extends ICompressibleObjectTreeOptionsUpdate { readonly overrideStyles?: IColorMapping; } export interface IWorkbenchCompressibleObjectTreeOptions<T, TFilterData> extends IWorkbenchCompressibleObjectTreeOptionsUpdate, ICompressibleObjectTreeOptions<T, TFilterData>, IResourceNavigatorOptions { readonly accessibilityProvider: IListAccessibilityProvider<T>; readonly selectionNavigation?: boolean; } export declare class WorkbenchCompressibleObjectTree<T extends NonNullable<any>, TFilterData = void> extends CompressibleObjectTree<T, TFilterData> { private internals; get contextKeyService(): IContextKeyService; get useAltAsMultipleSelectionModifier(): boolean; get onDidOpen(): Event<IOpenEvent<T | undefined>>; constructor(user: string, container: HTMLElement, delegate: IListVirtualDelegate<T>, renderers: ICompressibleTreeRenderer<T, TFilterData, any>[], options: IWorkbenchCompressibleObjectTreeOptions<T, TFilterData>, instantiationService: IInstantiationService, contextKeyService: IContextKeyService, listService: IListService, themeService: IThemeService, configurationService: IConfigurationService); updateOptions(options?: IWorkbenchCompressibleObjectTreeOptionsUpdate): void; } export interface IWorkbenchDataTreeOptionsUpdate extends IAbstractTreeOptionsUpdate { readonly overrideStyles?: IColorMapping; } export interface IWorkbenchDataTreeOptions<T, TFilterData> extends IWorkbenchDataTreeOptionsUpdate, IDataTreeOptions<T, TFilterData>, IResourceNavigatorOptions { readonly accessibilityProvider: IListAccessibilityProvider<T>; readonly selectionNavigation?: boolean; } export declare class WorkbenchDataTree<TInput, T, TFilterData = void> extends DataTree<TInput, T, TFilterData> { private internals; get contextKeyService(): IContextKeyService; get useAltAsMultipleSelectionModifier(): boolean; get onDidOpen(): Event<IOpenEvent<T | undefined>>; constructor(user: string, container: HTMLElement, delegate: IListVirtualDelegate<T>, renderers: ITreeRenderer<T, TFilterData, any>[], dataSource: IDataSource<TInput, T>, options: IWorkbenchDataTreeOptions<T, TFilterData>, instantiationService: IInstantiationService, contextKeyService: IContextKeyService, listService: IListService, themeService: IThemeService, configurationService: IConfigurationService); updateOptions(options?: IWorkbenchDataTreeOptionsUpdate): void; } export interface IWorkbenchAsyncDataTreeOptionsUpdate extends IAsyncDataTreeOptionsUpdate { readonly overrideStyles?: IColorMapping; } export interface IWorkbenchAsyncDataTreeOptions<T, TFilterData> extends IWorkbenchAsyncDataTreeOptionsUpdate, IAsyncDataTreeOptions<T, TFilterData>, IResourceNavigatorOptions { readonly accessibilityProvider: IListAccessibilityProvider<T>; readonly selectionNavigation?: boolean; } export declare class WorkbenchAsyncDataTree<TInput, T, TFilterData = void> extends AsyncDataTree<TInput, T, TFilterData> { private internals; get contextKeyService(): IContextKeyService; get useAltAsMultipleSelectionModifier(): boolean; get onDidOpen(): Event<IOpenEvent<T | undefined>>; constructor(user: string, container: HTMLElement, delegate: IListVirtualDelegate<T>, renderers: ITreeRenderer<T, TFilterData, any>[], dataSource: IAsyncDataSource<TInput, T>, options: IWorkbenchAsyncDataTreeOptions<T, TFilterData>, instantiationService: IInstantiationService, contextKeyService: IContextKeyService, listService: IListService, themeService: IThemeService, configurationService: IConfigurationService); updateOptions(options?: IWorkbenchAsyncDataTreeOptionsUpdate): void; } export interface IWorkbenchCompressibleAsyncDataTreeOptions<T, TFilterData> extends ICompressibleAsyncDataTreeOptions<T, TFilterData>, IResourceNavigatorOptions { readonly accessibilityProvider: IListAccessibilityProvider<T>; readonly overrideStyles?: IColorMapping; readonly selectionNavigation?: boolean; } export declare class WorkbenchCompressibleAsyncDataTree<TInput, T, TFilterData = void> extends CompressibleAsyncDataTree<TInput, T, TFilterData> { private internals; get contextKeyService(): IContextKeyService; get useAltAsMultipleSelectionModifier(): boolean; get onDidOpen(): Event<IOpenEvent<T | undefined>>; constructor(user: string, container: HTMLElement, virtualDelegate: IListVirtualDelegate<T>, compressionDelegate: ITreeCompressionDelegate<T>, renderers: ICompressibleTreeRenderer<T, TFilterData, any>[], dataSource: IAsyncDataSource<TInput, T>, options: IWorkbenchCompressibleAsyncDataTreeOptions<T, TFilterData>, instantiationService: IInstantiationService, contextKeyService: IContextKeyService, listService: IListService, themeService: IThemeService, configurationService: IConfigurationService); updateOptions(options: ICompressibleAsyncDataTreeOptionsUpdate): void; }