UNPKG

theia-sprotty

Version:

Glue code for sprotty diagrams in a Theia IDE

44 lines 2.3 kB
import { ILogger, ActionHandlerRegistry, IActionDispatcher, SModelStorage, ViewerOptions, DiagramServer, ActionMessage, ExportSvgAction, Action, ICommand, ServerStatusAction, RequestPopupModelAction, SModelRootSchema, SModelElementSchema } from 'sprotty/lib'; import { TheiaSprottyConnector } from './theia-sprotty-connector'; import { Workspace } from '@theia/languages/lib/browser'; export declare const TheiaDiagramServerProvider: unique symbol; export declare type TheiaDiagramServerProvider = () => Promise<TheiaDiagramServer>; export declare const IRootPopupModelProvider: unique symbol; export interface IRootPopupModelProvider { getPopupModel(action: RequestPopupModelAction, rootElement: SModelRootSchema): Promise<SModelElementSchema | undefined>; } /** * A sprotty DiagramServer that can be connected to a Theia language * server. * * This class is the sprotty side of the Theia/sprotty integration. It * is instantiated with the DI container of the sprotty diagram. Theia * services are available via the TheiaDiagramServerConnector. */ export declare class TheiaDiagramServer extends DiagramServer { actionDispatcher: IActionDispatcher; private connector; private resolveConnector; protected sourceUri: string; protected workspace: Workspace | undefined; protected rootPopupModelProvider: IRootPopupModelProvider; constructor(actionDispatcher: IActionDispatcher, actionHandlerRegistry: ActionHandlerRegistry, viewerOptions: ViewerOptions, storage: SModelStorage, logger: ILogger); connect(connector: TheiaSprottyConnector): void; disconnect(): void; private waitForConnector; getConnector(): Promise<TheiaSprottyConnector>; getSourceUri(): string; getWorkspace(): Workspace | undefined; initialize(registry: ActionHandlerRegistry): void; handle(action: Action): void | ICommand; handleLocally(action: Action): boolean; handleExportSvgAction(action: ExportSvgAction): boolean; handleRequestPopupModel(action: RequestPopupModelAction): boolean; protected handleServerStateAction(status: ServerStatusAction): boolean; sendMessage(message: ActionMessage): void; /** * made public */ messageReceived(message: ActionMessage): void; } //# sourceMappingURL=theia-diagram-server.d.ts.map