Skip to content
Snippets Groups Projects
Commit 398f9fb8 authored by Simon Barner's avatar Simon Barner
Browse files

Factorize contextMenuContributions()

parent e1c4fad9
No related branches found
No related tags found
1 merge request!1314097: Add hide/show grid context menu item for diagram editors
......@@ -2,7 +2,7 @@ AnchorageContentControllerBase.java da56b10cbf2711b5da69f0b59f43eacbe54f4eea GRE
ClickControllerBase.java 8e5861ed5f9318008ad0fdd5497ed320cd5bd647 GREEN
ContentAnchorageMoveControllerBase.java c18e7915ce23e124757f5b736086ecc46694800a GREEN
ControllerBase.java 9311521b252e46640e26d409610e527fd5ed6922 GREEN
DefaultDiagramController.java 0e083b89a08f63967102a384d66ebc1d64d203af GREEN
DefaultDiagramController.java 2d229228a05a96c54464575643bcb25e2e58efec YELLOW
DelegatingContentAnchorageController.java 1889628a346a2183082ffe213978f9d15a949494 GREEN
DragControllerBase.java b15ff874304f679fe494d85f57cc8cbe4d0d1d15 GREEN
DraggingUtils.java 95117e2ea4c36b6c6a31f8088bb95b484e0e6612 GREEN
......
......@@ -9,7 +9,8 @@
*******************************************************************************/
package org.fortiss.tooling.common.ui.javafx.lwfxef.controller.base;
import java.util.LinkedList;
import static java.util.Arrays.asList;
import java.util.List;
import org.fortiss.tooling.common.ui.javafx.lwfxef.DiagramCoordinate;
......@@ -37,43 +38,50 @@ public class DefaultDiagramController extends ControllerBase {
super(mvcb);
}
/** {@inheritDoc} */
@Override
public List<MenuItem> contextMenuContributions(Node node, DiagramCoordinate diagramLocation) {
Menu menu = new Menu("Display ...");
DiagramViewerFeatures features = getViewer().getFeatures();
// link highlighting
/** Creates the {@link MenuItem} to enable/disable link highlighting. */
private MenuItem createLinkHighlightingMenuItem(DiagramViewerFeatures features) {
MenuItem linkHighLightingMenuItem;
if(features.isLinkHighlightingEnabled()) {
MenuItem disableLinkHighlighting = new MenuItem("Disable Link Highlighting");
disableLinkHighlighting.setOnAction(evt -> {
linkHighLightingMenuItem = new MenuItem("Disable Link Highlighting");
linkHighLightingMenuItem.setOnAction(evt -> {
features.setLinkHighlightingEnabled(false);
});
menu.getItems().add(disableLinkHighlighting);
} else {
MenuItem enableLinkHighlighting = new MenuItem("Enable Link Highlighting");
enableLinkHighlighting.setOnAction(evt -> {
linkHighLightingMenuItem = new MenuItem("Enable Link Highlighting");
linkHighLightingMenuItem.setOnAction(evt -> {
features.setLinkHighlightingEnabled(true);
});
menu.getItems().add(enableLinkHighlighting);
}
// interaction area shading
return linkHighLightingMenuItem;
}
/** Creates a {@link MenuItem} to enable/disable interaction shading. */
private MenuItem createInteractionAreaShadingMenuItem(DiagramViewerFeatures features) {
MenuItem interactionAreaShadingMenuItem;
if(features.isInteractionAreaShadingEnabled()) {
MenuItem disableInteractionShading = new MenuItem("Disable Interactive Area Shading");
disableInteractionShading.setOnAction(evt -> {
interactionAreaShadingMenuItem = new MenuItem("Disable Interactive Area Shading");
interactionAreaShadingMenuItem.setOnAction(evt -> {
features.setInteractionAreaShadingEnabled(false);
});
menu.getItems().add(disableInteractionShading);
} else {
MenuItem enableInteractionShading = new MenuItem("Enable Interactive Area Shading");
enableInteractionShading.setOnAction(evt -> {
interactionAreaShadingMenuItem = new MenuItem("Enable Interactive Area Shading");
interactionAreaShadingMenuItem.setOnAction(evt -> {
features.setInteractionAreaShadingEnabled(true);
});
menu.getItems().add(enableInteractionShading);
}
return interactionAreaShadingMenuItem;
}
/** {@inheritDoc} */
@Override
public List<MenuItem> contextMenuContributions(Node node, DiagramCoordinate diagramLocation) {
Menu menu = new Menu("Display ...");
DiagramViewerFeatures features = getViewer().getFeatures();
menu.getItems().add(createLinkHighlightingMenuItem(features));
menu.getItems().add(createInteractionAreaShadingMenuItem(features));
List<MenuItem> menuList = new LinkedList<>();
menuList.add(menu);
return menuList;
return asList(menu);
}
/** {@inheritDoc} */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment