@eclipse-glsp/client 1.1.0-RC05 → 1.1.0-RC07
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/css/decoration.css +1 -1
- package/lib/base/auto-complete/auto-complete-widget.d.ts +2 -2
- package/lib/base/auto-complete/auto-complete-widget.js +3 -3
- package/lib/base/command-stack.d.ts +1 -2
- package/lib/base/command-stack.d.ts.map +1 -1
- package/lib/base/command-stack.js +5 -14
- package/lib/base/command-stack.js.map +1 -1
- package/lib/base/container-modules.d.ts +15 -15
- package/lib/base/container-modules.d.ts.map +1 -1
- package/lib/base/container-modules.js +19 -25
- package/lib/base/container-modules.js.map +1 -1
- package/lib/base/di.config.d.ts +1 -1
- package/lib/base/di.config.d.ts.map +1 -1
- package/lib/base/di.config.js +7 -7
- package/lib/base/di.config.js.map +1 -1
- package/lib/base/editor-context-service.d.ts +3 -3
- package/lib/base/editor-context-service.d.ts.map +1 -1
- package/lib/base/editor-context-service.js +3 -3
- package/lib/base/editor-context-service.js.map +1 -1
- package/lib/base/tool-manager/glsp-tool-manager.d.ts +4 -5
- package/lib/base/tool-manager/glsp-tool-manager.d.ts.map +1 -1
- package/lib/base/tool-manager/glsp-tool-manager.js +15 -8
- package/lib/base/tool-manager/glsp-tool-manager.js.map +1 -1
- package/lib/features/bounds/di.config.d.ts +0 -16
- package/lib/features/bounds/di.config.d.ts.map +1 -1
- package/lib/features/bounds/di.config.js +12 -9
- package/lib/features/bounds/di.config.js.map +1 -1
- package/lib/features/{layout → bounds}/freeform-layout.d.ts +2 -2
- package/lib/features/{layout → bounds}/freeform-layout.d.ts.map +1 -1
- package/lib/features/{layout → bounds}/freeform-layout.js +2 -2
- package/lib/features/{layout → bounds}/freeform-layout.js.map +1 -1
- package/lib/features/bounds/freeform-layout.spec.d.ts.map +1 -0
- package/lib/features/{layout/tests → bounds}/freeform-layout.spec.js +37 -37
- package/lib/features/bounds/freeform-layout.spec.js.map +1 -0
- package/lib/features/bounds/glsp-hidden-bounds-updater.d.ts +1 -1
- package/lib/features/bounds/glsp-hidden-bounds-updater.d.ts.map +1 -1
- package/lib/features/bounds/glsp-hidden-bounds-updater.js +3 -2
- package/lib/features/bounds/glsp-hidden-bounds-updater.js.map +1 -1
- package/lib/features/{layout → bounds}/hbox-layout.d.ts +1 -1
- package/lib/features/{layout → bounds}/hbox-layout.d.ts.map +1 -1
- package/lib/features/{layout → bounds}/hbox-layout.js +1 -1
- package/lib/features/{layout → bounds}/hbox-layout.js.map +1 -1
- package/lib/features/bounds/hbox-layout.spec.d.ts.map +1 -0
- package/lib/features/{layout/tests → bounds}/hbox-layout.spec.js +18 -18
- package/lib/features/bounds/hbox-layout.spec.js.map +1 -0
- package/lib/features/{layout/tests/layouter-test-util.d.ts → bounds/layouter-test-util.spec.d.ts} +2 -3
- package/lib/features/bounds/layouter-test-util.spec.d.ts.map +1 -0
- package/lib/features/{layout/tests/layouter-test-util.js → bounds/layouter-test-util.spec.js} +6 -6
- package/lib/features/bounds/layouter-test-util.spec.js.map +1 -0
- package/lib/features/{layout → bounds}/layouter.d.ts +1 -1
- package/lib/features/{layout → bounds}/layouter.d.ts.map +1 -1
- package/lib/features/{layout → bounds}/layouter.js +1 -1
- package/lib/features/{layout → bounds}/layouter.js.map +1 -1
- package/lib/features/{layout → bounds}/vbox-layout.d.ts +1 -1
- package/lib/features/{layout → bounds}/vbox-layout.d.ts.map +1 -1
- package/lib/features/{layout → bounds}/vbox-layout.js +1 -1
- package/lib/features/{layout → bounds}/vbox-layout.js.map +1 -1
- package/lib/features/bounds/vbox-layout.spec.d.ts.map +1 -0
- package/lib/features/{layout/tests → bounds}/vbox-layout.spec.js +18 -18
- package/lib/features/bounds/vbox-layout.spec.js.map +1 -0
- package/lib/features/command-palette/command-palette-tool.d.ts +1 -1
- package/lib/features/command-palette/command-palette-tool.d.ts.map +1 -1
- package/lib/features/command-palette/command-palette-tool.js +3 -3
- package/lib/features/command-palette/command-palette-tool.js.map +1 -1
- package/lib/features/command-palette/di.config.d.ts +0 -15
- package/lib/features/command-palette/di.config.d.ts.map +1 -1
- package/lib/features/command-palette/di.config.js +6 -7
- package/lib/features/command-palette/di.config.js.map +1 -1
- package/lib/features/context-menu/di.config.d.ts +0 -15
- package/lib/features/context-menu/di.config.d.ts.map +1 -1
- package/lib/features/context-menu/di.config.js +4 -3
- package/lib/features/context-menu/di.config.js.map +1 -1
- package/lib/features/copy-paste/copy-paste-handler.d.ts +2 -2
- package/lib/features/copy-paste/copy-paste-handler.d.ts.map +1 -1
- package/lib/features/copy-paste/copy-paste-handler.js +5 -5
- package/lib/features/copy-paste/copy-paste-handler.js.map +1 -1
- package/lib/features/decoration/di.config.d.ts +0 -15
- package/lib/features/decoration/di.config.d.ts.map +1 -1
- package/lib/features/decoration/di.config.js +4 -4
- package/lib/features/decoration/di.config.js.map +1 -1
- package/lib/features/edit-label/di.config.d.ts +0 -15
- package/lib/features/edit-label/di.config.d.ts.map +1 -1
- package/lib/features/edit-label/di.config.js +3 -2
- package/lib/features/edit-label/di.config.js.map +1 -1
- package/lib/features/export/di.config.d.ts +0 -15
- package/lib/features/export/di.config.d.ts.map +1 -1
- package/lib/features/export/di.config.js +6 -5
- package/lib/features/export/di.config.js.map +1 -1
- package/lib/features/export/glsp-svg-exporter.d.ts +1 -1
- package/lib/features/export/glsp-svg-exporter.d.ts.map +1 -1
- package/lib/features/export/glsp-svg-exporter.js +1 -2
- package/lib/features/export/glsp-svg-exporter.js.map +1 -1
- package/lib/features/hover/di.config.d.ts +0 -15
- package/lib/features/hover/di.config.d.ts.map +1 -1
- package/lib/features/hover/di.config.js +7 -7
- package/lib/features/hover/di.config.js.map +1 -1
- package/lib/features/layout/di.config.d.ts +1 -1
- package/lib/features/layout/di.config.d.ts.map +1 -1
- package/lib/features/layout/di.config.js +1 -9
- package/lib/features/layout/di.config.js.map +1 -1
- package/lib/features/navigation/di.config.d.ts +2 -1
- package/lib/features/navigation/di.config.d.ts.map +1 -1
- package/lib/features/navigation/di.config.js +3 -3
- package/lib/features/navigation/di.config.js.map +1 -1
- package/lib/features/navigation/navigation-action-handler.d.ts +2 -2
- package/lib/features/navigation/navigation-action-handler.js +2 -2
- package/lib/features/save/di.config.d.ts +0 -15
- package/lib/features/save/di.config.d.ts.map +1 -1
- package/lib/features/save/di.config.js +3 -2
- package/lib/features/save/di.config.js.map +1 -1
- package/lib/features/select/di.config.d.ts +0 -15
- package/lib/features/select/di.config.d.ts.map +1 -1
- package/lib/features/select/di.config.js +8 -7
- package/lib/features/select/di.config.js.map +1 -1
- package/lib/features/select/selection-service.spec.js +19 -3
- package/lib/features/select/selection-service.spec.js.map +1 -1
- package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +2 -2
- package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js +3 -3
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/creation-tool-feedback.d.ts +6 -6
- package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/creation-tool-feedback.js +4 -8
- package/lib/features/tool-feedback/creation-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/di.config.d.ts +0 -15
- package/lib/features/tool-feedback/di.config.d.ts.map +1 -1
- package/lib/features/tool-feedback/di.config.js +20 -18
- package/lib/features/tool-feedback/di.config.js.map +1 -1
- package/lib/features/tool-palette/di.config.d.ts +0 -15
- package/lib/features/tool-palette/di.config.d.ts.map +1 -1
- package/lib/features/tool-palette/di.config.js +4 -4
- package/lib/features/tool-palette/di.config.js.map +1 -1
- package/lib/features/tools/change-bounds-tool.d.ts +1 -1
- package/lib/features/tools/change-bounds-tool.d.ts.map +1 -1
- package/lib/features/tools/change-bounds-tool.js +6 -6
- package/lib/features/tools/change-bounds-tool.js.map +1 -1
- package/lib/features/tools/di.config.d.ts +18 -5
- package/lib/features/tools/di.config.d.ts.map +1 -1
- package/lib/features/tools/di.config.js +14 -15
- package/lib/features/tools/di.config.js.map +1 -1
- package/lib/features/tools/glsp-manhattan-edge-router.d.ts +2 -2
- package/lib/features/tools/glsp-manhattan-edge-router.d.ts.map +1 -1
- package/lib/features/tools/glsp-manhattan-edge-router.js +4 -4
- package/lib/features/tools/glsp-manhattan-edge-router.js.map +1 -1
- package/lib/features/validation/di.config.js +4 -4
- package/lib/features/validation/di.config.js.map +1 -1
- package/lib/features/viewport/di.config.d.ts +0 -15
- package/lib/features/viewport/di.config.d.ts.map +1 -1
- package/lib/features/viewport/di.config.js +12 -11
- package/lib/features/viewport/di.config.js.map +1 -1
- package/lib/index.d.ts +26 -4
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +33 -4
- package/lib/index.js.map +1 -1
- package/lib/sprotty-reexport.d.ts +2 -2
- package/lib/sprotty-reexport.d.ts.map +1 -1
- package/lib/sprotty-reexport.js +4 -4
- package/lib/sprotty-reexport.js.map +1 -1
- package/lib/utils/smodel-util.d.ts +1 -1
- package/lib/utils/smodel-util.d.ts.map +1 -1
- package/lib/utils/smodel-util.js +1 -1
- package/lib/utils/smodel-util.js.map +1 -1
- package/lib/views/base-view-module.d.ts +18 -6
- package/lib/views/base-view-module.d.ts.map +1 -1
- package/lib/views/base-view-module.js +1 -1
- package/lib/views/base-view-module.js.map +1 -1
- package/lib/views/glsp-edge-view.d.ts +2 -2
- package/lib/views/glsp-edge-view.d.ts.map +1 -1
- package/lib/views/glsp-edge-view.js +2 -2
- package/lib/views/glsp-edge-view.js.map +1 -1
- package/lib/views/index.d.ts +1 -1
- package/lib/views/index.js +1 -1
- package/lib/views/rounded-corner-view.js +2 -2
- package/lib/views/rounded-corner.d.ts +1 -1
- package/lib/views/rounded-corner.js +1 -1
- package/package.json +3 -3
- package/src/base/auto-complete/auto-complete-widget.ts +3 -3
- package/src/base/command-stack.ts +13 -11
- package/src/base/container-modules.ts +18 -31
- package/src/base/di.config.ts +8 -8
- package/src/base/editor-context-service.ts +4 -4
- package/src/base/tool-manager/glsp-tool-manager.ts +15 -12
- package/src/features/bounds/di.config.ts +21 -11
- package/src/features/{layout/tests → bounds}/freeform-layout.spec.ts +2 -2
- package/src/features/{layout → bounds}/freeform-layout.ts +2 -2
- package/src/features/bounds/glsp-hidden-bounds-updater.ts +4 -7
- package/src/features/{layout/tests → bounds}/hbox-layout.spec.ts +2 -2
- package/src/features/{layout → bounds}/hbox-layout.ts +1 -1
- package/src/features/{layout/tests/layouter-test-util.ts → bounds/layouter-test-util.spec.ts} +5 -5
- package/src/features/{layout → bounds}/layouter.ts +1 -1
- package/src/features/{layout/tests → bounds}/vbox-layout.spec.ts +2 -2
- package/src/features/{layout → bounds}/vbox-layout.ts +1 -1
- package/src/features/command-palette/command-palette-tool.ts +3 -3
- package/src/features/command-palette/di.config.ts +6 -7
- package/src/features/context-menu/di.config.ts +4 -3
- package/src/features/copy-paste/copy-paste-handler.ts +5 -5
- package/src/features/decoration/di.config.ts +4 -4
- package/src/features/edit-label/di.config.ts +3 -2
- package/src/features/export/di.config.ts +6 -5
- package/src/features/export/glsp-svg-exporter.ts +8 -7
- package/src/features/hover/di.config.ts +8 -7
- package/src/features/layout/di.config.ts +2 -11
- package/src/features/navigation/di.config.ts +4 -2
- package/src/features/navigation/navigation-action-handler.ts +2 -2
- package/src/features/save/di.config.ts +3 -2
- package/src/features/select/di.config.ts +8 -7
- package/src/features/select/selection-service.spec.ts +4 -5
- package/src/features/tool-feedback/change-bounds-tool-feedback.ts +3 -3
- package/src/features/tool-feedback/creation-tool-feedback.ts +20 -14
- package/src/features/tool-feedback/di.config.ts +20 -18
- package/src/features/tool-palette/di.config.ts +4 -4
- package/src/features/tools/change-bounds-tool.ts +7 -7
- package/src/features/tools/di.config.ts +18 -19
- package/src/features/tools/glsp-manhattan-edge-router.ts +8 -5
- package/src/features/validation/di.config.ts +5 -5
- package/src/features/viewport/di.config.ts +13 -11
- package/src/index.ts +33 -4
- package/src/sprotty-reexport.ts +18 -8
- package/src/utils/smodel-util.ts +12 -5
- package/src/views/base-view-module.ts +4 -9
- package/src/views/glsp-edge-view.tsx +3 -3
- package/src/views/index.ts +1 -2
- package/src/views/rounded-corner-view.tsx +2 -2
- package/src/views/rounded-corner.ts +2 -2
- package/lib/features/layout/tests/freeform-layout.spec.d.ts.map +0 -1
- package/lib/features/layout/tests/freeform-layout.spec.js.map +0 -1
- package/lib/features/layout/tests/hbox-layout.spec.d.ts.map +0 -1
- package/lib/features/layout/tests/hbox-layout.spec.js.map +0 -1
- package/lib/features/layout/tests/layouter-test-util.d.ts.map +0 -1
- package/lib/features/layout/tests/layouter-test-util.js.map +0 -1
- package/lib/features/layout/tests/vbox-layout.spec.d.ts.map +0 -1
- package/lib/features/layout/tests/vbox-layout.spec.js.map +0 -1
- /package/lib/features/{layout/tests → bounds}/freeform-layout.spec.d.ts +0 -0
- /package/lib/features/{layout/tests → bounds}/hbox-layout.spec.d.ts +0 -0
- /package/lib/features/{layout/tests → bounds}/vbox-layout.spec.d.ts +0 -0
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { Action, Bounds, Point } from '@eclipse-glsp/protocol';
|
|
16
|
+
import { Action, Bounds, Point, SEdgeSchema } from '@eclipse-glsp/protocol';
|
|
17
17
|
import { inject, injectable } from 'inversify';
|
|
18
18
|
import {
|
|
19
19
|
AnchorComputerRegistry,
|
|
@@ -28,7 +28,6 @@ import {
|
|
|
28
28
|
SChildElement,
|
|
29
29
|
SConnectableElement,
|
|
30
30
|
SDanglingAnchor,
|
|
31
|
-
SEdge as SEdgeSchema,
|
|
32
31
|
SModelElement,
|
|
33
32
|
SModelRoot,
|
|
34
33
|
SRoutableElement,
|
|
@@ -42,7 +41,7 @@ export interface DrawFeedbackEdgeAction extends Action {
|
|
|
42
41
|
kind: typeof DrawFeedbackEdgeAction.KIND;
|
|
43
42
|
elementTypeId: string;
|
|
44
43
|
sourceId: string;
|
|
45
|
-
edgeSchema?: SEdgeSchema
|
|
44
|
+
edgeSchema?: Partial<SEdgeSchema>;
|
|
46
45
|
}
|
|
47
46
|
|
|
48
47
|
export namespace DrawFeedbackEdgeAction {
|
|
@@ -52,7 +51,11 @@ export namespace DrawFeedbackEdgeAction {
|
|
|
52
51
|
return Action.hasKind(object, KIND);
|
|
53
52
|
}
|
|
54
53
|
|
|
55
|
-
export function create(options: {
|
|
54
|
+
export function create(options: {
|
|
55
|
+
elementTypeId: string;
|
|
56
|
+
sourceId: string;
|
|
57
|
+
edgeSchema?: Partial<SEdgeSchema>;
|
|
58
|
+
}): DrawFeedbackEdgeAction {
|
|
56
59
|
return {
|
|
57
60
|
kind: KIND,
|
|
58
61
|
...options
|
|
@@ -69,8 +72,7 @@ export class DrawFeedbackEdgeCommand extends FeedbackCommand {
|
|
|
69
72
|
}
|
|
70
73
|
|
|
71
74
|
execute(context: CommandExecutionContext): CommandReturn {
|
|
72
|
-
|
|
73
|
-
drawFeedbackEdge(context, this.action.sourceId, this.action.elementTypeId, feedbackEdgeSchema);
|
|
75
|
+
drawFeedbackEdge(context, this.action.sourceId, this.action.elementTypeId, this.action.edgeSchema);
|
|
74
76
|
return context.root;
|
|
75
77
|
}
|
|
76
78
|
}
|
|
@@ -195,16 +197,16 @@ export function feedbackEdgeEndId(root: SModelRoot): string {
|
|
|
195
197
|
return root.id + '_feedback_anchor';
|
|
196
198
|
}
|
|
197
199
|
|
|
198
|
-
export const defaultFeedbackEdgeSchema: SEdgeSchema = {
|
|
200
|
+
export const defaultFeedbackEdgeSchema: Partial<SEdgeSchema> = {
|
|
199
201
|
cssClasses: ['feedback-edge'],
|
|
200
202
|
opacity: 0.3
|
|
201
|
-
}
|
|
203
|
+
};
|
|
202
204
|
|
|
203
205
|
export function drawFeedbackEdge(
|
|
204
206
|
context: CommandExecutionContext,
|
|
205
207
|
sourceId: string,
|
|
206
208
|
elementTypeId: string,
|
|
207
|
-
|
|
209
|
+
edgeTemplate?: Partial<SEdgeSchema>
|
|
208
210
|
): void {
|
|
209
211
|
const root = context.root;
|
|
210
212
|
const sourceChild = root.index.getById(sourceId);
|
|
@@ -221,12 +223,16 @@ export function drawFeedbackEdge(
|
|
|
221
223
|
edgeEnd.id = feedbackEdgeEndId(root);
|
|
222
224
|
edgeEnd.position = toAbsolutePosition(source);
|
|
223
225
|
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
226
|
+
const edgeSchema: SEdgeSchema = {
|
|
227
|
+
id: feedbackEdgeId(root),
|
|
228
|
+
type: elementTypeId,
|
|
229
|
+
sourceId: source.id,
|
|
230
|
+
targetId: edgeEnd.id,
|
|
231
|
+
...defaultFeedbackEdgeSchema,
|
|
232
|
+
...edgeTemplate
|
|
233
|
+
};
|
|
228
234
|
|
|
229
|
-
const feedbackEdge = context.modelFactory.createElement(
|
|
235
|
+
const feedbackEdge = context.modelFactory.createElement(edgeSchema);
|
|
230
236
|
if (isRoutable(feedbackEdge)) {
|
|
231
237
|
edgeEnd.feedbackEdge = feedbackEdge;
|
|
232
238
|
root.add(edgeEnd);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019-
|
|
2
|
+
* Copyright (c) 2019-2023 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
+
import { bindAsService } from '@eclipse-glsp/protocol';
|
|
16
17
|
import { ContainerModule } from 'inversify';
|
|
17
18
|
import { configureCommand, configureView, LocationPostprocessor, MoveCommand } from 'sprotty';
|
|
18
19
|
import { TYPES } from '../../base/types';
|
|
@@ -31,35 +32,36 @@ import { DrawMarqueeCommand, RemoveMarqueeCommand } from './marquee-tool-feedbac
|
|
|
31
32
|
import { FeedbackEdgeEndView, SResizeHandleView } from './view';
|
|
32
33
|
|
|
33
34
|
const toolFeedbackModule = new ContainerModule((bind, _unbind, isBound) => {
|
|
35
|
+
const context = { bind, isBound };
|
|
34
36
|
bind(TYPES.IFeedbackActionDispatcher).to(FeedbackActionDispatcher).inSingletonScope();
|
|
35
37
|
|
|
36
|
-
configureCommand(
|
|
38
|
+
configureCommand(context, ModifyCssFeedbackCommand);
|
|
37
39
|
|
|
38
40
|
// create node and edge tool feedback
|
|
39
|
-
configureCommand(
|
|
40
|
-
configureCommand(
|
|
41
|
+
configureCommand(context, DrawFeedbackEdgeCommand);
|
|
42
|
+
configureCommand(context, RemoveFeedbackEdgeCommand);
|
|
41
43
|
|
|
42
|
-
configureCommand(
|
|
43
|
-
configureCommand(
|
|
44
|
+
configureCommand(context, DrawMarqueeCommand);
|
|
45
|
+
configureCommand(context, RemoveMarqueeCommand);
|
|
44
46
|
|
|
45
|
-
configureView(
|
|
46
|
-
// move tool feedback: we use
|
|
47
|
-
configureCommand(
|
|
47
|
+
configureView(context, FeedbackEdgeEnd.TYPE, FeedbackEdgeEndView);
|
|
48
|
+
// move tool feedback: we use sprotty's MoveCommand as client-side visual feedback
|
|
49
|
+
configureCommand(context, MoveCommand);
|
|
48
50
|
|
|
49
51
|
// resize tool feedback
|
|
50
|
-
configureCommand(
|
|
51
|
-
configureCommand(
|
|
52
|
-
configureView(
|
|
52
|
+
configureCommand(context, ShowChangeBoundsToolResizeFeedbackCommand);
|
|
53
|
+
configureCommand(context, HideChangeBoundsToolResizeFeedbackCommand);
|
|
54
|
+
configureView(context, SResizeHandle.TYPE, SResizeHandleView);
|
|
53
55
|
|
|
54
56
|
// reconnect edge tool feedback
|
|
55
|
-
configureCommand(
|
|
56
|
-
configureCommand(
|
|
57
|
-
configureCommand(
|
|
57
|
+
configureCommand(context, ShowEdgeReconnectHandlesFeedbackCommand);
|
|
58
|
+
configureCommand(context, HideEdgeReconnectHandlesFeedbackCommand);
|
|
59
|
+
configureCommand(context, DrawFeedbackEdgeSourceCommand);
|
|
58
60
|
|
|
59
|
-
configureCommand(
|
|
61
|
+
configureCommand(context, SwitchRoutingModeCommand);
|
|
60
62
|
|
|
61
|
-
|
|
62
|
-
bind(TYPES.HiddenVNodePostprocessor).
|
|
63
|
+
bindAsService(context, TYPES.IVNodePostprocessor, LocationPostprocessor);
|
|
64
|
+
bind(TYPES.HiddenVNodePostprocessor).toService(LocationPostprocessor);
|
|
63
65
|
});
|
|
64
66
|
|
|
65
67
|
export default toolFeedbackModule;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019-
|
|
2
|
+
* Copyright (c) 2019-2023 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -13,15 +13,15 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
+
import { bindAsService } from '@eclipse-glsp/protocol';
|
|
16
17
|
import { ContainerModule } from 'inversify';
|
|
17
18
|
import { configureActionHandler, EnableDefaultToolsAction } from 'sprotty';
|
|
18
19
|
import '../../../css/tool-palette.css';
|
|
19
20
|
import { TYPES } from '../../base/types';
|
|
20
21
|
import { EnableToolPaletteAction, ToolPalette } from './tool-palette';
|
|
21
22
|
|
|
22
|
-
const toolPaletteModule = new ContainerModule((bind, _unbind, isBound,
|
|
23
|
-
bind
|
|
24
|
-
bind(TYPES.IUIExtension).toService(ToolPalette);
|
|
23
|
+
const toolPaletteModule = new ContainerModule((bind, _unbind, isBound, _rebind) => {
|
|
24
|
+
bindAsService(bind, TYPES.IUIExtension, ToolPalette);
|
|
25
25
|
configureActionHandler({ bind, isBound }, EnableToolPaletteAction.KIND, ToolPalette);
|
|
26
26
|
configureActionHandler({ bind, isBound }, EnableDefaultToolsAction.KIND, ToolPalette);
|
|
27
27
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019-
|
|
2
|
+
* Copyright (c) 2019-2023 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
|
|
16
|
+
import {
|
|
17
17
|
Action,
|
|
18
18
|
Bounds,
|
|
19
19
|
ChangeBoundsOperation,
|
|
@@ -243,16 +243,16 @@ export class ChangeBoundsListener extends DragAwareMouseListener implements Sele
|
|
|
243
243
|
// If client routing is enabled -> delegate routingpoints of connected edges to server
|
|
244
244
|
forEachElement(target.index, isNonRoutableSelectedMovableBoundsAware, element => {
|
|
245
245
|
if (element instanceof SConnectableElement) {
|
|
246
|
-
element.incomingEdges
|
|
246
|
+
element.incomingEdges
|
|
247
|
+
.map(connectable => calcElementAndRoutingPoints(connectable, routerRegistry))
|
|
247
248
|
.forEach(ear => newRoutingPoints.push(ear));
|
|
248
|
-
element.outgoingEdges
|
|
249
|
+
element.outgoingEdges
|
|
250
|
+
.map(connectable => calcElementAndRoutingPoints(connectable, routerRegistry))
|
|
249
251
|
.forEach(ear => newRoutingPoints.push(ear));
|
|
250
252
|
}
|
|
251
253
|
});
|
|
252
254
|
}
|
|
253
|
-
return newRoutingPoints.length > 0
|
|
254
|
-
? [ChangeRoutingPointsOperation.create(newRoutingPoints)]
|
|
255
|
-
: [];
|
|
255
|
+
return newRoutingPoints.length > 0 ? [ChangeRoutingPointsOperation.create(newRoutingPoints)] : [];
|
|
256
256
|
}
|
|
257
257
|
|
|
258
258
|
protected handleResize(activeResizeHandle: SResizeHandle): Action[] {
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { TriggerEdgeCreationAction, TriggerNodeCreationAction } from '@eclipse-glsp/protocol';
|
|
17
|
-
import { ContainerModule
|
|
16
|
+
import { bindAsService, BindingContext, bindOrRebind, TriggerEdgeCreationAction, TriggerNodeCreationAction } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { ContainerModule } from 'inversify';
|
|
18
18
|
import { configureActionHandler, configureModelElement, ManhattanEdgeRouter } from 'sprotty';
|
|
19
19
|
import { FocusStateChangedAction } from '../../base/actions/focus-change-action';
|
|
20
20
|
import { TYPES } from '../../base/types';
|
|
@@ -24,7 +24,7 @@ import { DelKeyDeleteTool, MouseDeleteTool } from './delete-tool';
|
|
|
24
24
|
import { EdgeCreationTool } from './edge-creation-tool';
|
|
25
25
|
import { EdgeEditTool } from './edge-edit-tool';
|
|
26
26
|
import { EnableDefaultToolsOnFocusLossHandler } from './enable-default-tools-on-focus-loss';
|
|
27
|
-
import {
|
|
27
|
+
import { GLSPManhattanEdgeRouter } from './glsp-manhattan-edge-router';
|
|
28
28
|
import { MarqueeMouseTool } from './marquee-mouse-tool';
|
|
29
29
|
import { MarqueeTool } from './marquee-tool';
|
|
30
30
|
import { MarqueeNode } from './model';
|
|
@@ -36,30 +36,29 @@ import { MarqueeView } from './view';
|
|
|
36
36
|
* and adds the marquee selection tool.
|
|
37
37
|
*/
|
|
38
38
|
export const toolsModule = new ContainerModule((bind, _unbind, isBound, rebind) => {
|
|
39
|
+
const context = { bind, isBound, rebind };
|
|
39
40
|
// Register default tools
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
bindAsService(context, TYPES.IDefaultTool, ChangeBoundsTool);
|
|
42
|
+
bindAsService(context, TYPES.IDefaultTool, EdgeEditTool);
|
|
43
|
+
bindAsService(context, TYPES.IDefaultTool, DelKeyDeleteTool);
|
|
43
44
|
|
|
44
45
|
// Register tools
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
bind(TYPES.ITool).toService(EdgeCreationTool);
|
|
49
|
-
bind(TYPES.ITool).toService(NodeCreationTool);
|
|
46
|
+
bindAsService(context, TYPES.ITool, MouseDeleteTool);
|
|
47
|
+
bindAsService(context, TYPES.ITool, NodeCreationTool);
|
|
48
|
+
bindAsService(context, TYPES.ITool, EdgeCreationTool);
|
|
50
49
|
|
|
51
|
-
configureMarqueeTool(
|
|
52
|
-
configureActionHandler(
|
|
53
|
-
configureActionHandler(
|
|
50
|
+
configureMarqueeTool(context);
|
|
51
|
+
configureActionHandler(context, TriggerNodeCreationAction.KIND, NodeCreationTool);
|
|
52
|
+
configureActionHandler(context, TriggerEdgeCreationAction.KIND, EdgeCreationTool);
|
|
54
53
|
|
|
55
|
-
bind(
|
|
56
|
-
|
|
54
|
+
bind(GLSPManhattanEdgeRouter).toSelf().inSingletonScope();
|
|
55
|
+
bindOrRebind(context, ManhattanEdgeRouter).toService(GLSPManhattanEdgeRouter);
|
|
57
56
|
});
|
|
58
57
|
|
|
59
|
-
export function configureMarqueeTool(context:
|
|
58
|
+
export function configureMarqueeTool(context: Pick<BindingContext, 'bind' | 'isBound'>): void {
|
|
60
59
|
configureModelElement(context, MARQUEE, MarqueeNode, MarqueeView);
|
|
61
|
-
context
|
|
62
|
-
context
|
|
60
|
+
bindAsService(context, TYPES.IDefaultTool, MarqueeTool);
|
|
61
|
+
bindAsService(context, TYPES.ITool, MarqueeMouseTool);
|
|
63
62
|
}
|
|
64
63
|
|
|
65
64
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2022 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2022-2023 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
import { almostEquals } from '@eclipse-glsp/protocol';
|
|
18
18
|
import { ManhattanEdgeRouter, ResolvedHandleMove, SRoutableElement } from 'sprotty';
|
|
19
19
|
|
|
20
|
-
export class
|
|
20
|
+
export class GLSPManhattanEdgeRouter extends ManhattanEdgeRouter {
|
|
21
21
|
protected override applyInnerHandleMoves(edge: SRoutableElement, moves: ResolvedHandleMove[]): void {
|
|
22
22
|
const route = this.route(edge);
|
|
23
23
|
const routingPoints = edge.routingPoints;
|
|
@@ -33,9 +33,11 @@ export class GSLPManhattanEdgeRouter extends ManhattanEdgeRouter {
|
|
|
33
33
|
if (routingPoints.length === 0) {
|
|
34
34
|
routingPoints.push({ x: correctedX, y: correctedY });
|
|
35
35
|
move.handle.pointIndex = 0;
|
|
36
|
+
} else if (almostEquals(route[0].x, route[1].x)) {
|
|
37
|
+
this.alignX(routingPoints, 0, correctedX);
|
|
38
|
+
} else {
|
|
39
|
+
this.alignY(routingPoints, 0, correctedY);
|
|
36
40
|
}
|
|
37
|
-
else if (almostEquals(route[0].x, route[1].x)) { this.alignX(routingPoints, 0, correctedX); }
|
|
38
|
-
else { this.alignY(routingPoints, 0, correctedY); }
|
|
39
41
|
} else if (index < routingPoints.length - 1) {
|
|
40
42
|
if (almostEquals(routingPoints[index].x, routingPoints[index + 1].x)) {
|
|
41
43
|
this.alignX(routingPoints, index, correctedX);
|
|
@@ -47,8 +49,9 @@ export class GSLPManhattanEdgeRouter extends ManhattanEdgeRouter {
|
|
|
47
49
|
} else {
|
|
48
50
|
if (almostEquals(route[route.length - 2].x, route[route.length - 1].x)) {
|
|
49
51
|
this.alignX(routingPoints, routingPoints.length - 1, correctedX);
|
|
52
|
+
} else {
|
|
53
|
+
this.alignY(routingPoints, routingPoints.length - 1, correctedY);
|
|
50
54
|
}
|
|
51
|
-
else { this.alignY(routingPoints, routingPoints.length - 1, correctedY); }
|
|
52
55
|
}
|
|
53
56
|
break;
|
|
54
57
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019-
|
|
2
|
+
* Copyright (c) 2019-2023 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { SetMarkersAction } from '@eclipse-glsp/protocol';
|
|
16
|
+
import { bindAsService, SetMarkersAction } from '@eclipse-glsp/protocol';
|
|
17
17
|
import { ContainerModule } from 'inversify';
|
|
18
18
|
import { configureActionHandler, configureCommand } from 'sprotty';
|
|
19
19
|
import { TYPES } from '../../base/types';
|
|
@@ -47,7 +47,7 @@ export const markerNavigatorModule = new ContainerModule((bind, _unbind, isBound
|
|
|
47
47
|
* in a standalone deployment of GLSP. If the GLSP diagram is in Theia use the Theia-native
|
|
48
48
|
* `registerMarkerNavigationCommands()` in `glsp-theia-integration` instead.
|
|
49
49
|
*/
|
|
50
|
-
export const markerNavigatorContextMenuModule = new ContainerModule(
|
|
51
|
-
bind
|
|
52
|
-
bind
|
|
50
|
+
export const markerNavigatorContextMenuModule = new ContainerModule(bind => {
|
|
51
|
+
bindAsService(bind, TYPES.IContextMenuProvider, MarkerNavigatorContextMenuItemProvider);
|
|
52
|
+
bindAsService(bind, TYPES.KeyListener, MarkerNavigatorKeyListener);
|
|
53
53
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2021-
|
|
2
|
+
* Copyright (c) 2021-2023 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
+
import { bindAsService } from '@eclipse-glsp/protocol';
|
|
16
17
|
import { ContainerModule } from 'inversify';
|
|
17
18
|
import {
|
|
18
19
|
CenterCommand,
|
|
@@ -30,17 +31,18 @@ import {
|
|
|
30
31
|
import { GLSPScrollMouseListener } from './glsp-scroll-mouse-listener';
|
|
31
32
|
|
|
32
33
|
const glspViewportModule = new ContainerModule((bind, _unbind, isBound) => {
|
|
33
|
-
|
|
34
|
-
configureCommand(
|
|
35
|
-
configureCommand(
|
|
36
|
-
configureCommand(
|
|
37
|
-
|
|
38
|
-
bind(TYPES.MouseListener).to(ZoomMouseListener);
|
|
39
|
-
bind(GLSPScrollMouseListener).toSelf().inSingletonScope();
|
|
40
|
-
bind(TYPES.MouseListener).toService(GLSPScrollMouseListener);
|
|
34
|
+
const context = { bind, isBound };
|
|
35
|
+
configureCommand(context, CenterCommand);
|
|
36
|
+
configureCommand(context, FitToScreenCommand);
|
|
37
|
+
configureCommand(context, GetViewportCommand);
|
|
38
|
+
configureCommand(context, SetViewportCommand);
|
|
41
39
|
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
bindAsService(context, TYPES.KeyListener, CenterKeyboardListener);
|
|
41
|
+
bindAsService(context, TYPES.MouseListener, ZoomMouseListener);
|
|
42
|
+
bindAsService(context, TYPES.MouseListener, GLSPScrollMouseListener);
|
|
43
|
+
|
|
44
|
+
configureActionHandler(context, EnableToolsAction.KIND, GLSPScrollMouseListener);
|
|
45
|
+
configureActionHandler(context, EnableDefaultToolsAction.KIND, GLSPScrollMouseListener);
|
|
44
46
|
});
|
|
45
47
|
|
|
46
48
|
export default glspViewportModule;
|
package/src/index.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019-
|
|
2
|
+
* Copyright (c) 2019-2023 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -23,16 +23,17 @@ import modelHintsModule from './features/hints/di.config';
|
|
|
23
23
|
import glspHoverModule from './features/hover/di.config';
|
|
24
24
|
import layoutModule from './features/layout/di.config';
|
|
25
25
|
import glspMouseToolModule from './features/mouse-tool/di.config';
|
|
26
|
-
import
|
|
26
|
+
import navigationModule from './features/navigation/di.config';
|
|
27
27
|
import saveModule from './features/save/di.config';
|
|
28
28
|
import glspSelectModule from './features/select/di.config';
|
|
29
29
|
import sourceModelWatcherModule from './features/source-model-watcher/di.config';
|
|
30
30
|
import toolFeedbackModule from './features/tool-feedback/di.config';
|
|
31
31
|
import paletteModule from './features/tool-palette/di.config';
|
|
32
32
|
import { enableDefaultToolsOnFocusLossModule, toolsModule } from './features/tools/di.config';
|
|
33
|
-
import { markerNavigatorModule, validationModule } from './features/validation/di.config';
|
|
33
|
+
import { markerNavigatorContextMenuModule, markerNavigatorModule, validationModule } from './features/validation/di.config';
|
|
34
34
|
import glspViewportModule from './features/viewport/di.config';
|
|
35
35
|
|
|
36
|
+
// ------------------ Base ------------------
|
|
36
37
|
export * from './base/action-dispatcher';
|
|
37
38
|
export * from './base/actions/focus-change-action';
|
|
38
39
|
export * from './base/argumentable';
|
|
@@ -50,18 +51,31 @@ export * from './base/model/model-registry';
|
|
|
50
51
|
export * from './base/model/update-model-command';
|
|
51
52
|
export * from './base/selection-clearing-mouse-listener';
|
|
52
53
|
export * from './base/source-uri-aware';
|
|
54
|
+
export * from './base/tool-manager/glsp-tool-manager';
|
|
53
55
|
export * from './base/tool-manager/tool-actions';
|
|
54
56
|
export * from './base/types';
|
|
55
57
|
export * from './base/view/view-registry';
|
|
58
|
+
//
|
|
59
|
+
// ------------------ Features ------------------
|
|
60
|
+
export * from './features/bounds/freeform-layout';
|
|
61
|
+
export * from './features/bounds/glsp-hidden-bounds-updater';
|
|
62
|
+
export * from './features/bounds/hbox-layout';
|
|
63
|
+
export * from './features/bounds/layouter';
|
|
64
|
+
export * from './features/bounds/vbox-layout';
|
|
56
65
|
export * from './features/change-bounds/model';
|
|
57
66
|
export * from './features/change-bounds/movement-restrictor';
|
|
58
67
|
export * from './features/change-bounds/snap';
|
|
68
|
+
export * from './features/command-palette/command-palette-tool';
|
|
59
69
|
export * from './features/command-palette/server-command-palette-provider';
|
|
60
70
|
export * from './features/context-menu/delete-element-context-menu';
|
|
71
|
+
export * from './features/context-menu/selection-service-aware-context-menu-mouse-listener';
|
|
72
|
+
export * from './features/context-menu/server-context-menu-provider';
|
|
73
|
+
export * from './features/copy-paste/copy-paste-context-menu';
|
|
61
74
|
export * from './features/copy-paste/copy-paste-handler';
|
|
62
75
|
export * from './features/decoration/decoration-placer';
|
|
63
76
|
export * from './features/edit-label/edit-label-tool';
|
|
64
77
|
export * from './features/edit-label/edit-label-validator';
|
|
78
|
+
export * from './features/export/glsp-svg-exporter';
|
|
65
79
|
export * from './features/hints/model';
|
|
66
80
|
export * from './features/hints/type-hints';
|
|
67
81
|
export * from './features/hover/hover';
|
|
@@ -73,33 +87,47 @@ export * from './features/rank/model';
|
|
|
73
87
|
export * from './features/reconnect/model';
|
|
74
88
|
export * from './features/save/model';
|
|
75
89
|
export * from './features/save/save-keylistener';
|
|
90
|
+
export * from './features/select/select-feedback-action';
|
|
91
|
+
export * from './features/select/select-mouse-listener';
|
|
92
|
+
export * from './features/select/selection-service';
|
|
76
93
|
export * from './features/source-model-watcher/source-model-changed-action-handler';
|
|
77
94
|
export * from './features/tool-feedback/change-bounds-tool-feedback';
|
|
78
95
|
export * from './features/tool-feedback/creation-tool-feedback';
|
|
79
96
|
export * from './features/tool-feedback/css-feedback';
|
|
80
97
|
export * from './features/tool-feedback/edge-edit-tool-feedback';
|
|
81
98
|
export * from './features/tool-feedback/feedback-action-dispatcher';
|
|
99
|
+
export * from './features/tool-feedback/marquee-tool-feedback';
|
|
82
100
|
export * from './features/tool-feedback/model';
|
|
101
|
+
export * from './features/tool-feedback/view';
|
|
83
102
|
export * from './features/tool-palette/tool-palette';
|
|
84
103
|
export * from './features/tools/base-glsp-tool';
|
|
85
104
|
export * from './features/tools/change-bounds-tool';
|
|
86
105
|
export * from './features/tools/delete-tool';
|
|
106
|
+
export { configureMarqueeTool } from './features/tools/di.config';
|
|
87
107
|
export * from './features/tools/edge-creation-tool';
|
|
88
108
|
export * from './features/tools/edge-edit-tool';
|
|
109
|
+
export * from './features/tools/enable-default-tools-on-focus-loss';
|
|
110
|
+
export * from './features/tools/glsp-manhattan-edge-router';
|
|
89
111
|
export * from './features/tools/marquee-behavior';
|
|
112
|
+
export * from './features/tools/model';
|
|
90
113
|
export * from './features/tools/node-creation-tool';
|
|
91
114
|
export * from './features/validation/issue-marker';
|
|
92
115
|
export * from './features/validation/marker-navigator';
|
|
93
116
|
export * from './features/validation/validate';
|
|
94
117
|
export * from './features/viewport/glsp-scroll-mouse-listener';
|
|
118
|
+
//
|
|
119
|
+
// ------------------ Misc ------------------
|
|
95
120
|
export * from './lib/model';
|
|
96
121
|
export * from './model-source/glsp-diagram-server';
|
|
97
122
|
export * from './sprotty-reexport';
|
|
98
123
|
export * from './utils/argument-utils';
|
|
124
|
+
export * from './utils/html-utils';
|
|
125
|
+
export * from './utils/layout-utils';
|
|
99
126
|
export * from './utils/marker';
|
|
100
127
|
export * from './utils/smodel-util';
|
|
101
128
|
export * from './utils/viewpoint-util';
|
|
102
129
|
export * from './views';
|
|
130
|
+
// ------------------ DI Modules ------------------
|
|
103
131
|
export {
|
|
104
132
|
validationModule,
|
|
105
133
|
saveModule,
|
|
@@ -121,6 +149,7 @@ export {
|
|
|
121
149
|
navigationModule,
|
|
122
150
|
markerNavigatorModule,
|
|
123
151
|
glspDecorationModule,
|
|
124
|
-
sourceModelWatcherModule
|
|
152
|
+
sourceModelWatcherModule,
|
|
153
|
+
markerNavigatorContextMenuModule,
|
|
125
154
|
glspViewportModule
|
|
126
155
|
};
|
package/src/sprotty-reexport.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2022 STMicroelectronics and others.
|
|
2
|
+
* Copyright (c) 2022-2023 STMicroelectronics and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -23,8 +23,13 @@
|
|
|
23
23
|
export * from '@eclipse-glsp/protocol';
|
|
24
24
|
// sprotty-protocol
|
|
25
25
|
export {
|
|
26
|
-
BringToFrontAction,
|
|
27
|
-
|
|
26
|
+
BringToFrontAction,
|
|
27
|
+
CollapseExpandAction,
|
|
28
|
+
CollapseExpandAllAction,
|
|
29
|
+
ElementAndAlignment,
|
|
30
|
+
HoverFeedbackAction,
|
|
31
|
+
MoveAction,
|
|
32
|
+
SetBoundsAction
|
|
28
33
|
} from 'sprotty-protocol/lib/actions';
|
|
29
34
|
export { Viewport } from 'sprotty-protocol/lib/model';
|
|
30
35
|
// ------------------ Base ------------------
|
|
@@ -157,8 +162,14 @@ export {
|
|
|
157
162
|
export * from 'sprotty/lib/features/hover/model';
|
|
158
163
|
export * from 'sprotty/lib/features/move/model';
|
|
159
164
|
export {
|
|
160
|
-
ElementMove,
|
|
161
|
-
|
|
165
|
+
ElementMove,
|
|
166
|
+
LocationPostprocessor,
|
|
167
|
+
MorphEdgesAnimation,
|
|
168
|
+
MoveAnimation,
|
|
169
|
+
MoveCommand,
|
|
170
|
+
MoveMouseListener,
|
|
171
|
+
ResolvedElementMove,
|
|
172
|
+
ResolvedHandleMove
|
|
162
173
|
} from 'sprotty/lib/features/move/move';
|
|
163
174
|
export * from 'sprotty/lib/features/move/snap';
|
|
164
175
|
export * from 'sprotty/lib/features/nameable/model';
|
|
@@ -181,8 +192,8 @@ export * from 'sprotty/lib/features/select/model';
|
|
|
181
192
|
export {
|
|
182
193
|
GetSelectionAction,
|
|
183
194
|
GetSelectionCommand,
|
|
184
|
-
SelectAllCommand,
|
|
185
|
-
SelectCommand,
|
|
195
|
+
SelectAllCommand as SprottySelectAllCommand,
|
|
196
|
+
SelectCommand as SprottySelectCommand,
|
|
186
197
|
SelectionResult,
|
|
187
198
|
SelectKeyboardListener,
|
|
188
199
|
SelectMouseListener
|
|
@@ -291,4 +302,3 @@ import viewportModule from 'sprotty/lib/features/viewport/di.config';
|
|
|
291
302
|
import zorderModule from 'sprotty/lib/features/zorder/di.config';
|
|
292
303
|
import graphModule from 'sprotty/lib/graph/di.config';
|
|
293
304
|
import modelSourceModule from 'sprotty/lib/model-source/di.config';
|
|
294
|
-
|
package/src/utils/smodel-util.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019-
|
|
2
|
+
* Copyright (c) 2019-2023 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -14,7 +14,12 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import {
|
|
17
|
-
distinctAdd,
|
|
17
|
+
distinctAdd,
|
|
18
|
+
ElementAndBounds,
|
|
19
|
+
ElementAndRoutingPoints,
|
|
20
|
+
Point,
|
|
21
|
+
remove,
|
|
22
|
+
SModelElementSchema,
|
|
18
23
|
TypeGuard
|
|
19
24
|
} from '@eclipse-glsp/protocol';
|
|
20
25
|
import {
|
|
@@ -23,7 +28,8 @@ import {
|
|
|
23
28
|
isBoundsAware,
|
|
24
29
|
isMoveable,
|
|
25
30
|
isSelectable,
|
|
26
|
-
isSelected,
|
|
31
|
+
isSelected,
|
|
32
|
+
ModelIndexImpl,
|
|
27
33
|
RoutedPoint,
|
|
28
34
|
Selectable,
|
|
29
35
|
SModelElement,
|
|
@@ -275,7 +281,9 @@ export function calcElementAndRoute(element: SRoutableElement, routerRegistry?:
|
|
|
275
281
|
* @returns The corresponding route for the given element.
|
|
276
282
|
*/
|
|
277
283
|
export function calcRoute(element: SRoutableElement, routerRegistry: EdgeRouterRegistry, pointKinds?: string[]): RoutedPoint[] | undefined {
|
|
278
|
-
return routerRegistry
|
|
284
|
+
return routerRegistry
|
|
285
|
+
?.get(element.routerKind)
|
|
286
|
+
.route(element)
|
|
279
287
|
.filter((point, idx, fullRoute) => idx === fullRoute.findIndex(otherPoint => otherPoint.x === point.x && otherPoint.y === point.y))
|
|
280
288
|
.filter(point => !pointKinds || pointKinds.includes(point.kind));
|
|
281
289
|
}
|
|
@@ -302,4 +310,3 @@ export function getElementTypeId(input: SModelElement | SModelElementSchema | st
|
|
|
302
310
|
return (input as any)['type'] as string;
|
|
303
311
|
}
|
|
304
312
|
}
|
|
305
|
-
|