Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Redor2017-09-08 16:16:43 +0000
committerLaurent Redor2017-09-14 07:56:45 +0000
commit138c1b6955a0fc16e22d8da8cc04053de52a772c (patch)
treeb8afa0019927426dd188ee1e87550f723a647f45
parentff06701e4ee887fcab87f39f70c7970096149e21 (diff)
downloadorg.eclipse.sirius-138c1b6955a0fc16e22d8da8cc04053de52a772c.tar.gz
org.eclipse.sirius-138c1b6955a0fc16e22d8da8cc04053de52a772c.tar.xz
org.eclipse.sirius-138c1b6955a0fc16e22d8da8cc04053de52a772c.zip
[522108] Enable Line Style actions on selection containing an edge
This commit enables Line Style actions (Tree Style Routing, Oblique Style Routing and Rectilinear Style Routing) on selection containing at least one edge. Bug: 522108 Change-Id: I925ab4493861999d33e35f5c0a0a042f8266832e Signed-off-by: Laurent Redor <laurent.redor@obeo.fr>
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/plugin.xml33
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/internal/providers/SiriusContributionItemProvider.java9
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/part/SiriusDiagramActionBarContributor.java13
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/api/ui/actions/ActionIds.java13
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/actions/TabbarRouterAction.java10
-rw-r--r--plugins/org.eclipse.sirius.doc/doc/Release_Notes.html1
-rw-r--r--plugins/org.eclipse.sirius.doc/doc/Release_Notes.textile1
7 files changed, 68 insertions, 12 deletions
diff --git a/plugins/org.eclipse.sirius.diagram.ui/plugin.xml b/plugins/org.eclipse.sirius.diagram.ui/plugin.xml
index 1d135065aa..b98ef50eac 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/plugin.xml
+++ b/plugins/org.eclipse.sirius.diagram.ui/plugin.xml
@@ -140,6 +140,8 @@
<partAction menubarPath="/edit/copyFormatGroup" id="pasteStyleAction" />
<partAction menubarPath="/diagramMenu/arrangeMenu/arrangeGroup" id="arrangeBorderNodesAction"/>
<partAction menubarPath="/diagramMenu/routerMenu/routerGroup" id="treeRoutingStyleAction"/>
+ <partAction menubarPath="/diagramMenu/routerMenu/routerGroup" id="obliqueRoutingStyleAction"/>
+ <partAction menubarPath="/diagramMenu/routerMenu/routerGroup" id="rectilinearRoutingStyleAction"/>
<partAction toolbarPath="/arrangeMenu/arrangeGroup" id="arrangeBorderNodesActionToolBar"/>
<!-- Add the DeselectAll action after selectAll action-->
<partAction menubarPath="/edit/selectAll" id="deselectAll"/>
@@ -194,6 +196,13 @@
<popupAction path="/formatMenu/arrangeMenu/straightenToMenu/straightenToVerticalGroup" id="straightenToBottomSidePinned"/>
<popupAction path="/formatMenu/arrangeMenu/straightenToMenu/straightenToHorizontalGroup" id="straightenToLeftSidePinned"/>
<popupAction path="/formatMenu/arrangeMenu/straightenToMenu/straightenToHorizontalGroup" id="straightenToRightSidePinned"/>
+ <!-- Line Style contributions (replace removed GMF contributions) -->
+ <popupMenuGroup path="/formatMenu/" id="fontFillLineGroup"/>
+ <popupMenu path="/formatMenu/fontFillLineGroup" id="routerMenu"/>
+ <popupMenuGroup path="/formatMenu/routerMenu/" id="routerGroup"/>
+ <popupAction path="/formatMenu/routerMenu/routerGroup" id="treeRoutingStyleAction"/>
+ <popupAction path="/formatMenu/routerMenu/routerGroup" id="obliqueRoutingStyleAction"/>
+ <popupAction path="/formatMenu/routerMenu/routerGroup" id="rectilinearRoutingStyleAction"/>
</popupContribution>
<popupContribution class="org.eclipse.sirius.diagram.ui.tools.internal.menu.DiagramEditorContextMenuProvider">
<popupStructuredContributionCriteria objectClass="org.eclipse.sirius.diagram.ui.edit.api.part.ISiriusEditPart" />
@@ -202,7 +211,6 @@
<popupAction path="/editMenu/copyFormatGroup" id="pasteFormatAction" />
<popupAction path="/editMenu/copyFormatGroup" id="pasteLayoutAction" />
<popupAction path="/editMenu/copyFormatGroup" id="pasteStyleAction" />
- <popupAction path="/formatMenu/routerMenu/routerGroup" id="treeRoutingStyleAction"/>
<popupMenuGroup path="/formatMenu/arrangeMenu/" id="pinGroup" />
<popupAction path="/formatMenu/arrangeMenu/pinGroup" id="pinElementsAction" />
@@ -268,6 +276,7 @@
toolbarPath="/toolbarCopyAppearanceGroup">
</partPredefinedItem>
</partContribution>
+ <!-- Remove default GMF global Eclipse menu for routing style (replaced by Sirius specific) -->
<partContribution
class="org.eclipse.sirius.diagram.ui.part.SiriusDiagramEditor">
<partPredefinedItem
@@ -276,6 +285,18 @@
removeFromMenubar="true"
removeFromToolbar="false">
</partPredefinedItem>
+ <partPredefinedItem
+ id="obliqueRouterAction"
+ menubarPath="/diagramMenu/routerMenu/routerGroup"
+ removeFromMenubar="true"
+ removeFromToolbar="false">
+ </partPredefinedItem>
+ <partPredefinedItem
+ id="rectilinearRouterAction"
+ menubarPath="/diagramMenu/routerMenu/routerGroup"
+ removeFromMenubar="true"
+ removeFromToolbar="false">
+ </partPredefinedItem>
</partContribution>
<popupContribution
class="org.eclipse.sirius.diagram.ui.tools.internal.menu.DiagramEditorContextMenuProvider">
@@ -424,12 +445,22 @@
path="/filterFormatGroup"
remove="true">
</popupPredefinedItem>
+ <!-- Remove default GMF contexual menu for routing style (replaced by Sirius specific context) -->
<popupPredefinedItem
id="treeRouterAction"
path="/formatMenu/routerMenu/routerGroup"
remove="true">
</popupPredefinedItem>
<popupPredefinedItem
+ id="obliqueRouterAction"
+ path="/formatMenu/routerMenu/routerGroup"
+ remove="true"/>
+ <popupPredefinedItem
+ id="rectilinearRouterAction"
+ path="/formatMenu/routerMenu/routerGroup"
+ remove="true"/>
+ <!-- End of remove default GMF contexual menu for routing style -->
+ <popupPredefinedItem
id="copyAppearancePropertiesAction"
path="/formatMenu/applyAppearanceGroup"
remove="true">
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/internal/providers/SiriusContributionItemProvider.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/internal/providers/SiriusContributionItemProvider.java
index 01c341885f..0735e0bbd0 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/internal/providers/SiriusContributionItemProvider.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/internal/providers/SiriusContributionItemProvider.java
@@ -12,6 +12,7 @@ package org.eclipse.sirius.diagram.ui.internal.providers;
import org.eclipse.gmf.runtime.common.ui.services.action.contributionitem.AbstractContributionItemProvider;
import org.eclipse.gmf.runtime.common.ui.util.IWorkbenchPartDescriptor;
+import org.eclipse.gmf.runtime.diagram.ui.actions.internal.RouterMenuManager;
import org.eclipse.gmf.runtime.diagram.ui.printing.actions.PrintPreviewAction;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.action.IMenuManager;
@@ -75,8 +76,12 @@ public class SiriusContributionItemProvider extends AbstractContributionItemProv
result = new SaveAsImageFileAction();
} else if (ActionIds.SELECT_HIDDEN_ELEMENTS.equals(actionId)) {
result = new SelectHiddenElementsAction(workbenchPage);
- } else if (ActionIds.ROUTING_STYLE.equals(actionId)) {
+ } else if (ActionIds.TREE_ROUTING_STYLE.equals(actionId)) {
result = TabbarRouterAction.createTreeRouterAction(workbenchPage);
+ } else if (ActionIds.OBLIQUE_ROUTING_STYLE.equals(actionId)) {
+ result = TabbarRouterAction.createObliqueRouterAction(workbenchPage);
+ } else if (ActionIds.RECTILINEAR_ROUTING_STYLE.equals(actionId)) {
+ result = TabbarRouterAction.createRectilinearRouterAction(workbenchPage);
} else if (ActionIds.EDGE_SNAP_BACK.equals(actionId)) {
result = new SiriusEdgeSnapBackAction(workbenchPage);
} else if (ActionIds.DESELECT_ALL.equals(actionId)) {
@@ -121,6 +126,8 @@ public class SiriusContributionItemProvider extends AbstractContributionItemProv
return new DistributeMenuManager();
} else if (menuId.equals(ActionIds.MENU_STRAIGHTEN_TO)) {
return new StraightenToMenuManager();
+ } else if (menuId.equals(org.eclipse.gmf.runtime.diagram.ui.actions.ActionIds.MENU_ROUTER)) {
+ return new RouterMenuManager();
}
return super.createMenuManager(menuId, partDescriptor);
}
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/part/SiriusDiagramActionBarContributor.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/part/SiriusDiagramActionBarContributor.java
index 8284e8f3c0..73f922632c 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/part/SiriusDiagramActionBarContributor.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/part/SiriusDiagramActionBarContributor.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2015 THALES GLOBAL SERVICES and others.
+ * Copyright (c) 2007, 2017 THALES GLOBAL SERVICES and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -144,8 +144,11 @@ public class SiriusDiagramActionBarContributor extends DiagramActionBarContribut
final IAction copyLayoutAction = new CopyFormatAction(getPage());
addAction(copyLayoutAction);
- final IAction routerAction = TabbarRouterAction.createTreeRouterAction(getPage());
- addAction(routerAction);
+ addAction(TabbarRouterAction.createTreeRouterAction(getPage()));
+
+ addAction(TabbarRouterAction.createObliqueRouterAction(getPage()));
+
+ addAction(TabbarRouterAction.createRectilinearRouterAction(getPage()));
final IAction pasteFormatAction = new PasteFormatAction(getPage());
addAction(pasteFormatAction);
@@ -182,7 +185,9 @@ public class SiriusDiagramActionBarContributor extends DiagramActionBarContribut
toolBarManager.add(getActionRegistry().getAction(org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds.COPY_FORMAT));
toolBarManager.add(getActionRegistry().getAction(org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds.PASTE_FORMAT));
toolBarManager.add(getActionRegistry().getAction(org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds.SELECT_HIDDEN_ELEMENTS));
- toolBarManager.add(getActionRegistry().getAction(org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds.ROUTING_STYLE));
+ toolBarManager.add(getActionRegistry().getAction(org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds.TREE_ROUTING_STYLE));
+ toolBarManager.add(getActionRegistry().getAction(org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds.OBLIQUE_ROUTING_STYLE));
+ toolBarManager.add(getActionRegistry().getAction(org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds.RECTILINEAR_ROUTING_STYLE));
}
}
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/api/ui/actions/ActionIds.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/api/ui/actions/ActionIds.java
index e986956857..2eb92742b7 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/api/ui/actions/ActionIds.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/api/ui/actions/ActionIds.java
@@ -80,7 +80,18 @@ public interface ActionIds {
/**
* Action to replace default GMF {@link org.eclipse.gmf.runtime.diagram.ui.actions.ActionIds#ACTION_ROUTER_TREE}.
*/
- String ROUTING_STYLE = "treeRoutingStyleAction"; //$NON-NLS-1$
+ String TREE_ROUTING_STYLE = "treeRoutingStyleAction"; //$NON-NLS-1$
+
+ /**
+ * Action to replace default GMF {@link org.eclipse.gmf.runtime.diagram.ui.actions.ActionIds#ACTION_ROUTER_OBLIQUE}.
+ */
+ String OBLIQUE_ROUTING_STYLE = "obliqueRoutingStyleAction"; //$NON-NLS-1$
+
+ /**
+ * Action to replace default GMF
+ * {@link org.eclipse.gmf.runtime.diagram.ui.actions.ActionIds#ACTION_ROUTER_RECTILINEAR}.
+ */
+ String RECTILINEAR_ROUTING_STYLE = "rectilinearRoutingStyleAction"; //$NON-NLS-1$
/** Action for Activating/Deactivating the Layouting mode. **/
String SWITCH_LAYOUTING_MODE = "switchLayoutingMode"; //$NON-NLS-1$
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/actions/TabbarRouterAction.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/actions/TabbarRouterAction.java
index 2651b30b54..9ec56908ea 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/actions/TabbarRouterAction.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/actions/TabbarRouterAction.java
@@ -14,7 +14,6 @@ import java.util.List;
import java.util.ListIterator;
import org.eclipse.gef.commands.Command;
-import org.eclipse.gmf.runtime.diagram.ui.actions.ActionIds;
import org.eclipse.gmf.runtime.diagram.ui.actions.internal.RouterAction;
import org.eclipse.gmf.runtime.diagram.ui.actions.internal.l10n.DiagramUIActionsMessages;
import org.eclipse.gmf.runtime.diagram.ui.actions.internal.l10n.DiagramUIActionsPluginImages;
@@ -22,6 +21,7 @@ import org.eclipse.gmf.runtime.diagram.ui.editparts.ITreeBranchEditPart;
import org.eclipse.gmf.runtime.diagram.ui.internal.l10n.DiagramUIPluginImages;
import org.eclipse.gmf.runtime.notation.Routing;
import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds;
import org.eclipse.ui.IWorkbenchPage;
/**
@@ -50,7 +50,7 @@ public class TabbarRouterAction extends RouterAction {
// CHECKSTYLE:OFF
@Override
protected boolean calculateEnabled() {
- if (org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds.ROUTING_STYLE.equals(getId())) {
+ if (ActionIds.TREE_ROUTING_STYLE.equals(getId())) {
List<?> selected = getSelectedObjects();
if (selected.size() < 1) {
return false;
@@ -78,7 +78,7 @@ public class TabbarRouterAction extends RouterAction {
*/
public static RouterAction createTreeRouterAction(IWorkbenchPage workbenchPage) {
RouterAction action = new TabbarRouterAction(workbenchPage, Routing.TREE_LITERAL);
- action.setId(org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds.ROUTING_STYLE);
+ action.setId(ActionIds.TREE_ROUTING_STYLE);
action.setText(DiagramUIActionsMessages.ChangeRouterAction_Tree_ActionLabelText);
action.setToolTipText(DiagramUIActionsMessages.ChangeRouterAction_Tree_ActionToolTipText);
@@ -98,7 +98,7 @@ public class TabbarRouterAction extends RouterAction {
*/
public static RouterAction createRectilinearRouterAction(IWorkbenchPage workbenchPage) {
RouterAction action = new TabbarRouterAction(workbenchPage, Routing.RECTILINEAR_LITERAL);
- action.setId(ActionIds.ACTION_ROUTER_RECTILINEAR);
+ action.setId(ActionIds.RECTILINEAR_ROUTING_STYLE);
action.setText(DiagramUIActionsMessages.ChangeRouterAction_Rectilinear_ActionLabelText);
action.setToolTipText(DiagramUIActionsMessages.ChangeRouterAction_Rectilinear_ActionToolTipText);
@@ -117,7 +117,7 @@ public class TabbarRouterAction extends RouterAction {
*/
public static RouterAction createObliqueRouterAction(IWorkbenchPage workbenchPage) {
RouterAction action = new TabbarRouterAction(workbenchPage, Routing.MANUAL_LITERAL);
- action.setId(ActionIds.ACTION_ROUTER_OBLIQUE);
+ action.setId(ActionIds.OBLIQUE_ROUTING_STYLE);
action.setText(DiagramUIActionsMessages.ChangeRouterAction_Oblique_ActionLabelText);
action.setToolTipText(DiagramUIActionsMessages.ChangeRouterAction_Oblique_ActionToolTipText);
diff --git a/plugins/org.eclipse.sirius.doc/doc/Release_Notes.html b/plugins/org.eclipse.sirius.doc/doc/Release_Notes.html
index 3037961bed..14a2f39de2 100644
--- a/plugins/org.eclipse.sirius.doc/doc/Release_Notes.html
+++ b/plugins/org.eclipse.sirius.doc/doc/Release_Notes.html
@@ -152,6 +152,7 @@
<li><span class="label label-info">Modified</span> In a diagram, the action
<em>Show/Hide label</em> is now visible even if the selection contains invalid elements (ie elements without label). The action is applied only on valid elements of the selection.
</li>
+ <li><span class="label label-info">Modified</span> In a diagram, the Line Style actions (Tree, Oblique or Rectilinear Routing Style) is now visible in the contextual menu even if the selection contains invalid elements (other elements than edges). The action is applied only on valid elements of the selection.</li>
</ul>
<h3 id="SpecifierVisibleChanges">Specifier-Visible Changes</h3>
<ul>
diff --git a/plugins/org.eclipse.sirius.doc/doc/Release_Notes.textile b/plugins/org.eclipse.sirius.doc/doc/Release_Notes.textile
index 27cedf7319..756d35531b 100644
--- a/plugins/org.eclipse.sirius.doc/doc/Release_Notes.textile
+++ b/plugins/org.eclipse.sirius.doc/doc/Release_Notes.textile
@@ -23,6 +23,7 @@ h3. User-Visible Changes
* <span class="label label-info">Modified</span> In a sequence diagram, it is now possible to resize the combined fragment when the first or the last operand is selected (increase the size of the first operand to the top, or increase the size of the last operand to the bottom). Before, it was necessary to select the combined fragment itself to resize it.
* <span class="label label-info">Modified</span> In a sequence diagram, it is now possible to resize an _Execution_ contained in an _Operand_ without previously resize its _Operand_ if more space is needed. The _Operand_, and if necessary the _Combined Fragment_, is resized too.
* <span class="label label-info">Modified</span> In a diagram, the action _Show/Hide label_ is now visible even if the selection contains invalid elements (ie elements without label). The action is applied only on valid elements of the selection.
+* <span class="label label-info">Modified</span> In a diagram, the Line Style actions (Tree, Oblique or Rectilinear Routing Style) is now visible in the contextual menu even if the selection contains invalid elements (other elements than edges). The action is applied only on valid elements of the selection.
h3. Specifier-Visible Changes

Back to the top