diff options
author | Fanch BONNABESSE | 2015-11-09 17:05:07 +0000 |
---|---|---|
committer | Gerrit Code Review @ Eclipse.org | 2016-01-28 12:30:11 +0000 |
commit | 712d97566d99446546055c44e8fe6806d99478dd (patch) | |
tree | 5b417a19e3b869c5abcb2d7788460dbe4fa7c8f8 /plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse | |
parent | 23fae62909798c7159511510bc139f1d5ecb0b0d (diff) | |
download | org.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')
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); + } +} |