/******************************************************************************** * Copyright (C) 2018 Red Hat, Inc. and others. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0 which is available at * http://www.eclipse.org/legal/epl-2.0. * * This Source Code may also be made available under the following Secondary * Licenses when the conditions for such availability set forth in the Eclipse * Public License v. 2.0 are satisfied: GNU General Public License, version 2 * with the GNU Classpath Exception which is available at * https://www.gnu.org/software/classpath/license.html. * * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 ********************************************************************************/ /// import { Message } from '@phosphor/messaging'; import { PreferencesMenuFactory } from './preferences-menu-factory'; import { PreferencesDecorator } from './preferences-decorator'; import { DockPanel, SplitPanel, Widget } from '@phosphor/widgets'; import { ApplicationShell, ContextMenuRenderer, PreferenceSchemaProvider, PreferenceScope, PreferenceService, Saveable, TreeModel, TreeNode, TreeProps, TreeWidget, WidgetManager } from '@devpodio/core/lib/browser'; import { UserPreferenceProvider } from './user-preference-provider'; import { WorkspacePreferenceProvider } from './workspace-preference-provider'; import { PreferencesEditorWidget } from './preference-editor-widget'; import { EditorManager } from '@devpodio/editor/lib/browser'; import { DisposableCollection, Emitter, Event, MessageService } from '@devpodio/core'; import { FileSystem } from '@devpodio/filesystem/lib/common'; import { WorkspaceService } from '@devpodio/workspace/lib/browser/workspace-service'; export declare class PreferencesContainer extends SplitPanel implements ApplicationShell.TrackableWidgetProvider, Saveable { static ID: string; protected treeWidget: PreferencesTreeWidget | undefined; protected editorsContainer: PreferencesEditorsContainer; private currentEditor; private readonly editors; private deferredEditors; protected readonly onDirtyChangedEmitter: Emitter; readonly onDirtyChanged: Event; protected readonly onDidChangeTrackableWidgetsEmitter: Emitter; readonly onDidChangeTrackableWidgets: Event; protected readonly toDispose: DisposableCollection; protected readonly widgetManager: WidgetManager; protected readonly shell: ApplicationShell; protected readonly messageService: MessageService; protected readonly preferenceService: PreferenceService; protected readonly workspaceService: WorkspaceService; protected _preferenceScope: PreferenceScope; protected init(): void; dispose(): void; readonly autoSave: 'on' | 'off'; readonly dirty: boolean; save(): void; getTrackableWidgets(): Promise; preferenceScope: PreferenceScope; protected onAfterAttach(msg: Message): Promise; protected onActivateRequest(msg: Message): void; protected onCloseRequest(msg: Message): void; activatePreferenceEditor(preferenceScope: PreferenceScope): Promise; private doActivatePreferenceEditor; protected handleEditorsChanged(): void; private refreshFoldersPreferencesEditor; } export declare class PreferencesEditorsContainer extends DockPanel { protected readonly workspaceService: WorkspaceService; protected readonly fileSystem: FileSystem; static ID: string; protected readonly editorManager: EditorManager; protected readonly userPreferenceProvider: UserPreferenceProvider; protected readonly workspacePreferenceProvider: WorkspacePreferenceProvider; private userPreferenceEditorWidget; private workspacePreferenceEditorWidget; private foldersPreferenceEditorWidget; private readonly onInitEmitter; readonly onInit: Event; private readonly onEditorChangedEmitter; readonly onEditorChanged: Event; private readonly onFolderPreferenceEditorUriChangedEmitter; readonly onFolderPreferenceEditorUriChanged: Event; protected readonly toDispose: DisposableCollection; constructor(workspaceService: WorkspaceService, fileSystem: FileSystem); dispose(): void; onCloseRequest(msg: Message): void; onUpdateRequest(msg: Message): void; protected onAfterAttach(msg: Message): Promise; protected getUserPreferenceEditorWidget(): Promise; refreshWorkspacePreferenceEditor(): Promise; protected getWorkspacePreferenceEditorWidget(): Promise; readonly activeFolder: string | undefined; refreshFoldersPreferencesEditorWidget(currentFolder: string | undefined): Promise; closeFoldersPreferenceEditorWidget(): void; protected getFoldersPreferencesEditor(folder: string | undefined): Promise; private getFolderSettingsUri; activatePreferenceEditor(preferenceScope: PreferenceScope): void; private getPreferenceEditorCaption; } export declare class PreferencesTreeWidget extends TreeWidget { readonly model: TreeModel; protected readonly treeProps: TreeProps; protected readonly contextMenuRenderer: ContextMenuRenderer; protected readonly preferenceSchemaProvider: PreferenceSchemaProvider; static ID: string; private activeFolderUri; private preferencesGroupNames; private readonly properties; private readonly onPreferenceSelectedEmitter; readonly onPreferenceSelected: Event<{ [key: string]: string; }>; protected readonly toDispose: DisposableCollection; protected readonly preferencesMenuFactory: PreferencesMenuFactory; protected readonly preferenceService: PreferenceService; protected readonly decorator: PreferencesDecorator; protected constructor(model: TreeModel, treeProps: TreeProps, contextMenuRenderer: ContextMenuRenderer, preferenceSchemaProvider: PreferenceSchemaProvider); dispose(): void; protected onAfterAttach(msg: Message): void; protected handleContextMenuEvent(node: TreeNode | undefined, event: React.MouseEvent): void; protected handleClickEvent(node: TreeNode | undefined, event: React.MouseEvent): void; protected handleEnter(event: KeyboardEvent): void; private openContextMenu; protected initializeModel(): void; setActiveFolder(folder: string): void; } //# sourceMappingURL=preferences-tree-widget.d.ts.map