diff options
| author | Benjamin Grouhan | 2015-04-30 14:43:42 +0000 |
|---|---|---|
| committer | Pierre-Charles David | 2015-05-18 08:14:28 +0000 |
| commit | 1ac4ac9dbd7c64b754b6dc5478a86bb4bddef96c (patch) | |
| tree | 62532903496938da8bb9ab4d2e457e9b88ddffba | |
| parent | cf87745a7d3943a3dd96efaf3199843d81efb215 (diff) | |
| download | org.eclipse.sirius-1ac4ac9dbd7c64b754b6dc5478a86bb4bddef96c.tar.gz org.eclipse.sirius-1ac4ac9dbd7c64b754b6dc5478a86bb4bddef96c.tar.xz org.eclipse.sirius-1ac4ac9dbd7c64b754b6dc5478a86bb4bddef96c.zip | |
[441946] Reorder the menus (categories) of the contextual menu in
the VSM.
Menu builders (not sub-menus) use static priorities defined in
AbstractMenuBuilder, but the actual values of these priorities are
defined in the plugin.properties file.
The order is, for now, the same as before (alphabetically), with maybe a
minor difference : the "Initialize" menu is placed after all the "New
..." menus because it is a hidden functionality.
Bug: 441946
Change-Id: I0ea5b2dbb41f5b409718373ec23f8c345eed573e
Signed-off-by: Benjamin Grouhan <benjamin.grouhan@obeo.fr>
38 files changed, 474 insertions, 201 deletions
diff --git a/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/EditToolsMenuBuilder.java b/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/EditToolsMenuBuilder.java index 0273d2189f..e6ca88e3f4 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/EditToolsMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/EditToolsMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2009, 2015 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 @@ -11,6 +11,7 @@ package org.eclipse.sirius.diagram.editor.tools.internal.menu.child; import org.eclipse.sirius.diagram.description.tool.ToolPackage; +import org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder; import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuilder; /** @@ -21,7 +22,7 @@ import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuild */ public class EditToolsMenuBuilder extends AbstractTypeRestrictingMenuBuilder { /** - * build the menu. + * Build the menu. */ public EditToolsMenuBuilder() { super(); @@ -32,12 +33,13 @@ public class EditToolsMenuBuilder extends AbstractTypeRestrictingMenuBuilder { addValidType(ToolPackage.eINSTANCE.getDoubleClickDescription()); } - /** - * {@inheritDoc} - */ @Override public String getLabel() { return "New Element Edition"; } + @Override + public int getPriority() { + return AbstractMenuBuilder.ELEMENT_EDITION; + } } diff --git a/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/ElementCreationMenuBuilder.java b/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/ElementCreationMenuBuilder.java index dccd39bc9b..252ad2bd0d 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/ElementCreationMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/ElementCreationMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2009, 2015 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 @@ -11,6 +11,7 @@ package org.eclipse.sirius.diagram.editor.tools.internal.menu.child; import org.eclipse.sirius.diagram.description.tool.ToolPackage; +import org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder; import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuilder; /** @@ -21,7 +22,7 @@ import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuild */ public class ElementCreationMenuBuilder extends AbstractTypeRestrictingMenuBuilder { /** - * build the menu. + * Build the menu. */ public ElementCreationMenuBuilder() { super(); @@ -30,12 +31,13 @@ public class ElementCreationMenuBuilder extends AbstractTypeRestrictingMenuBuild addValidType(ToolPackage.eINSTANCE.getEdgeCreationDescription()); } - /** - * {@inheritDoc} - */ @Override public String getLabel() { return "New Element Creation"; } + @Override + public int getPriority() { + return AbstractMenuBuilder.ELEMENT_CREATION; + } } diff --git a/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/ExtensionsMenuBuilder.java b/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/ExtensionsMenuBuilder.java index 802fd376b1..0a4878992a 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/ExtensionsMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/ExtensionsMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2009, 2015 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 @@ -12,6 +12,7 @@ package org.eclipse.sirius.diagram.editor.tools.internal.menu.child; import org.eclipse.sirius.diagram.description.DescriptionPackage; import org.eclipse.sirius.diagram.description.tool.ToolPackage; +import org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder; import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuilder; /** @@ -22,7 +23,7 @@ import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuild */ public class ExtensionsMenuBuilder extends AbstractTypeRestrictingMenuBuilder { /** - * build the menu. + * Build the menu. */ public ExtensionsMenuBuilder() { super(); @@ -32,12 +33,13 @@ public class ExtensionsMenuBuilder extends AbstractTypeRestrictingMenuBuilder { } - /** - * {@inheritDoc} - */ @Override public String getLabel() { return "New Extension"; } + @Override + public int getPriority() { + return AbstractMenuBuilder.EXTENSION; + } } diff --git a/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/FiltersMenuBuilder.java b/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/FiltersMenuBuilder.java index 3a93495210..824f5d88c2 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/FiltersMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/FiltersMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2009, 2015 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 @@ -12,6 +12,7 @@ package org.eclipse.sirius.diagram.editor.tools.internal.menu.child; import org.eclipse.sirius.diagram.description.concern.ConcernPackage; import org.eclipse.sirius.diagram.description.filter.FilterPackage; +import org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder; import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuilder; /** @@ -22,7 +23,7 @@ import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuild */ public class FiltersMenuBuilder extends AbstractTypeRestrictingMenuBuilder { /** - * build the menu. + * Build the menu. */ public FiltersMenuBuilder() { super(); @@ -30,12 +31,13 @@ public class FiltersMenuBuilder extends AbstractTypeRestrictingMenuBuilder { addValidType(ConcernPackage.eINSTANCE.getConcernSet()); } - /** - * {@inheritDoc} - */ @Override public String getLabel() { return "New Filter"; } + @Override + public int getPriority() { + return AbstractMenuBuilder.FILTER; + } } diff --git a/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/ImportsMenuBuilder.java b/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/ImportsMenuBuilder.java index d77d840df8..54f6b30a6a 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/ImportsMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/ImportsMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2009, 2015 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 @@ -11,6 +11,7 @@ package org.eclipse.sirius.diagram.editor.tools.internal.menu.child; import org.eclipse.sirius.diagram.description.DescriptionPackage; +import org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder; import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuilder; /** @@ -21,7 +22,7 @@ import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuild */ public class ImportsMenuBuilder extends AbstractTypeRestrictingMenuBuilder { /** - * build the menu. + * Build the menu. */ public ImportsMenuBuilder() { super(); @@ -31,12 +32,13 @@ public class ImportsMenuBuilder extends AbstractTypeRestrictingMenuBuilder { addValidType(DescriptionPackage.eINSTANCE.getEdgeMappingImport()); } - /** - * {@inheritDoc} - */ @Override public String getLabel() { return "New Import"; } + @Override + public int getPriority() { + return AbstractMenuBuilder.IMPORT; + } } diff --git a/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/LayoutsMenuBuilder.java b/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/LayoutsMenuBuilder.java index ca99b5062c..343a012c6a 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/LayoutsMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/LayoutsMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2009, 2015 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 @@ -11,6 +11,7 @@ package org.eclipse.sirius.diagram.editor.tools.internal.menu.child; import org.eclipse.sirius.diagram.description.DescriptionPackage; +import org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder; import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuilder; /** @@ -21,7 +22,7 @@ import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuild */ public class LayoutsMenuBuilder extends AbstractTypeRestrictingMenuBuilder { /** - * build the menu. + * Build the menu. */ public LayoutsMenuBuilder() { super(); @@ -30,12 +31,13 @@ public class LayoutsMenuBuilder extends AbstractTypeRestrictingMenuBuilder { } - /** - * {@inheritDoc} - */ @Override public String getLabel() { return "New Layout"; } + @Override + public int getPriority() { + return AbstractMenuBuilder.LAYOUT; + } } diff --git a/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/SimulationMenuBuilder.java b/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/SimulationMenuBuilder.java index 4054f180e7..cdbbb3acc3 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/SimulationMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/SimulationMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2009, 2015 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 @@ -11,6 +11,7 @@ package org.eclipse.sirius.diagram.editor.tools.internal.menu.child; import org.eclipse.sirius.diagram.description.tool.ToolPackage; +import org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder; import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuilder; /** @@ -21,19 +22,20 @@ import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuild */ public class SimulationMenuBuilder extends AbstractTypeRestrictingMenuBuilder { /** - * build the menu. + * Build the menu. */ public SimulationMenuBuilder() { super(); addValidType(ToolPackage.eINSTANCE.getBehaviorTool()); } - /** - * {@inheritDoc} - */ @Override public String getLabel() { return "New Simulation"; } + @Override + public int getPriority() { + return AbstractMenuBuilder.SIMULATION; + } } diff --git a/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/ToolsMenuBuilder.java b/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/ToolsMenuBuilder.java index 3d694959db..9fc39dce2a 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/ToolsMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/ToolsMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2009, 2015 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 @@ -11,6 +11,7 @@ package org.eclipse.sirius.diagram.editor.tools.internal.menu.child; import org.eclipse.sirius.diagram.description.tool.ToolPackage; +import org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder; import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuilder; /** @@ -21,7 +22,7 @@ import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuild */ public class ToolsMenuBuilder extends AbstractTypeRestrictingMenuBuilder { /** - * build the menu. + * Build the menu. */ public ToolsMenuBuilder() { super(); @@ -34,12 +35,13 @@ public class ToolsMenuBuilder extends AbstractTypeRestrictingMenuBuilder { addRestrictedType(ToolPackage.eINSTANCE.getEdgeCreationDescription()); } - /** - * {@inheritDoc} - */ @Override public String getLabel() { return "New Tool"; } + @Override + public int getPriority() { + return AbstractMenuBuilder.TOOL; + } } diff --git a/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/VisualMenuBuilder.java b/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/VisualMenuBuilder.java index 0ac5e139f8..8aef58c883 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/VisualMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/child/VisualMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2009, 2015 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 @@ -11,6 +11,7 @@ package org.eclipse.sirius.diagram.editor.tools.internal.menu.child; import org.eclipse.sirius.diagram.description.DescriptionPackage; +import org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder; import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuilder; /** @@ -21,7 +22,7 @@ import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuild */ public class VisualMenuBuilder extends AbstractTypeRestrictingMenuBuilder { /** - * build the menu. + * Build the menu. */ public VisualMenuBuilder() { super(); @@ -35,12 +36,13 @@ public class VisualMenuBuilder extends AbstractTypeRestrictingMenuBuilder { addRestrictedType(DescriptionPackage.eINSTANCE.getNodeMappingImport()); } - /** - * {@inheritDoc} - */ @Override public String getLabel() { return "New Diagram Element"; } + @Override + public int getPriority() { + return AbstractMenuBuilder.DIAGRAM_ELEMENT; + } } diff --git a/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/refactoring/DiagramRefactoringMenu.java b/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/refactoring/DiagramRefactoringMenu.java index e6a5368055..de20345351 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/refactoring/DiagramRefactoringMenu.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src/org/eclipse/sirius/diagram/editor/tools/internal/menu/refactoring/DiagramRefactoringMenu.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2009, 2015 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 @@ -31,17 +31,16 @@ import com.google.common.collect.Sets; * */ public class DiagramRefactoringMenu extends AbstractMenuBuilder { - /** - * {@inheritDoc} - */ @Override public String getLabel() { return RefactoringMenu.REFACTORING_MENU_LABEL; } - /** - * {@inheritDoc} - */ + @Override + public int getPriority() { + return AbstractMenuBuilder.REFACTOR; + } + @Override public void update(final Collection newChildDescriptors, final ISelection selection, final IEditorPart editor) { depopulate(); @@ -64,13 +63,9 @@ public class DiagramRefactoringMenu extends AbstractMenuBuilder { }); } - /** - * {@inheritDoc} - */ @Override protected boolean isMine(final CommandParameter object) { // not relevant here return false; } - } diff --git a/plugins/org.eclipse.sirius.editor.sequence/src/org/eclipse/sirius/diagram/sequence/editor/tools/internal/menu/child/ReorderToolsMenuBuilder.java b/plugins/org.eclipse.sirius.editor.sequence/src/org/eclipse/sirius/diagram/sequence/editor/tools/internal/menu/child/ReorderToolsMenuBuilder.java index 72fdfa7e96..4844d4b2b1 100644 --- a/plugins/org.eclipse.sirius.editor.sequence/src/org/eclipse/sirius/diagram/sequence/editor/tools/internal/menu/child/ReorderToolsMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor.sequence/src/org/eclipse/sirius/diagram/sequence/editor/tools/internal/menu/child/ReorderToolsMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2014 Obeo. + * Copyright (c) 2014, 2015 Obeo. * 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 @@ -11,6 +11,7 @@ package org.eclipse.sirius.diagram.sequence.editor.tools.internal.menu.child; import org.eclipse.sirius.diagram.sequence.description.tool.ToolPackage; +import org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder; import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuilder; /** @@ -21,7 +22,7 @@ import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuild */ public class ReorderToolsMenuBuilder extends AbstractTypeRestrictingMenuBuilder { /** - * build the menu. + * Build the menu. */ public ReorderToolsMenuBuilder() { super(); @@ -29,12 +30,13 @@ public class ReorderToolsMenuBuilder extends AbstractTypeRestrictingMenuBuilder addValidType(ToolPackage.eINSTANCE.getInstanceRoleReorderTool()); } - /** - * {@inheritDoc} - */ @Override public String getLabel() { return "New Reorder"; } + @Override + public int getPriority() { + return AbstractMenuBuilder.REORDER; + } } diff --git a/plugins/org.eclipse.sirius.editor.table/src/org/eclipse/sirius/editor/table/tools/internal/menu/ConditionalStyleMenuBuilder.java b/plugins/org.eclipse.sirius.editor.table/src/org/eclipse/sirius/editor/table/tools/internal/menu/ConditionalStyleMenuBuilder.java index 86f1ed4b48..9f2b5bb8d7 100644 --- a/plugins/org.eclipse.sirius.editor.table/src/org/eclipse/sirius/editor/table/tools/internal/menu/ConditionalStyleMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor.table/src/org/eclipse/sirius/editor/table/tools/internal/menu/ConditionalStyleMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2009, 2015 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 @@ -10,17 +10,18 @@ *******************************************************************************/ package org.eclipse.sirius.editor.table.tools.internal.menu; +import org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder; import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuilder; /** - * the conditional style menu for tables. + * The conditional style menu for tables. * * @author cbrun * */ public class ConditionalStyleMenuBuilder extends AbstractTypeRestrictingMenuBuilder { /** - * create the menu. + * Create the menu. */ public ConditionalStyleMenuBuilder() { super(); @@ -28,12 +29,13 @@ public class ConditionalStyleMenuBuilder extends AbstractTypeRestrictingMenuBuil addValidType(org.eclipse.sirius.table.metamodel.table.description.DescriptionPackage.eINSTANCE.getBackgroundConditionalStyle()); } - /** - * {@inheritDoc} - */ @Override public String getLabel() { return "New Conditional Style"; } + @Override + public int getPriority() { + return AbstractMenuBuilder.CONDITIONAL_STYLE; + } } diff --git a/plugins/org.eclipse.sirius.editor.table/src/org/eclipse/sirius/editor/table/tools/internal/menu/StyleMenuBuilder.java b/plugins/org.eclipse.sirius.editor.table/src/org/eclipse/sirius/editor/table/tools/internal/menu/StyleMenuBuilder.java index 99136eb5e0..28b10dc1e9 100644 --- a/plugins/org.eclipse.sirius.editor.table/src/org/eclipse/sirius/editor/table/tools/internal/menu/StyleMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor.table/src/org/eclipse/sirius/editor/table/tools/internal/menu/StyleMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2009, 2015 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 @@ -10,17 +10,18 @@ *******************************************************************************/ package org.eclipse.sirius.editor.table.tools.internal.menu; +import org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder; import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuilder; /** - * the style menu for tables. + * The style menu for tables. * * @author cbrun * */ public class StyleMenuBuilder extends AbstractTypeRestrictingMenuBuilder { /** - * create the menu. + * Create the menu. */ public StyleMenuBuilder() { super(); @@ -28,12 +29,13 @@ public class StyleMenuBuilder extends AbstractTypeRestrictingMenuBuilder { addValidType(org.eclipse.sirius.table.metamodel.table.description.DescriptionPackage.eINSTANCE.getBackgroundStyleDescription()); } - /** - * {@inheritDoc} - */ @Override public String getLabel() { return "New Style"; } + @Override + public int getPriority() { + return AbstractMenuBuilder.STYLE; + } } diff --git a/plugins/org.eclipse.sirius.editor.table/src/org/eclipse/sirius/editor/table/tools/internal/menu/TableElementsMenuBuilder.java b/plugins/org.eclipse.sirius.editor.table/src/org/eclipse/sirius/editor/table/tools/internal/menu/TableElementsMenuBuilder.java index b363652ce2..f6c42af828 100644 --- a/plugins/org.eclipse.sirius.editor.table/src/org/eclipse/sirius/editor/table/tools/internal/menu/TableElementsMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor.table/src/org/eclipse/sirius/editor/table/tools/internal/menu/TableElementsMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2009, 2015 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 @@ -10,29 +10,31 @@ *******************************************************************************/ package org.eclipse.sirius.editor.table.tools.internal.menu; +import org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder; import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuilder; /** - * the table element menu for tables. + * The table element menu for tables. * * @author cbrun * */ public class TableElementsMenuBuilder extends AbstractTypeRestrictingMenuBuilder { /** - * create the menu. + * Create the menu. */ public TableElementsMenuBuilder() { super(); addValidType(org.eclipse.sirius.table.metamodel.table.description.DescriptionPackage.eINSTANCE.getTableMapping()); } - /** - * {@inheritDoc} - */ @Override public String getLabel() { return "New Table Element"; } + @Override + public int getPriority() { + return AbstractMenuBuilder.TABLE_ELEMENT; + } } diff --git a/plugins/org.eclipse.sirius.editor.table/src/org/eclipse/sirius/editor/table/tools/internal/menu/ToolsMenuBuilder.java b/plugins/org.eclipse.sirius.editor.table/src/org/eclipse/sirius/editor/table/tools/internal/menu/ToolsMenuBuilder.java index f8b39bf4d9..b78f088be3 100644 --- a/plugins/org.eclipse.sirius.editor.table/src/org/eclipse/sirius/editor/table/tools/internal/menu/ToolsMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor.table/src/org/eclipse/sirius/editor/table/tools/internal/menu/ToolsMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2009, 2015 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 @@ -10,29 +10,31 @@ *******************************************************************************/ package org.eclipse.sirius.editor.table.tools.internal.menu; +import org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder; import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuilder; /** - * the tools menu for tables. + * The tools menu for tables. * * @author cbrun * */ public class ToolsMenuBuilder extends AbstractTypeRestrictingMenuBuilder { /** - * create the menu. + * Create the menu. */ public ToolsMenuBuilder() { super(); addValidType(org.eclipse.sirius.table.metamodel.table.description.DescriptionPackage.eINSTANCE.getTableTool()); } - /** - * {@inheritDoc} - */ @Override public String getLabel() { return "New Tool"; } + @Override + public int getPriority() { + return AbstractMenuBuilder.TOOL; + } } diff --git a/plugins/org.eclipse.sirius.editor.tree/src/org/eclipse/sirius/editor/tree/tools/internal/menu/TreePopupMenuMenuBuilder.java b/plugins/org.eclipse.sirius.editor.tree/src/org/eclipse/sirius/editor/tree/tools/internal/menu/TreePopupMenuMenuBuilder.java index f4ea8bb4ed..c6c4e8f7ac 100644 --- a/plugins/org.eclipse.sirius.editor.tree/src/org/eclipse/sirius/editor/tree/tools/internal/menu/TreePopupMenuMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor.tree/src/org/eclipse/sirius/editor/tree/tools/internal/menu/TreePopupMenuMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2009, 2015 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 @@ -10,6 +10,7 @@ *******************************************************************************/ package org.eclipse.sirius.editor.tree.tools.internal.menu; +import org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder; import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuilder; import org.eclipse.sirius.tree.description.DescriptionPackage; @@ -34,4 +35,8 @@ public class TreePopupMenuMenuBuilder extends AbstractTypeRestrictingMenuBuilder return "New Menu"; } + @Override + public int getPriority() { + return AbstractMenuBuilder.MENU; + } } diff --git a/plugins/org.eclipse.sirius.editor.tree/src/org/eclipse/sirius/editor/tree/tools/internal/menu/TreeToolsMenuBuilder.java b/plugins/org.eclipse.sirius.editor.tree/src/org/eclipse/sirius/editor/tree/tools/internal/menu/TreeToolsMenuBuilder.java index 23de7a1a1d..ee3ea0f3f3 100644 --- a/plugins/org.eclipse.sirius.editor.tree/src/org/eclipse/sirius/editor/tree/tools/internal/menu/TreeToolsMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor.tree/src/org/eclipse/sirius/editor/tree/tools/internal/menu/TreeToolsMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2009, 2015 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 @@ -10,6 +10,7 @@ *******************************************************************************/ package org.eclipse.sirius.editor.tree.tools.internal.menu; +import org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder; import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuilder; import org.eclipse.sirius.tree.description.DescriptionPackage; @@ -29,14 +30,13 @@ public class TreeToolsMenuBuilder extends AbstractTypeRestrictingMenuBuilder { addValidType(DescriptionPackage.eINSTANCE.getTreeItemTool()); } - /** - * {@inheritDoc} - * - * @see org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder#getLabel() - */ @Override public String getLabel() { return "New Tool"; } + @Override + public int getPriority() { + return AbstractMenuBuilder.TOOL; + } } diff --git a/plugins/org.eclipse.sirius.editor.tree/src/org/eclipse/sirius/editor/tree/tools/internal/menu/TreeTreeElementMenuBuilder.java b/plugins/org.eclipse.sirius.editor.tree/src/org/eclipse/sirius/editor/tree/tools/internal/menu/TreeTreeElementMenuBuilder.java index 78863b1a63..c4c36a4508 100644 --- a/plugins/org.eclipse.sirius.editor.tree/src/org/eclipse/sirius/editor/tree/tools/internal/menu/TreeTreeElementMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor.tree/src/org/eclipse/sirius/editor/tree/tools/internal/menu/TreeTreeElementMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2009, 2015 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 @@ -10,6 +10,7 @@ *******************************************************************************/ package org.eclipse.sirius.editor.tree.tools.internal.menu; +import org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder; import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuilder; import org.eclipse.sirius.tree.description.DescriptionPackage; @@ -29,14 +30,13 @@ public class TreeTreeElementMenuBuilder extends AbstractTypeRestrictingMenuBuild addValidType(DescriptionPackage.eINSTANCE.getTreeMapping()); } - /** - * {@inheritDoc} - * - * @see org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder#getLabel() - */ @Override public String getLabel() { return "New Tree Element"; } + @Override + public int getPriority() { + return AbstractMenuBuilder.TREE_ELEMENT; + } } diff --git a/plugins/org.eclipse.sirius.editor.tree/src/org/eclipse/sirius/editor/tree/tools/internal/menu/TreeWizardMenuBuilder.java b/plugins/org.eclipse.sirius.editor.tree/src/org/eclipse/sirius/editor/tree/tools/internal/menu/TreeWizardMenuBuilder.java index 61d8e5eda6..9feee9570d 100644 --- a/plugins/org.eclipse.sirius.editor.tree/src/org/eclipse/sirius/editor/tree/tools/internal/menu/TreeWizardMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor.tree/src/org/eclipse/sirius/editor/tree/tools/internal/menu/TreeWizardMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2010, 2015 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 @@ -66,9 +66,11 @@ public class TreeWizardMenuBuilder extends AbstractMenuBuilder { return "Initialize"; } - /** - * {@inheritDoc} - */ + @Override + public int getPriority() { + return AbstractMenuBuilder.INITIALIZE; + } + @Override public void update(final Collection newChildDescriptors, final ISelection selection, final IEditorPart editor) { depopulate(); diff --git a/plugins/org.eclipse.sirius.editor/plugin.properties b/plugins/org.eclipse.sirius.editor/plugin.properties index 9862758827..0e5ec4b68e 100644 --- a/plugins/org.eclipse.sirius.editor/plugin.properties +++ b/plugins/org.eclipse.sirius.editor/plugin.properties @@ -130,4 +130,32 @@ _UI_SiriusModelWizardName_label = Viewpoint Specification Model name: titleSelectAFile = Select a file titleSelectFiles = Select files +#Priorities of menus +ConditionalStylePriority = 100 +CustomizationPriority = 200 +DiagramElementPriority = 300 +ElementCreationPriority = 400 +ElementEditionPriority = 500 +ExtensionPriority = 600 +FilterPriority = 700 +ImportPriority = 800 +LayoutPriority = 900 +MenuPriority = 1000 +NavigationPriority = 1100 +OperationPriority = 1200 +ReorderPriority = 1300 +RepresentationPriority = 1400 +RepresentationCreationPriority = 1500 +SimulationPriority = 1600 +StylePriority = 1700 +TableElementPriority = 1800 +TemplatePriority = 1900 +ToolPriority = 2000 +TreeElementPriority = 2100 +ValidationPriority = 2200 +VariablePriority = 2300 +OthersPriority = 2400 +InitializePriority = 2500 +RefactorPriority = 2600 + #End of user code specific keys
\ No newline at end of file diff --git a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/api/menu/AbstractMenuBuilder.java b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/api/menu/AbstractMenuBuilder.java index 13e6920e23..ff3a7e9bce 100644 --- a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/api/menu/AbstractMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/api/menu/AbstractMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009 THALES GLOBAL SERVICES. + * Copyright (c) 2009, 2015 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 @@ -17,7 +17,9 @@ import java.util.Collections; import java.util.Comparator; import java.util.LinkedHashSet; import java.util.List; +import java.util.MissingResourceException; +import org.eclipse.emf.common.util.ResourceLocator; import org.eclipse.emf.ecore.EModelElement; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.edit.command.CommandParameter; @@ -31,6 +33,7 @@ import org.eclipse.jface.action.IMenuManager; import org.eclipse.jface.action.MenuManager; import org.eclipse.jface.action.SubContributionItem; import org.eclipse.jface.viewers.ISelection; +import org.eclipse.sirius.editor.editorPlugin.SiriusEditorPlugin; import org.eclipse.sirius.editor.tools.internal.editor.EditorCustomizationManager; import org.eclipse.sirius.ext.base.Option; import org.eclipse.sirius.ext.base.Options; @@ -41,26 +44,186 @@ import com.google.common.collect.Iterables; import com.google.common.collect.Lists; /** - * Abstract class to dynamicaly build treeview menus. + * Abstract class to dynamically build treeview menus. * * @author cbrun * */ public abstract class AbstractMenuBuilder { + /** + * The priority of the New Conditionnal Style menu. + */ + protected static final int CONDITIONAL_STYLE; + + /** + * The priority of the New Customization menu. + */ + protected static final int CUSTOMIZATION; + + /** + * The priority of the New Diagram Element menu. + */ + protected static final int DIAGRAM_ELEMENT; + + /** + * The priority of the New Element Creation menu. + */ + protected static final int ELEMENT_CREATION; + + /** + * The priority of the New Element Edition menu. + */ + protected static final int ELEMENT_EDITION; + + /** + * The priority of the New Extension menu. + */ + protected static final int EXTENSION; + + /** + * The priority of the New Filter menu. + */ + protected static final int FILTER; + + /** + * The priority of the New Import menu. + */ + protected static final int IMPORT; + + /** + * The priority of the New Layout menu. + */ + protected static final int LAYOUT; + + /** + * The priority of the New Menu menu. + */ + protected static final int MENU; + + /** + * The priority of the New Navigation menu. + */ + protected static final int NAVIGATION; + + /** + * The priority of the New Operation menu. + */ + protected static final int OPERATION; + + /** + * The priority of the New Reorder menu. + */ + protected static final int REORDER; + + /** + * The priority of the New Representation menu. + */ + protected static final int REPRESENTATION; + + /** + * The priority of the New Representation Creation menu. + */ + protected static final int REPRESENTATION_CREATION; + + /** + * The priority of the New Simulation menu. + */ + protected static final int SIMULATION; + + /** + * The priority of the New Style menu. + */ + protected static final int STYLE; + + /** + * The priority of the New Table Element menu. + */ + protected static final int TABLE_ELEMENT; + + /** + * The priority of the New Template menu. + */ + protected static final int TEMPLATE; + + /** + * The priority of the New Tool menu. + */ + protected static final int TOOL; + + /** + * The priority of the New Tree Element menu. + */ + protected static final int TREE_ELEMENT; + + /** + * The priority of the New Validation menu. + */ + protected static final int VALIDATION; + + /** + * The priority of the New Variable menu. + */ + protected static final int VARIABLE; + + /** + * The priority of the New (Others) menu. + */ + protected static final int OTHERS; + + /** + * The priority of the Initialize menu. + */ + protected static final int INITIALIZE; + + /** + * The priority of the Refactor menu. + */ + protected static final int REFACTOR; + private static final String EDIT = "edit"; + static { + ResourceLocator rl = SiriusEditorPlugin.INSTANCE; + CONDITIONAL_STYLE = getPriority(rl, "ConditionalStylePriority"); + CUSTOMIZATION = getPriority(rl, "CustomizationPriority"); + DIAGRAM_ELEMENT = getPriority(rl, "DiagramElementPriority"); + ELEMENT_CREATION = getPriority(rl, "ElementCreationPriority"); + ELEMENT_EDITION = getPriority(rl, "ElementEditionPriority"); + EXTENSION = getPriority(rl, "ExtensionPriority"); + FILTER = getPriority(rl, "FilterPriority"); + IMPORT = getPriority(rl, "ImportPriority"); + LAYOUT = getPriority(rl, "LayoutPriority"); + MENU = getPriority(rl, "MenuPriority"); + NAVIGATION = getPriority(rl, "NavigationPriority"); + OPERATION = getPriority(rl, "OperationPriority"); + REORDER = getPriority(rl, "ReorderPriority"); + REPRESENTATION = getPriority(rl, "RepresentationPriority"); + REPRESENTATION_CREATION = getPriority(rl, "RepresentationCreationPriority"); + SIMULATION = getPriority(rl, "SimulationPriority"); + STYLE = getPriority(rl, "StylePriority"); + TABLE_ELEMENT = getPriority(rl, "TableElementPriority"); + TEMPLATE = getPriority(rl, "TemplatePriority"); + TOOL = getPriority(rl, "ToolPriority"); + TREE_ELEMENT = getPriority(rl, "TreeElementPriority"); + VALIDATION = getPriority(rl, "ValidationPriority"); + VARIABLE = getPriority(rl, "VariablePriority"); + OTHERS = getPriority(rl, "OthersPriority"); + INITIALIZE = getPriority(rl, "InitializePriority"); + REFACTOR = getPriority(rl, "RefactorPriority"); + } + /** - * child action for the advanced menu. + * Child actions for the advanced menu. */ protected Collection advancedChildActions; /** - * descriptors for the menu action. + * Descriptors for the menu action. */ protected Collection descriptors; /** - * menu manager for the advanced menu. + * Menu manager for the advanced menu. */ protected IMenuManager myMenuManager; @@ -73,8 +236,17 @@ public abstract class AbstractMenuBuilder { getMenu(); } + private static int getPriority(ResourceLocator rl, String id) { + try { + return Integer.parseInt(rl.getString(id)); + } catch (NumberFormatException nfe) { + } catch (MissingResourceException mre) { + } + return 100000; + } + /** - * return the menu child descriptors. + * Return the menu child descriptors. * * @return the menu child descriptors */ @@ -83,7 +255,7 @@ public abstract class AbstractMenuBuilder { } /** - * return the menu manager. + * Return the menu manager. * * @return the menu manager. */ @@ -103,14 +275,21 @@ public abstract class AbstractMenuBuilder { } /** - * return the menu label. + * Return the menu label. * * @return the menu label. */ public abstract String getLabel(); /** - * Attache the menu to its parent. + * Return the priority of the menu. + * + * @return the priority. + */ + public abstract int getPriority(); + + /** + * Attach the menu to its parent. * * @param parent * parent to attach to. @@ -148,7 +327,7 @@ public abstract class AbstractMenuBuilder { } /** - * return true if the command parameter is valid for the current builder. + * Return true if the command parameter is valid for the current builder. * * @param object * a command parameter to create new childs. @@ -157,7 +336,7 @@ public abstract class AbstractMenuBuilder { protected abstract boolean isMine(CommandParameter object); /** - * return true if the command parameter is deprecated and should be hidden. + * Return true if the command parameter is deprecated and should be hidden. * * @param param * a command parameter @@ -176,7 +355,7 @@ public abstract class AbstractMenuBuilder { } /** - * depopulate the menu. + * Depopulate the menu. */ protected void depopulate() { descriptors = new LinkedHashSet(); @@ -241,7 +420,7 @@ public abstract class AbstractMenuBuilder { } /** - * populate the menu. + * Populate the menu. */ public void populateMenu() { if (getMenu().some()) { @@ -259,7 +438,7 @@ public abstract class AbstractMenuBuilder { } /** - * populate the menumanager with the given actions. + * Populate the menumanager with the given actions. * * @param manager * manager to populate. diff --git a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/api/menu/CompositeMenuBuilder.java b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/api/menu/CompositeMenuBuilder.java index c4fe9d41b5..cd2bfce405 100644 --- a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/api/menu/CompositeMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/api/menu/CompositeMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2014 Obeo. + * Copyright (c) 2014, 2015 Obeo. * 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 @@ -27,6 +27,8 @@ public class CompositeMenuBuilder extends AbstractMenuBuilder { private String label; + private int priority; + /** * Create a new builder. * @@ -38,17 +40,23 @@ public class CompositeMenuBuilder extends AbstractMenuBuilder { public CompositeMenuBuilder(final String label, final Collection<AbstractMenuBuilder> menus) { this.label = label; this.menus = menus; + if (menus != null && menus.toArray().length > 0) { + AbstractMenuBuilder firstMenu = (AbstractMenuBuilder) menus.toArray()[0]; + priority = firstMenu.getPriority(); + } } - /** - * {@inheritDoc} - */ @Override public String getLabel() { return label; } @Override + public int getPriority() { + return priority; + } + + @Override protected boolean isMine(CommandParameter object) { for (AbstractMenuBuilder builder : menus) { if (builder.isMine(object)) { diff --git a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/OthersMenuBuilder.java b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/OthersMenuBuilder.java index 5268ab471a..c9c00b629d 100644 --- a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/OthersMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/OthersMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2009, 2015 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 @@ -36,17 +36,16 @@ public class OthersMenuBuilder extends AbstractMenuBuilder { this.menus = menus; } - /** - * {@inheritDoc} - */ @Override public String getLabel() { return "New"; } - /** - * {@inheritDoc} - */ + @Override + public int getPriority() { + return AbstractMenuBuilder.OTHERS; + } + @Override protected boolean isMine(final CommandParameter object) { for (final AbstractMenuBuilder builder : menus) { diff --git a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/ConditionalStyleMenuBuilder.java b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/ConditionalStyleMenuBuilder.java index 70f0a0df51..69659f1f51 100644 --- a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/ConditionalStyleMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/ConditionalStyleMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2009, 2015 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 @@ -10,6 +10,7 @@ *******************************************************************************/ package org.eclipse.sirius.editor.tools.internal.menu.child; +import org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder; import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuilder; import org.eclipse.sirius.viewpoint.description.DescriptionPackage; @@ -21,19 +22,20 @@ import org.eclipse.sirius.viewpoint.description.DescriptionPackage; */ public class ConditionalStyleMenuBuilder extends AbstractTypeRestrictingMenuBuilder { /** - * build the menu. + * Build the menu. */ public ConditionalStyleMenuBuilder() { super(); addValidType(DescriptionPackage.eINSTANCE.getConditionalStyleDescription()); } - /** - * {@inheritDoc} - */ @Override public String getLabel() { return "New Conditional Style"; } + @Override + public int getPriority() { + return AbstractMenuBuilder.CONDITIONAL_STYLE; + } } diff --git a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/CustomizationMenuBuilder.java b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/CustomizationMenuBuilder.java index 4a04662286..1b4479a5a1 100644 --- a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/CustomizationMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/CustomizationMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2012, 2015 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 @@ -10,6 +10,7 @@ *******************************************************************************/ package org.eclipse.sirius.editor.tools.internal.menu.child; +import org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder; import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuilder; import org.eclipse.sirius.viewpoint.description.DescriptionPackage; @@ -38,4 +39,8 @@ public class CustomizationMenuBuilder extends AbstractTypeRestrictingMenuBuilder return "New Customization"; } + @Override + public int getPriority() { + return AbstractMenuBuilder.CUSTOMIZATION; + } } diff --git a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/EditToolsMenuBuilder.java b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/EditToolsMenuBuilder.java index e5f2f8d27c..3f8b4c59ac 100644 --- a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/EditToolsMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/EditToolsMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2009, 2015 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 @@ -10,6 +10,7 @@ *******************************************************************************/ package org.eclipse.sirius.editor.tools.internal.menu.child; +import org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder; import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuilder; import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; @@ -21,7 +22,7 @@ import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; */ public class EditToolsMenuBuilder extends AbstractTypeRestrictingMenuBuilder { /** - * build the menu. + * Build the menu. */ public EditToolsMenuBuilder() { super(); @@ -30,11 +31,13 @@ public class EditToolsMenuBuilder extends AbstractTypeRestrictingMenuBuilder { addValidType(ToolPackage.eINSTANCE.getPaneBasedSelectionWizardDescription()); } - /** - * {@inheritDoc} - */ @Override public String getLabel() { return "New Element Edition"; } + + @Override + public int getPriority() { + return AbstractMenuBuilder.ELEMENT_EDITION; + } } diff --git a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/ExtensionsMenuBuilder.java b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/ExtensionsMenuBuilder.java index fabc150a3e..a4c39f6d82 100644 --- a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/ExtensionsMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/ExtensionsMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2009, 2015 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 @@ -10,6 +10,7 @@ *******************************************************************************/ package org.eclipse.sirius.editor.tools.internal.menu.child; +import org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder; import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuilder; import org.eclipse.sirius.viewpoint.description.DescriptionPackage; import org.eclipse.sirius.viewpoint.description.audit.AuditPackage; @@ -23,7 +24,7 @@ import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; */ public class ExtensionsMenuBuilder extends AbstractTypeRestrictingMenuBuilder { /** - * build the menu. + * Build the menu. */ public ExtensionsMenuBuilder() { super(); @@ -35,12 +36,13 @@ public class ExtensionsMenuBuilder extends AbstractTypeRestrictingMenuBuilder { addValidType(ToolPackage.eINSTANCE.getExternalJavaAction()); } - /** - * {@inheritDoc} - */ @Override public String getLabel() { return "New Extension"; } + @Override + public int getPriority() { + return AbstractMenuBuilder.EXTENSION; + } } diff --git a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/MenuToolsMenuBuilder.java b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/MenuToolsMenuBuilder.java index 91992b1d44..032afe5210 100644 --- a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/MenuToolsMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/MenuToolsMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2009, 2015 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 @@ -10,6 +10,7 @@ *******************************************************************************/ package org.eclipse.sirius.editor.tools.internal.menu.child; +import org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder; import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuilder; import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; @@ -21,7 +22,7 @@ import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; */ public class MenuToolsMenuBuilder extends AbstractTypeRestrictingMenuBuilder { /** - * build the menu. + * Build the menu. */ public MenuToolsMenuBuilder() { super(); @@ -29,12 +30,13 @@ public class MenuToolsMenuBuilder extends AbstractTypeRestrictingMenuBuilder { addValidType(ToolPackage.eINSTANCE.getOperationAction()); } - /** - * {@inheritDoc} - */ @Override public String getLabel() { return "New Menu"; } + @Override + public int getPriority() { + return AbstractMenuBuilder.MENU; + } } diff --git a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/NavigationToolsMenuBuilder.java b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/NavigationToolsMenuBuilder.java index 6446b45690..62d79f246d 100644 --- a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/NavigationToolsMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/NavigationToolsMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2009, 2015 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 @@ -10,6 +10,7 @@ *******************************************************************************/ package org.eclipse.sirius.editor.tools.internal.menu.child; +import org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder; import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuilder; import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; @@ -21,19 +22,20 @@ import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; */ public class NavigationToolsMenuBuilder extends AbstractTypeRestrictingMenuBuilder { /** - * build the menu. + * Build the menu. */ public NavigationToolsMenuBuilder() { super(); addValidType(ToolPackage.eINSTANCE.getRepresentationNavigationDescription()); } - /** - * {@inheritDoc} - */ @Override public String getLabel() { return "New Navigation"; } + @Override + public int getPriority() { + return AbstractMenuBuilder.NAVIGATION; + } } diff --git a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/OperationsMenuBuilder.java b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/OperationsMenuBuilder.java index f900deee93..2ced610aab 100644 --- a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/OperationsMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/OperationsMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2009, 2015 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 @@ -10,6 +10,7 @@ *******************************************************************************/ package org.eclipse.sirius.editor.tools.internal.menu.child; +import org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder; import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuilder; import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; @@ -21,7 +22,7 @@ import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; */ public class OperationsMenuBuilder extends AbstractTypeRestrictingMenuBuilder { /** - * build the menu. + * Build the menu. */ public OperationsMenuBuilder() { super(); @@ -34,12 +35,13 @@ public class OperationsMenuBuilder extends AbstractTypeRestrictingMenuBuilder { addRestrictedType(ToolPackage.eINSTANCE.getExternalJavaAction()); } - /** - * {@inheritDoc} - */ @Override public String getLabel() { return "New Operation"; } + @Override + public int getPriority() { + return AbstractMenuBuilder.OPERATION; + } } diff --git a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/RepresentationCreationToolsMenuBuilder.java b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/RepresentationCreationToolsMenuBuilder.java index 8251b12808..4f6dabed8a 100644 --- a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/RepresentationCreationToolsMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/RepresentationCreationToolsMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2009, 2015 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 @@ -10,6 +10,7 @@ *******************************************************************************/ package org.eclipse.sirius.editor.tools.internal.menu.child; +import org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder; import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuilder; import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; @@ -21,19 +22,20 @@ import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; */ public class RepresentationCreationToolsMenuBuilder extends AbstractTypeRestrictingMenuBuilder { /** - * build the menu. + * Build the menu. */ public RepresentationCreationToolsMenuBuilder() { super(); addValidType(ToolPackage.eINSTANCE.getRepresentationCreationDescription()); } - /** - * {@inheritDoc} - */ @Override public String getLabel() { return "New Representation Creation"; } + @Override + public int getPriority() { + return AbstractMenuBuilder.REPRESENTATION_CREATION; + } } diff --git a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/RepresentationMenuBuilder.java b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/RepresentationMenuBuilder.java index fc5e83255b..b7887aa545 100644 --- a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/RepresentationMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/RepresentationMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2009, 2015 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 @@ -10,6 +10,7 @@ *******************************************************************************/ package org.eclipse.sirius.editor.tools.internal.menu.child; +import org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder; import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuilder; import org.eclipse.sirius.viewpoint.description.DescriptionPackage; @@ -21,7 +22,7 @@ import org.eclipse.sirius.viewpoint.description.DescriptionPackage; */ public class RepresentationMenuBuilder extends AbstractTypeRestrictingMenuBuilder { /** - * build the menu. + * Build the menu. */ public RepresentationMenuBuilder() { super(); @@ -29,12 +30,13 @@ public class RepresentationMenuBuilder extends AbstractTypeRestrictingMenuBuilde addRestrictedType(DescriptionPackage.eINSTANCE.getRepresentationImportDescription()); } - /** - * {@inheritDoc} - */ @Override public String getLabel() { return "New Representation"; } + @Override + public int getPriority() { + return AbstractMenuBuilder.REPRESENTATION; + } } diff --git a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/RepresentationTemplateMenuBuilder.java b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/RepresentationTemplateMenuBuilder.java index 951d34e70c..627b587428 100644 --- a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/RepresentationTemplateMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/RepresentationTemplateMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2009, 2015 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 @@ -10,6 +10,7 @@ *******************************************************************************/ package org.eclipse.sirius.editor.tools.internal.menu.child; +import org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder; import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuilder; import org.eclipse.sirius.viewpoint.description.DescriptionPackage; @@ -21,19 +22,20 @@ import org.eclipse.sirius.viewpoint.description.DescriptionPackage; */ public class RepresentationTemplateMenuBuilder extends AbstractTypeRestrictingMenuBuilder { /** - * build the menu. + * Build the menu. */ public RepresentationTemplateMenuBuilder() { super(); addValidType(DescriptionPackage.eINSTANCE.getRepresentationTemplate()); } - /** - * {@inheritDoc} - */ @Override public String getLabel() { return "New Template"; } + @Override + public int getPriority() { + return AbstractMenuBuilder.TEMPLATE; + } } diff --git a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/StyleMenuBuilder.java b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/StyleMenuBuilder.java index 6363882cb5..e07dc662d0 100644 --- a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/StyleMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/StyleMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2009, 2015 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 @@ -10,6 +10,7 @@ *******************************************************************************/ package org.eclipse.sirius.editor.tools.internal.menu.child; +import org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder; import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuilder; import org.eclipse.sirius.viewpoint.description.style.StylePackage; @@ -21,19 +22,20 @@ import org.eclipse.sirius.viewpoint.description.style.StylePackage; */ public class StyleMenuBuilder extends AbstractTypeRestrictingMenuBuilder { /** - * build the menu. + * Build the menu. */ public StyleMenuBuilder() { super(); addValidType(StylePackage.eINSTANCE.getStyleDescription()); } - /** - * {@inheritDoc} - */ @Override public String getLabel() { return "New Style"; } + @Override + public int getPriority() { + return AbstractMenuBuilder.STYLE; + } } diff --git a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/ValidationMenuBuilder.java b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/ValidationMenuBuilder.java index 1cea21b239..4eff55c47b 100644 --- a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/ValidationMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/ValidationMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2009, 2015 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 @@ -10,6 +10,7 @@ *******************************************************************************/ package org.eclipse.sirius.editor.tools.internal.menu.child; +import org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder; import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuilder; import org.eclipse.sirius.viewpoint.description.validation.ValidationPackage; @@ -21,19 +22,20 @@ import org.eclipse.sirius.viewpoint.description.validation.ValidationPackage; */ public class ValidationMenuBuilder extends AbstractTypeRestrictingMenuBuilder { /** - * build the menu. + * Build the menu. */ public ValidationMenuBuilder() { super(); addValidType(ValidationPackage.eINSTANCE.getValidationSet()); } - /** - * {@inheritDoc} - */ @Override public String getLabel() { return "New Validation"; } + @Override + public int getPriority() { + return AbstractMenuBuilder.VALIDATION; + } } diff --git a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/VariablesMenuBuilder.java b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/VariablesMenuBuilder.java index 55a4ec69bf..472031c655 100644 --- a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/VariablesMenuBuilder.java +++ b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/child/VariablesMenuBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2009, 2015 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 @@ -10,6 +10,7 @@ *******************************************************************************/ package org.eclipse.sirius.editor.tools.internal.menu.child; +import org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder; import org.eclipse.sirius.editor.tools.api.menu.AbstractTypeRestrictingMenuBuilder; import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; @@ -21,19 +22,20 @@ import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; */ public class VariablesMenuBuilder extends AbstractTypeRestrictingMenuBuilder { /** - * build the menu. + * Build the menu. */ public VariablesMenuBuilder() { super(); addValidType(ToolPackage.eINSTANCE.getAbstractVariable()); } - /** - * {@inheritDoc} - */ @Override public String getLabel() { return "New Variable"; } + @Override + public int getPriority() { + return AbstractMenuBuilder.VARIABLE; + } } diff --git a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/refactoring/RefactoringMenu.java b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/refactoring/RefactoringMenu.java index 85350fce76..24cceb354f 100644 --- a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/refactoring/RefactoringMenu.java +++ b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/menu/refactoring/RefactoringMenu.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2009, 2015 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 @@ -36,17 +36,16 @@ public class RefactoringMenu extends AbstractMenuBuilder { */ public static final String REFACTORING_MENU_LABEL = "Refactor"; - /** - * {@inheritDoc} - */ @Override public String getLabel() { return REFACTORING_MENU_LABEL; } - /** - * {@inheritDoc} - */ + @Override + public int getPriority() { + return AbstractMenuBuilder.REFACTOR; + } + @Override public void update(final Collection newChildDescriptors, final ISelection selection, final IEditorPart editor) { depopulate(); @@ -68,13 +67,9 @@ public class RefactoringMenu extends AbstractMenuBuilder { }); } - /** - * {@inheritDoc} - */ @Override protected boolean isMine(final CommandParameter object) { // not relevant here return false; } - } diff --git a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/presentation/CustomSiriusActionBarContributor.java b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/presentation/CustomSiriusActionBarContributor.java index 397d62a367..3e90b2fa6c 100644 --- a/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/presentation/CustomSiriusActionBarContributor.java +++ b/plugins/org.eclipse.sirius.editor/src/org/eclipse/sirius/editor/tools/internal/presentation/CustomSiriusActionBarContributor.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2009, 2015 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 @@ -233,7 +233,11 @@ public class CustomSiriusActionBarContributor extends EditingDomainActionBarCont Comparator<AbstractMenuBuilder> comparator = new Comparator<AbstractMenuBuilder>() { @Override public int compare(AbstractMenuBuilder builder1, AbstractMenuBuilder builder2) { - return Collator.getInstance().compare(builder1.getLabel(), builder2.getLabel()); + int diff = builder1.getPriority() - builder2.getPriority(); + if (diff == 0) { + return Collator.getInstance().compare(builder1.getLabel(), builder2.getLabel()); + } + return diff; } }; Collections.sort(computedBuilders, comparator); |
