import { IDisposable } from '../lifecycle'; import { IView, LayoutPriority, Orientation, Sizing, Splitview, SplitViewOptions } from './splitview'; import { SplitviewComponentOptions } from './options'; import { BaseComponentOptions, Parameters } from '../panel/types'; import { Event } from '../events'; import { SplitviewPanel, ISplitviewPanel } from './splitviewPanel'; import { Resizable } from '../resizable'; export interface SerializedSplitviewPanelData { id: string; component: string; minimumSize?: number; maximumSize?: number; params?: { [index: string]: any; }; } export interface SerializedSplitviewPanel { snap?: boolean; priority?: LayoutPriority; data: SerializedSplitviewPanelData; size: number; } export interface SerializedSplitview { orientation: Orientation; size: number; activeView?: string; views: SerializedSplitviewPanel[]; } export interface AddSplitviewComponentOptions extends BaseComponentOptions { index?: number; minimumSize?: number; maximumSize?: number; } export interface ISplitviewComponent extends IDisposable { readonly minimumSize: number; readonly maximumSize: number; readonly height: number; readonly width: number; readonly length: number; readonly orientation: Orientation; readonly onDidAddView: Event; readonly onDidRemoveView: Event; readonly onDidLayoutFromJSON: Event; readonly panels: SplitviewPanel[]; updateOptions(options: Partial): void; addPanel(options: AddSplitviewComponentOptions): ISplitviewPanel; layout(width: number, height: number): void; onDidLayoutChange: Event; toJSON(): SerializedSplitview; fromJSON(serializedSplitview: SerializedSplitview): void; focus(): void; getPanel(id: string): ISplitviewPanel | undefined; removePanel(panel: ISplitviewPanel, sizing?: Sizing): void; setVisible(panel: ISplitviewPanel, visible: boolean): void; movePanel(from: number, to: number): void; clear(): void; } /** * A high-level implementation of splitview that works using 'panels' */ export declare class SplitviewComponent extends Resizable implements ISplitviewComponent { private readonly _splitviewChangeDisposable; private _splitview; private _activePanel; private readonly _panels; private _options; private readonly _onDidLayoutfromJSON; readonly onDidLayoutFromJSON: Event; private readonly _onDidAddView; readonly onDidAddView: Event; private readonly _onDidRemoveView; readonly onDidRemoveView: Event; private readonly _onDidLayoutChange; readonly onDidLayoutChange: Event; private readonly _classNames; get panels(): SplitviewPanel[]; get options(): SplitviewComponentOptions; get length(): number; get orientation(): Orientation; get splitview(): Splitview; set splitview(value: Splitview); get minimumSize(): number; get maximumSize(): number; get height(): number; get width(): number; constructor(container: HTMLElement, options: SplitviewComponentOptions); updateOptions(options: Partial): void; focus(): void; movePanel(from: number, to: number): void; setVisible(panel: SplitviewPanel, visible: boolean): void; setActive(panel: SplitviewPanel, skipFocus?: boolean): void; removePanel(panel: SplitviewPanel, sizing?: Sizing): void; getPanel(id: string): SplitviewPanel | undefined; addPanel(options: AddSplitviewComponentOptions): SplitviewPanel; layout(width: number, height: number): void; private doAddView; toJSON(): SerializedSplitview; fromJSON(serializedSplitview: SerializedSplitview): void; clear(): void; dispose(): void; }