@eclipse-glsp/client
Version:
A sprotty-based client for GLSP
128 lines • 6.6 kB
TypeScript
/********************************************************************************
* 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