diff options
| author | Laurent Redor | 2017-09-08 16:16:43 +0000 |
|---|---|---|
| committer | Laurent Redor | 2017-09-14 07:56:45 +0000 |
| commit | 138c1b6955a0fc16e22d8da8cc04053de52a772c (patch) | |
| tree | b8afa0019927426dd188ee1e87550f723a647f45 | |
| parent | ff06701e4ee887fcab87f39f70c7970096149e21 (diff) | |
| download | org.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>
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 |
