Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFanch BONNABESSE2015-11-09 17:05:07 +0000
committerGerrit Code Review @ Eclipse.org2016-01-28 12:30:11 +0000
commit712d97566d99446546055c44e8fe6806d99478dd (patch)
tree5b417a19e3b869c5abcb2d7788460dbe4fa7c8f8 /plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse
parent23fae62909798c7159511510bc139f1d5ecb0b0d (diff)
downloadorg.eclipse.papyrus-712d97566d99446546055c44e8fe6806d99478dd.tar.gz
org.eclipse.papyrus-712d97566d99446546055c44e8fe6806d99478dd.tar.xz
org.eclipse.papyrus-712d97566d99446546055c44e8fe6806d99478dd.zip
Bug 419357: [Diagram][Palette] Diagram must provide a way to restore
existing links https://bugs.eclipse.org/bugs/show_bug.cgi?id=419357 Creation of a EditPolicyProvider on "org.eclipse.papyrus.uml.diagram.common" to modify the "DefaultSemanticEditPolicy" used by many EditPart Change-Id: I1d3a329841509e1d297b4695019e0455a528a4f5 Signed-off-by: Fanch BONNABESSE <fanch.bonnabesse@all4tec.net>
Diffstat (limited to 'plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse')
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/Messages.java197
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/messages.properties73
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/PapyrusAllDiagramsPreferencePage.java290
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/ui/RestoreElementGroup.java75
4 files changed, 361 insertions, 274 deletions
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/Messages.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/Messages.java
index 1211a683f2d..cd0971c8a03 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/Messages.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/Messages.java
@@ -1,98 +1,99 @@
-/****************************************************************************
- * Copyright (c) 2009 Atos Origin.
- *
- * 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *****************************************************************************/
-package org.eclipse.papyrus.infra.gmfdiag.preferences;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.papyrus.infra.gmfdiag.preferences.messages"; //$NON-NLS-1$
-
-
-
- public static String AbstractPapyrusElementPreferencePage_Colors;
-
- public static String AbstractPapyrusElementPreferencePage_Font;
-
- public static String AbstractPapyrusLinkPreferencePage_Above;
-
- public static String AbstractPapyrusLinkPreferencePage_All;
-
- public static String AbstractPapyrusLinkPreferencePage_AvoidObstructions;
-
- public static String AbstractPapyrusLinkPreferencePage_Below;
-
- public static String AbstractPapyrusLinkPreferencePage_Chamfered;
-
- public static String AbstractPapyrusLinkPreferencePage_ClosestDistance;
-
- public static String AbstractPapyrusLinkPreferencePage_Connection;
-
- public static String AbstractPapyrusLinkPreferencePage_JUMPLINKS;
-
- public static String AbstractPapyrusLinkPreferencePage_Less;
-
- public static String AbstractPapyrusLinkPreferencePage_More;
-
- public static String AbstractPapyrusLinkPreferencePage_None;
-
- public static String AbstractPapyrusLinkPreferencePage_Normal;
-
- public static String AbstractPapyrusLinkPreferencePage_Oblique;
-
- public static String AbstractPapyrusLinkPreferencePage_Rectilinear;
-
- public static String AbstractPapyrusLinkPreferencePage_ReverseJumpLinks;
-
- public static String AbstractPapyrusLinkPreferencePage_Routing;
-
- public static String AbstractPapyrusLinkPreferencePage_SemiCircle;
-
- public static String AbstractPapyrusLinkPreferencePage_Smoothness;
-
- public static String AbstractPapyrusLinkPreferencePage_Square;
-
- public static String AbstractPapyrusLinkPreferencePage_Status;
-
- public static String AbstractPapyrusLinkPreferencePage_Styles;
-
- public static String AbstractPapyrusLinkPreferencePage_Tree;
-
- public static String AbstractPapyrusLinkPreferencePage_Type;
-
- public static String AbstractPapyrusNodePreferencePage_Activate;
-
- public static String AbstractPapyrusNodePreferencePage_Gradient;
-
- public static String GradientFieldEditor_Color;
-
- public static String GradientFieldEditor_Horizontal;
-
- public static String GradientFieldEditor_Style;
-
- public static String GradientFieldEditor_Transparency;
-
- public static String GradientFieldEditor_Vertical;
-
- public static String DecorationGroup_Name;
-
- public static String DimensionGroupName;
-
-
-
- public static String NodeCompartmentGroup_Compartiments;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
+/****************************************************************************
+ * Copyright (c) 2009 Atos Origin.
+ *
+ * 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
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.preferences;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+
+ private static final String BUNDLE_NAME = "org.eclipse.papyrus.infra.gmfdiag.preferences.messages"; //$NON-NLS-1$
+
+ public static String AbstractPapyrusElementPreferencePage_Colors;
+
+ public static String AbstractPapyrusElementPreferencePage_Font;
+
+ public static String AbstractPapyrusLinkPreferencePage_Above;
+
+ public static String AbstractPapyrusLinkPreferencePage_All;
+
+ public static String AbstractPapyrusLinkPreferencePage_AvoidObstructions;
+
+ public static String AbstractPapyrusLinkPreferencePage_Below;
+
+ public static String AbstractPapyrusLinkPreferencePage_Chamfered;
+
+ public static String AbstractPapyrusLinkPreferencePage_ClosestDistance;
+
+ public static String AbstractPapyrusLinkPreferencePage_Connection;
+
+ public static String AbstractPapyrusLinkPreferencePage_JUMPLINKS;
+
+ public static String AbstractPapyrusLinkPreferencePage_Less;
+
+ public static String AbstractPapyrusLinkPreferencePage_More;
+
+ public static String AbstractPapyrusLinkPreferencePage_None;
+
+ public static String AbstractPapyrusLinkPreferencePage_Normal;
+
+ public static String AbstractPapyrusLinkPreferencePage_Oblique;
+
+ public static String AbstractPapyrusLinkPreferencePage_Rectilinear;
+
+ public static String AbstractPapyrusLinkPreferencePage_ReverseJumpLinks;
+
+ public static String AbstractPapyrusLinkPreferencePage_Routing;
+
+ public static String AbstractPapyrusLinkPreferencePage_SemiCircle;
+
+ public static String AbstractPapyrusLinkPreferencePage_Smoothness;
+
+ public static String AbstractPapyrusLinkPreferencePage_Square;
+
+ public static String AbstractPapyrusLinkPreferencePage_Status;
+
+ public static String AbstractPapyrusLinkPreferencePage_Styles;
+
+ public static String AbstractPapyrusLinkPreferencePage_Tree;
+
+ public static String AbstractPapyrusLinkPreferencePage_Type;
+
+ public static String AbstractPapyrusNodePreferencePage_Activate;
+
+ public static String AbstractPapyrusNodePreferencePage_Gradient;
+
+ public static String GradientFieldEditor_Color;
+
+ public static String GradientFieldEditor_Horizontal;
+
+ public static String GradientFieldEditor_Style;
+
+ public static String GradientFieldEditor_Transparency;
+
+ public static String GradientFieldEditor_Vertical;
+
+ public static String DecorationGroup_Name;
+
+ public static String DimensionGroupName;
+
+ public static String NodeCompartmentGroup_Compartiments;
+
+ public static String RestoreElementGroup_RestoreElementLink;
+
+ public static String RestoreElementGroup_AlwaysCreateANewLink;
+
+ static {
+ // initialize resource bundle
+ NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+ }
+
+ private Messages() {
+ }
+}
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/messages.properties b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/messages.properties
index 5372bd6a1de..7e901ab06f9 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/messages.properties
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/messages.properties
@@ -1,35 +1,38 @@
-AbstractPapyrusElementPreferencePage_Colors=Colors
-AbstractPapyrusElementPreferencePage_Font=Font
-AbstractPapyrusLinkPreferencePage_Above=Above
-AbstractPapyrusLinkPreferencePage_All=All
-AbstractPapyrusLinkPreferencePage_AvoidObstructions=Avoid Obstructions
-AbstractPapyrusLinkPreferencePage_Below=Below
-AbstractPapyrusLinkPreferencePage_Chamfered=Chamfered
-AbstractPapyrusLinkPreferencePage_ClosestDistance=Closest Distance
-AbstractPapyrusLinkPreferencePage_Connection=Connection
-AbstractPapyrusLinkPreferencePage_JUMPLINKS=Jump Links
-AbstractPapyrusLinkPreferencePage_Less=Less
-AbstractPapyrusLinkPreferencePage_More=More
-AbstractPapyrusLinkPreferencePage_None=None
-AbstractPapyrusLinkPreferencePage_Normal=Normal
-AbstractPapyrusLinkPreferencePage_Oblique=Oblique
-AbstractPapyrusLinkPreferencePage_Rectilinear=Rectilinear
-AbstractPapyrusLinkPreferencePage_ReverseJumpLinks=Reverse jump links
-AbstractPapyrusLinkPreferencePage_Routing=Routing
-AbstractPapyrusLinkPreferencePage_SemiCircle=Semi-Circle
-AbstractPapyrusLinkPreferencePage_Smoothness=Smoothness
-AbstractPapyrusLinkPreferencePage_Square=Square
-AbstractPapyrusLinkPreferencePage_Status=Status
-AbstractPapyrusLinkPreferencePage_Styles=Styles
-AbstractPapyrusLinkPreferencePage_Tree=Tree
-AbstractPapyrusLinkPreferencePage_Type=Type
-AbstractPapyrusNodePreferencePage_Activate=Activate
-AbstractPapyrusNodePreferencePage_Gradient=Gradient :
-GradientFieldEditor_Color=Color
-GradientFieldEditor_Horizontal=Horizontal
-GradientFieldEditor_Style=Style
-GradientFieldEditor_Transparency=Transparency
-GradientFieldEditor_Vertical=Vertical
-DecorationGroup_Name=Decoration
-DimensionGroupName=Dimension
-NodeCompartmentGroup_Compartiments=Show/hide compartments
+AbstractPapyrusElementPreferencePage_Colors=Colors
+AbstractPapyrusElementPreferencePage_Font=Font
+AbstractPapyrusLinkPreferencePage_Above=Above
+AbstractPapyrusLinkPreferencePage_All=All
+AbstractPapyrusLinkPreferencePage_AvoidObstructions=Avoid Obstructions
+AbstractPapyrusLinkPreferencePage_Below=Below
+AbstractPapyrusLinkPreferencePage_Chamfered=Chamfered
+AbstractPapyrusLinkPreferencePage_ClosestDistance=Closest Distance
+AbstractPapyrusLinkPreferencePage_Connection=Connection
+AbstractPapyrusLinkPreferencePage_JUMPLINKS=Jump Links
+AbstractPapyrusLinkPreferencePage_Less=Less
+AbstractPapyrusLinkPreferencePage_More=More
+AbstractPapyrusLinkPreferencePage_None=None
+AbstractPapyrusLinkPreferencePage_Normal=Normal
+AbstractPapyrusLinkPreferencePage_Oblique=Oblique
+AbstractPapyrusLinkPreferencePage_Rectilinear=Rectilinear
+AbstractPapyrusLinkPreferencePage_ReverseJumpLinks=Reverse jump links
+AbstractPapyrusLinkPreferencePage_Routing=Routing
+AbstractPapyrusLinkPreferencePage_SemiCircle=Semi-Circle
+AbstractPapyrusLinkPreferencePage_Smoothness=Smoothness
+AbstractPapyrusLinkPreferencePage_Square=Square
+AbstractPapyrusLinkPreferencePage_Status=Status
+AbstractPapyrusLinkPreferencePage_Styles=Styles
+AbstractPapyrusLinkPreferencePage_Tree=Tree
+AbstractPapyrusLinkPreferencePage_Type=Type
+AbstractPapyrusNodePreferencePage_Activate=Activate
+AbstractPapyrusNodePreferencePage_Gradient=Gradient :
+GradientFieldEditor_Color=Color
+GradientFieldEditor_Horizontal=Horizontal
+GradientFieldEditor_Style=Style
+GradientFieldEditor_Transparency=Transparency
+GradientFieldEditor_Vertical=Vertical
+DecorationGroup_Name=Decoration
+DimensionGroupName=Dimension
+NodeCompartmentGroup_Compartiments=Show/hide compartments
+
+RestoreElementGroup_RestoreElementLink=Restore Link Element
+RestoreElementGroup_AlwaysCreateANewLink=Always create a new link
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/PapyrusAllDiagramsPreferencePage.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/PapyrusAllDiagramsPreferencePage.java
index 026dd1c7b68..ac34173993b 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/PapyrusAllDiagramsPreferencePage.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/PapyrusAllDiagramsPreferencePage.java
@@ -1,141 +1,149 @@
-/****************************************************************************
- * Copyright (c) 2008 Atos Origin.
- *
- * 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Thibault Landre (Atos Origin) - Initial API and implementation
- * Patrick Tessier (CEA LIST)- modifications
- *
- *****************************************************************************/
-package org.eclipse.papyrus.infra.gmfdiag.preferences.pages;
-
-import org.eclipse.gmf.runtime.notation.JumpLinkStatus;
-import org.eclipse.gmf.runtime.notation.Routing;
-import org.eclipse.gmf.runtime.notation.Smoothness;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.Activator;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.PapyrusPreferenceStore;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.BackgroundColor;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.ConnectionGroup;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.DecorationGroup;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.DimensionGroup;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.FontGroup;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.NodeColorGroup;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.RulersAndGridGroup;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.editor.EditorBackgroundColor;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.editor.EditorConnectionGroup;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.editor.EditorDecorationGroup;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.editor.EditorDimensionGroup;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.editor.EditorFontGroup;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.editor.EditorNodeColorGroup;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.editor.EditorRulersAndGridGroup;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Group;
-
-/**
- * The default preference page all element of diagrams
- *
- */
-public class PapyrusAllDiagramsPreferencePage extends AbstractPapyrusPreferencePage {
-
- @Override
- protected void createPageContents(Composite parent) {
- Group contentGroup = new Group(parent, 2);
- contentGroup.setLayout(new GridLayout(4, false));
-
- // FontGroup
- FontGroup fontGroupComposite = new EditorFontGroup(contentGroup, getTitle(), this);
- addAbstractGroup(fontGroupComposite);
- // color
- NodeColorGroup colorGroupForNodeComposite = new EditorNodeColorGroup(contentGroup, getTitle(), this);
- addAbstractGroup(colorGroupForNodeComposite);
-
-
- // router for links
- ConnectionGroup connectionGroupComposite = new EditorConnectionGroup(contentGroup, getTitle(), this);
- addAbstractGroup(connectionGroupComposite);
-
- // background
- BackgroundColor backgroundColorGroup = new EditorBackgroundColor(contentGroup, getTitle(), this);
- addAbstractGroup(backgroundColorGroup);
-
- DecorationGroup decorationGroupComposite = new EditorDecorationGroup(contentGroup, getTitle(), this);
- addAbstractGroup(decorationGroupComposite);
-
- DimensionGroup dimensionGroup = new EditorDimensionGroup(contentGroup, getTitle(), this);
- addAbstractGroup(dimensionGroup);
-
- RulersAndGridGroup viewGroupComposite = new EditorRulersAndGridGroup(parent, getTitle(), this);
- addAbstractGroup(viewGroupComposite);
- }
-
-
- @Override
- protected String getBundleId() {
- return Activator.PLUGIN_ID;
- }
-
- /**
- * use to init default preferences at the papyrus level
- *
- * @param store
- * the preference store
- */
- public static void initDefaults(final IPreferenceStore store) {
- Display.getDefault().syncExec(new Runnable() { // to be in the thread ui
-
- public void run() {
-
- // Nodes
- PreferenceConverter.setDefault(store, PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.COLOR_FILL), new org.eclipse.swt.graphics.RGB(255, 255, 255));
- PreferenceConverter.setDefault(store, PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.COLOR_LINE), new org.eclipse.swt.graphics.RGB(0, 0, 0));
-
- // Set the default for the gradient
- store.setDefault(PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.GRADIENT_POLICY), false);
- GradientPreferenceConverter gradientPreferenceConverter = new GradientPreferenceConverter(new org.eclipse.swt.graphics.RGB(255, 255, 255), new org.eclipse.swt.graphics.RGB(0, 0, 0), 0, 0);
- store.setDefault(PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.COLOR_GRADIENT), gradientPreferenceConverter.getPreferenceValue());
-
- // Links
- store.setDefault(PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.SMOOTHNESS), Smoothness.NONE);
- store.setDefault(PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.JUMPLINK_STATUS), JumpLinkStatus.NONE);
- store.setDefault(PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.JUMPLINK_TYPE), JumpLinkStatus.NONE);
- store.setDefault(PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.JUMPLINK_REVERSE), false);
-
- store.setDefault(PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.ROUTING_STYLE), Routing.MANUAL);
- store.setDefault(PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.ROUTING_POLICY_OBSTRUCTION), false);
- store.setDefault(PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.ROUTING_POLICY_DISTANCE), false);
-
- // decoration
- store.setDefault(PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.SHADOW), false);
- store.setDefault(PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.ELEMENTICON), false);
- store.setDefault(PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.QUALIFIEDNAME), false);
- // dimension
- store.setDefault(PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.WIDTH), 100);
- store.setDefault(PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.HEIGHT), 100);
-
- // Rulers and grid group
- RulersAndGridGroup.initDefaults(store);
- }
- });
-
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public void storeAllPreferences() {
- super.storeAllPreferences();
- ((PapyrusPreferenceStore) getPreferenceStore()).deleteAllSubPreference(PreferencesConstantsHelper.PAPYRUS_EDITOR_PREFERENCE_PREFIX);
-
- }
-}
+/****************************************************************************
+ * Copyright (c) 2008 Atos Origin.
+ *
+ * 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
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Thibault Landre (Atos Origin) - Initial API and implementation
+ * Patrick Tessier (CEA LIST)- modifications
+ * Fanch Bonnabesse (ALL4TEC) fanch.bonnabesse@alltec.net - Bug 419357
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.preferences.pages;
+
+import org.eclipse.gmf.runtime.notation.JumpLinkStatus;
+import org.eclipse.gmf.runtime.notation.Routing;
+import org.eclipse.gmf.runtime.notation.Smoothness;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.preference.PreferenceConverter;
+import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.Activator;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.PapyrusPreferenceStore;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.BackgroundColor;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.ConnectionGroup;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.DecorationGroup;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.DimensionGroup;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.FontGroup;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.NodeColorGroup;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.RestoreElementGroup;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.RulersAndGridGroup;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.editor.EditorBackgroundColor;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.editor.EditorConnectionGroup;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.editor.EditorDecorationGroup;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.editor.EditorDimensionGroup;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.editor.EditorFontGroup;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.editor.EditorNodeColorGroup;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.editor.EditorRulersAndGridGroup;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Group;
+
+/**
+ * The default preference page all element of diagrams
+ *
+ */
+public class PapyrusAllDiagramsPreferencePage extends AbstractPapyrusPreferencePage {
+
+ @Override
+ protected void createPageContents(final Composite parent) {
+ Group contentGroup = new Group(parent, 2);
+ contentGroup.setLayout(new GridLayout(4, false));
+
+ // FontGroup
+ FontGroup fontGroupComposite = new EditorFontGroup(contentGroup, getTitle(), this);
+ addAbstractGroup(fontGroupComposite);
+ // color
+ NodeColorGroup colorGroupForNodeComposite = new EditorNodeColorGroup(contentGroup, getTitle(), this);
+ addAbstractGroup(colorGroupForNodeComposite);
+
+
+ // router for links
+ ConnectionGroup connectionGroupComposite = new EditorConnectionGroup(contentGroup, getTitle(), this);
+ addAbstractGroup(connectionGroupComposite);
+
+ // background
+ BackgroundColor backgroundColorGroup = new EditorBackgroundColor(contentGroup, getTitle(), this);
+ addAbstractGroup(backgroundColorGroup);
+
+ DecorationGroup decorationGroupComposite = new EditorDecorationGroup(contentGroup, getTitle(), this);
+ addAbstractGroup(decorationGroupComposite);
+
+ DimensionGroup dimensionGroup = new EditorDimensionGroup(contentGroup, getTitle(), this);
+ addAbstractGroup(dimensionGroup);
+
+ RulersAndGridGroup viewGroupComposite = new EditorRulersAndGridGroup(parent, getTitle(), this);
+ addAbstractGroup(viewGroupComposite);
+
+ final RestoreElementGroup restoreElementGroup = new RestoreElementGroup(parent, getTitle(), this);
+ addAbstractGroup(restoreElementGroup);
+ }
+
+
+ @Override
+ protected String getBundleId() {
+ return Activator.PLUGIN_ID;
+ }
+
+ /**
+ * use to init default preferences at the papyrus level
+ *
+ * @param store
+ * the preference store
+ */
+ public static void initDefaults(final IPreferenceStore store) {
+ Display.getDefault().syncExec(new Runnable() { // to be in the thread ui
+
+ public void run() {
+
+ // Nodes
+ PreferenceConverter.setDefault(store, PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.COLOR_FILL), new org.eclipse.swt.graphics.RGB(255, 255, 255));
+ PreferenceConverter.setDefault(store, PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.COLOR_LINE), new org.eclipse.swt.graphics.RGB(0, 0, 0));
+
+ // Set the default for the gradient
+ store.setDefault(PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.GRADIENT_POLICY), false);
+ GradientPreferenceConverter gradientPreferenceConverter = new GradientPreferenceConverter(new org.eclipse.swt.graphics.RGB(255, 255, 255), new org.eclipse.swt.graphics.RGB(0, 0, 0), 0, 0);
+ store.setDefault(PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.COLOR_GRADIENT), gradientPreferenceConverter.getPreferenceValue());
+
+ // Links
+ store.setDefault(PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.SMOOTHNESS), Smoothness.NONE);
+ store.setDefault(PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.JUMPLINK_STATUS), JumpLinkStatus.NONE);
+ store.setDefault(PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.JUMPLINK_TYPE), JumpLinkStatus.NONE);
+ store.setDefault(PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.JUMPLINK_REVERSE), false);
+
+ store.setDefault(PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.ROUTING_STYLE), Routing.MANUAL);
+ store.setDefault(PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.ROUTING_POLICY_OBSTRUCTION), false);
+ store.setDefault(PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.ROUTING_POLICY_DISTANCE), false);
+
+ // decoration
+ store.setDefault(PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.SHADOW), false);
+ store.setDefault(PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.ELEMENTICON), false);
+ store.setDefault(PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.QUALIFIEDNAME), false);
+ // dimension
+ store.setDefault(PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.WIDTH), 100);
+ store.setDefault(PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.HEIGHT), 100);
+
+ // Rulers and grid group
+ RulersAndGridGroup.initDefaults(store);
+
+ // Restore Element Group
+ RestoreElementGroup.initDefaults(store);
+ }
+ });
+
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void storeAllPreferences() {
+ super.storeAllPreferences();
+ ((PapyrusPreferenceStore) getPreferenceStore()).deleteAllSubPreference(PreferencesConstantsHelper.PAPYRUS_EDITOR_PREFERENCE_PREFIX);
+
+ }
+}
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/ui/RestoreElementGroup.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/ui/RestoreElementGroup.java
new file mode 100644
index 00000000000..273d40324c9
--- /dev/null
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/ui/RestoreElementGroup.java
@@ -0,0 +1,75 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Fanch Bonnabesse (ALL4TEC) fanch.bonnabesse@alltec.net - Initial API and implementation, Bug 419357
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.gmfdiag.preferences.ui;
+
+import org.eclipse.jface.dialogs.DialogPage;
+import org.eclipse.jface.preference.BooleanFieldEditor;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.Messages;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Group;
+
+/**
+ * The Class RestoreElementGroup contains a boolean field editor to always create a new link.
+ */
+public class RestoreElementGroup extends AbstractGroup {
+
+ /**
+ * Constructor.
+ *
+ * @param parent
+ * @param key
+ * @param dialogPage
+ */
+ public RestoreElementGroup(final Composite parent, final String key, final DialogPage dialogPage) {
+ super(parent, key, dialogPage);
+ createContent(parent);
+ }
+
+ /**
+ * Create the content of the group.
+ *
+ * @param parent
+ */
+ private void createContent(final Composite parent) {
+ // Create a Group to hold the restore element fields
+ final Group group = new Group(parent, SWT.NONE);
+ group.setText(Messages.RestoreElementGroup_RestoreElementLink);
+
+ final GridLayout gridLayout = new GridLayout(1, false);
+ final GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.grabExcessHorizontalSpace = true;
+ gridData.horizontalSpan = 1;
+
+
+ // Add the fields to the group
+ final BooleanFieldEditor restoreElement = new BooleanFieldEditor(PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.RESTORE_LINK_ELEMENT), Messages.RestoreElementGroup_AlwaysCreateANewLink, group);
+ addFieldEditor(restoreElement);
+
+ group.setLayoutData(gridData);
+ group.setLayout(gridLayout);
+ }
+
+
+ /**
+ * Initializes the default values of the group.
+ */
+ public static void initDefaults(IPreferenceStore store) {
+ store.setDefault(PreferencesConstantsHelper.getPapyrusEditorConstant(PreferencesConstantsHelper.RESTORE_LINK_ELEMENT), false);
+ }
+}

Back to the top