UNPKG

@eclipse-glsp/client

Version:

A sprotty-based client for GLSP

128 lines 6.6 kB
/******************************************************************************** * Copyright (c) 2019-2024 EclipseSource 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 { Action, AnchorComputerRegistry, CommandExecutionContext, CommandReturn, Disposable, EdgeRouterRegistry, GConnectableElement, GModelElement, GRoutingHandle, MouseListener, Point, SwitchEditModeAction, SwitchEditModeCommand } from '@eclipse-glsp/sprotty'; import { DragAwareMouseListener } from '../../../base/drag-aware-mouse-listener'; import { IFeedbackActionDispatcher } from '../../../base/feedback/feedback-action-dispatcher'; import { FeedbackCommand } from '../../../base/feedback/feedback-command'; import { FeedbackEmitter } from '../../../base/feedback/feedback-emitter'; import { IChangeBoundsManager } from '../change-bounds/change-bounds-manager'; import { ChangeBoundsTracker, MoveableRoutingHandle } from '../change-bounds/change-bounds-tracker'; import { FeedbackEdgeEndMovingMouseListener } from '../edge-creation/edge-creation-tool-feedback'; /** * RECONNECT HANDLES FEEDBACK */ export interface ShowEdgeReconnectHandlesFeedbackAction extends Action { kind: typeof ShowEdgeReconnectHandlesFeedbackAction.KIND; readonly elementId: string; } export declare namespace ShowEdgeReconnectHandlesFeedbackAction { const KIND = "showReconnectHandlesFeedback"; function is(object: any): object is ShowEdgeReconnectHandlesFeedbackAction; function create(elementId: string): ShowEdgeReconnectHandlesFeedbackAction; } export interface HideEdgeReconnectHandlesFeedbackAction extends Action { kind: typeof HideEdgeReconnectHandlesFeedbackAction.KIND; } export declare namespace HideEdgeReconnectHandlesFeedbackAction { const KIND = "hideReconnectHandlesFeedback"; function is(object: any): object is HideEdgeReconnectHandlesFeedbackAction; function create(): HideEdgeReconnectHandlesFeedbackAction; } export declare class ShowEdgeReconnectHandlesFeedbackCommand extends FeedbackCommand { protected action: ShowEdgeReconnectHandlesFeedbackAction; static readonly KIND = "showReconnectHandlesFeedback"; constructor(action: ShowEdgeReconnectHandlesFeedbackAction); execute(context: CommandExecutionContext): CommandReturn; } export declare class HideEdgeReconnectHandlesFeedbackCommand extends FeedbackCommand { protected action: HideEdgeReconnectHandlesFeedbackAction; static readonly KIND = "hideReconnectHandlesFeedback"; constructor(action: HideEdgeReconnectHandlesFeedbackAction); execute(context: CommandExecutionContext): CommandReturn; } /** * ROUTING FEEDBACK */ export interface SwitchRoutingModeAction extends Omit<SwitchEditModeAction, 'kind'> { kind: typeof SwitchRoutingModeAction.KIND; } export declare namespace SwitchRoutingModeAction { const KIND = "switchRoutingMode"; function create(options: { elementsToActivate?: string[]; elementsToDeactivate?: string[]; }): SwitchRoutingModeAction; } export declare class SwitchRoutingModeCommand extends SwitchEditModeCommand { static KIND: string; constructor(action: SwitchRoutingModeAction); } /** * SOURCE AND TARGET EDGE FEEDBACK */ export interface DrawFeedbackEdgeSourceAction extends Action { kind: typeof DrawFeedbackEdgeSourceAction.KIND; elementTypeId: string; targetId: string; } export declare namespace DrawFeedbackEdgeSourceAction { const KIND = "drawFeedbackEdgeSource"; function is(object: any): object is DrawFeedbackEdgeSourceAction; function create(options: { elementTypeId: string; targetId: string; }): DrawFeedbackEdgeSourceAction; } export declare class DrawFeedbackEdgeSourceCommand extends FeedbackCommand { protected action: DrawFeedbackEdgeSourceAction; static readonly KIND = "drawFeedbackEdgeSource"; constructor(action: DrawFeedbackEdgeSourceAction); execute(context: CommandExecutionContext): CommandReturn; } /** * SOURCE AND TARGET MOUSE MOVE LISTENER */ export declare class FeedbackEdgeTargetMovingMouseListener extends FeedbackEdgeEndMovingMouseListener { constructor(anchorRegistry: AnchorComputerRegistry, feedbackDispatcher: IFeedbackActionDispatcher); } export declare class FeedbackEdgeSourceMovingMouseListener extends MouseListener implements Disposable { protected anchorRegistry: AnchorComputerRegistry; protected feedbackDispatcher: IFeedbackActionDispatcher; protected feedback: FeedbackEmitter; constructor(anchorRegistry: AnchorComputerRegistry, feedbackDispatcher: IFeedbackActionDispatcher); mouseMove(target: GModelElement, event: MouseEvent): Action[]; protected computeAbsoluteAnchor(element: GConnectableElement, referencePoint: Point, offset?: number): Point; dispose(): void; } export declare class FeedbackEdgeRouteMovingMouseListener extends DragAwareMouseListener { protected changeBoundsManager: IChangeBoundsManager; protected edgeRouterRegistry?: EdgeRouterRegistry | undefined; protected tracker: ChangeBoundsTracker; constructor(changeBoundsManager: IChangeBoundsManager, edgeRouterRegistry?: EdgeRouterRegistry | undefined); mouseDown(target: GModelElement, event: MouseEvent): Action[]; draggingMouseMove(target: GModelElement, event: MouseEvent): Action[]; protected moveRoutingHandles(target: GModelElement, event: MouseEvent): Action[]; protected getRoutingHandlesToMove(context: GModelElement): MoveableRoutingHandle[]; protected getHandlePosition(handle: GRoutingHandle): Point | undefined; nonDraggingMouseUp(element: GModelElement, event: MouseEvent): Action[]; draggingMouseUp(_target: GModelElement, _event: MouseEvent): Action[]; dispose(): void; } /** * UTILITY FUNCTIONS */ export declare function drawFeedbackEdgeSource(context: CommandExecutionContext, targetId: string, elementTypeId: string): void; //# sourceMappingURL=edge-edit-tool-feedback.d.ts.map