import { Position } from '../dnd/droptarget'; import { DockviewComponent } from '../dockview/dockviewComponent'; import { DockviewGroupPanel } from '../dockview/dockviewGroupPanel'; import { DockviewGroupChangeEvent, DockviewGroupLocation, DockviewGroupPanelLocked } from '../dockview/dockviewGroupPanelModel'; import { DockviewHeaderPosition } from '../dockview/options'; import { Emitter, Event } from '../events'; import { GridviewPanelApi, GridviewPanelApiImpl, SizeEvent } from './gridviewPanelApi'; export interface DockviewGroupMoveParams { group?: DockviewGroupPanel; position?: Position; /** * The index to place the panel within a group, only applicable if the placement is within an existing group */ index?: number; /** * Whether to skip setting the group as active after moving */ skipSetActive?: boolean; } export interface DockviewGroupPanelCollapsedChangeEvent { readonly isCollapsed: boolean; } export interface DockviewGroupPanelApi extends GridviewPanelApi { readonly onDidLocationChange: Event; readonly onDidActivePanelChange: Event; /** * Fired when an edge group's collapsed state changes. * Never fires for non-edge groups. */ readonly onDidCollapsedChange: Event; readonly location: DockviewGroupLocation; /** * Whether this group is locked against drop interactions. * - `true`: panels cannot be dropped into the group (center / tabs), * but the group can still be split from its edges. * - `'no-drop-target'`: all drop zones are disabled for this group. */ locked: DockviewGroupPanelLocked; /** * If you require the Window object */ getWindow(): Window; moveTo(options: DockviewGroupMoveParams): void; setHeaderPosition(position: DockviewHeaderPosition): void; getHeaderPosition(): DockviewHeaderPosition; maximize(): void; isMaximized(): boolean; exitMaximized(): void; close(): void; /** * Collapse this group (edge groups only). No-op for non-edge groups. */ collapse(): void; /** * Expand this group (edge groups only). No-op for non-edge groups. */ expand(): void; /** * Returns true if this edge group is currently collapsed. * Always returns false for non-edge groups. */ isCollapsed(): boolean; } export interface DockviewGroupPanelFloatingChangeEvent { readonly location: DockviewGroupLocation; } export declare class DockviewGroupPanelApiImpl extends GridviewPanelApiImpl { private readonly accessor; private _group; private _pendingSize; readonly _onDidLocationChange: Emitter; readonly onDidLocationChange: Event; readonly _onDidActivePanelChange: Emitter; readonly onDidActivePanelChange: Event; readonly _onDidCollapsedChange: Emitter; readonly onDidCollapsedChange: Event; get location(): DockviewGroupLocation; get locked(): DockviewGroupPanelLocked; set locked(value: DockviewGroupPanelLocked); constructor(id: string, accessor: DockviewComponent); setSize(event: SizeEvent): void; close(): void; getWindow(): Window; setHeaderPosition(position: DockviewHeaderPosition): void; getHeaderPosition(): DockviewHeaderPosition; moveTo(options: DockviewGroupMoveParams): void; maximize(): void; isMaximized(): boolean; exitMaximized(): void; collapse(): void; expand(): void; isCollapsed(): boolean; initialize(group: DockviewGroupPanel): void; }