Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Schindl2011-04-25 06:59:25 +0000
committerThomas Schindl2011-04-25 06:59:25 +0000
commitb5ca1233b5ecaa4cfdaa0d2fa82d68c1af7a6c36 (patch)
tree0cc122589745e5702ab0f71e718df06e7ff549fa
parentc55a2f5bee31e26232cedd69900eebb8e3783686 (diff)
downloadorg.eclipse.e4.tools-b5ca1233b5ecaa4cfdaa0d2fa82d68c1af7a6c36.tar.gz
org.eclipse.e4.tools-b5ca1233b5ecaa4cfdaa0d2fa82d68c1af7a6c36.tar.xz
org.eclipse.e4.tools-b5ca1233b5ecaa4cfdaa0d2fa82d68c1af7a6c36.zip
Bug 343717 - [ModelTooling] Make rendered / visible color a preferencev20110425-1930
-rw-r--r--bundles/org.eclipse.e4.tools.emf.editor3x/src/org/eclipse/e4/tools/emf/editor3x/ModelEditorPreferencePage.java105
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/META-INF/MANIFEST.MF3
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/plugin.xml6
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/PreferenceInitializer.java31
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/ComponentLabelProvider.java33
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/ModelEditor.java44
6 files changed, 171 insertions, 51 deletions
diff --git a/bundles/org.eclipse.e4.tools.emf.editor3x/src/org/eclipse/e4/tools/emf/editor3x/ModelEditorPreferencePage.java b/bundles/org.eclipse.e4.tools.emf.editor3x/src/org/eclipse/e4/tools/emf/editor3x/ModelEditorPreferencePage.java
index 7bb2547f..64315c76 100644
--- a/bundles/org.eclipse.e4.tools.emf.editor3x/src/org/eclipse/e4/tools/emf/editor3x/ModelEditorPreferencePage.java
+++ b/bundles/org.eclipse.e4.tools.emf.editor3x/src/org/eclipse/e4/tools/emf/editor3x/ModelEditorPreferencePage.java
@@ -1,28 +1,27 @@
package org.eclipse.e4.tools.emf.editor3x;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.core.runtime.preferences.InstanceScope;
+import org.eclipse.jface.preference.BooleanFieldEditor;
+import org.eclipse.jface.preference.ColorFieldEditor;
import org.eclipse.jface.preference.PreferencePage;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.osgi.service.prefs.BackingStoreException;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
public class ModelEditorPreferencePage extends PreferencePage implements
IWorkbenchPreferencePage {
- private boolean autoCreateElementId;
- private boolean showXMIId;
-
- private IEclipsePreferences node;
-
+ private BooleanFieldEditor fAutoGeneratedId;
+ private BooleanFieldEditor fShowXMIId;
+ private ColorFieldEditor fColorValueNotRendered;
+ private ColorFieldEditor fColorValueNotVisible;
+ private ColorFieldEditor fColorValueNotVisibleAndRendered;
+
public ModelEditorPreferencePage() {
}
@@ -35,57 +34,77 @@ public class ModelEditorPreferencePage extends PreferencePage implements
}
public void init(IWorkbench workbench) {
- node = new InstanceScope().getNode("org.eclipse.e4.tools.emf.ui");
- autoCreateElementId = node.getBoolean("autoCreateElementId", false);
- showXMIId = node.getBoolean("showXMIId", false);
+ setPreferenceStore(new ScopedPreferenceStore(InstanceScope.INSTANCE,"org.eclipse.e4.tools.emf.ui"));
}
@Override
protected Control createContents(Composite parent) {
- Composite result= new Composite(parent, SWT.NONE);
- result.setLayout(new GridLayout(2,false));
+ Composite result = new Composite(parent, SWT.NONE);
+ result.setLayout(new GridLayout());
+
+ {
+ fColorValueNotRendered = new ColorFieldEditor("notRenderedColor", "Not rendered color", result);
+ fColorValueNotRendered.setPage(this);
+ fColorValueNotRendered.setPreferenceStore(getPreferenceStore());
+ fColorValueNotRendered.load();
+ }
+
+ {
+ fColorValueNotVisible = new ColorFieldEditor("notVisibleColor", "Not visible color", result);
+ fColorValueNotVisible.setPage(this);
+ fColorValueNotVisible.setPreferenceStore(getPreferenceStore());
+ fColorValueNotVisible.load();
+ }
{
- Label l = new Label(result, SWT.NONE);
- l.setText("Autogenerate Element-Id");
- final Button b = new Button(result, SWT.CHECK);
- b.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- autoCreateElementId = b.getSelection();
- }
- });
+ fColorValueNotVisibleAndRendered = new ColorFieldEditor("notVisibleAndRenderedColor", "Not visible and not rendered color", result);
+ fColorValueNotVisibleAndRendered.setPage(this);
+ fColorValueNotVisibleAndRendered.setPreferenceStore(getPreferenceStore());
+ fColorValueNotVisibleAndRendered.load();
}
{
- Label l = new Label(result, SWT.NONE);
- l.setText("Show XMI:ID");
- final Button b = new Button(result, SWT.CHECK);
- b.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- showXMIId = b.getSelection();
- }
- });
+ Composite container = new Composite(result, SWT.NONE);
+ container.setLayoutData(new GridData(GridData.FILL,GridData.CENTER,false,false,2,1));
+ fAutoGeneratedId = new BooleanFieldEditor("autoCreateElementId", "Autogenerate Element-Id", container);
+ fAutoGeneratedId.setPage(this);
+ fAutoGeneratedId.setPreferenceStore(getPreferenceStore());
+ fAutoGeneratedId.load();
+ }
+
+ {
+ Composite container = new Composite(result, SWT.NONE);
+ container.setLayoutData(new GridData(GridData.FILL,GridData.CENTER,false,false,2,1));
+ fShowXMIId = new BooleanFieldEditor("showXMIId", "Show XMI:ID", container);
+ fShowXMIId.setPage(this);
+ fShowXMIId.setPreferenceStore(getPreferenceStore());
+ fShowXMIId.load();
}
return result;
}
-
+
@Override
public boolean performOk() {
- node.putBoolean("autoCreateElementId", autoCreateElementId);
- node.putBoolean("showXMIId", showXMIId);
- try {
- node.flush();
- } catch (BackingStoreException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
+ fAutoGeneratedId.store();
+ fShowXMIId.store();
+ fColorValueNotRendered.store();
+ fColorValueNotVisible.store();
+ fColorValueNotVisibleAndRendered.store();
return super.performOk();
}
@Override
+ protected void performDefaults() {
+ fAutoGeneratedId.loadDefault();
+ fShowXMIId.loadDefault();
+ fColorValueNotRendered.loadDefault();
+ fColorValueNotVisible.loadDefault();
+ fColorValueNotVisibleAndRendered.loadDefault();
+ super.performDefaults();
+ }
+
+ @Override
public void dispose() {
super.dispose();
}
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.e4.tools.emf.ui/META-INF/MANIFEST.MF
index 92554df3..8d3f7496 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.e4.tools.emf.ui/META-INF/MANIFEST.MF
@@ -30,7 +30,8 @@ Require-Bundle: org.eclipse.core.databinding;bundle-version="1.3.0",
org.eclipse.e4.tools.services;bundle-version="1.0.0",
org.eclipse.e4.core.di.extensions;bundle-version="0.9.0",
org.eclipse.jface.text;bundle-version="3.7.0",
- org.eclipse.e4.ui.widgets;bundle-version="1.0.0"
+ org.eclipse.e4.ui.widgets;bundle-version="1.0.0",
+ org.eclipse.equinox.preferences;bundle-version="3.4.0"
Bundle-ActivationPolicy: lazy
Import-Package: javax.inject;version="1.0.0",
org.eclipse.core.runtime.jobs,
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/plugin.xml b/bundles/org.eclipse.e4.tools.emf.ui/plugin.xml
index e01f13b9..91859ac6 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/plugin.xml
+++ b/bundles/org.eclipse.e4.tools.emf.ui/plugin.xml
@@ -9,5 +9,11 @@
uri="css/default.css">
</stylesheet>
</extension>
+ <extension
+ point="org.eclipse.equinox.preferences.preferences">
+ <initializer
+ class="org.eclipse.e4.tools.emf.ui.internal.PreferenceInitializer">
+ </initializer>
+ </extension>
</plugin>
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/PreferenceInitializer.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/PreferenceInitializer.java
new file mode 100644
index 00000000..bcfc2bbe
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/PreferenceInitializer.java
@@ -0,0 +1,31 @@
+package org.eclipse.e4.tools.emf.ui.internal;
+
+import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
+import org.eclipse.core.runtime.preferences.IEclipsePreferences;
+import org.eclipse.core.runtime.preferences.InstanceScope;
+import org.eclipse.jface.resource.StringConverter;
+import org.eclipse.swt.graphics.RGB;
+
+public class PreferenceInitializer extends AbstractPreferenceInitializer {
+
+ @Override
+ public void initializeDefaultPreferences() {
+ IEclipsePreferences pref = InstanceScope.INSTANCE.getNode("org.eclipse.e4.tools.emf.ui");
+
+ if (pref.get("notRenderedColor", null) == null) {
+ String val = StringConverter.asString(new RGB(200, 200, 200));
+ pref.put("notRenderedColor", val);
+ }
+
+ if (pref.get("notVisibleColor", null) == null) {
+ String val = StringConverter.asString(new RGB(200, 200, 200));
+ pref.put("notVisibleColor", val);
+ }
+
+ if (pref.get("notVisibleAndRenderedColor", null) == null) {
+ String val = StringConverter.asString(new RGB(200, 200, 200));
+ pref.put("notVisibleAndRenderedColor", val);
+ }
+ }
+
+}
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/ComponentLabelProvider.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/ComponentLabelProvider.java
index f7e54e99..187d5d08 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/ComponentLabelProvider.java
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/ComponentLabelProvider.java
@@ -22,27 +22,42 @@ import org.eclipse.jface.viewers.ViewerCell;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.graphics.TextStyle;
public class ComponentLabelProvider extends StyledCellLabelProvider {
private ModelEditor editor;
- private static final String NOT_RENDERED_KEY = "NOT_RENDERED_STYLER";//$NON-NLS-1$
+ public static final String NOT_RENDERED_KEY = "NOT_RENDERED_STYLER";//$NON-NLS-1$
+
+ public static final String NOT_VISIBLE_KEY = "NOT_VISIBLE_KEY";//$NON-NLS-1$
+
+ public static final String NOT_VISIBLE_AND_RENDERED_KEY = "NOT_VISIBLE_AND_RENDERED_KEY";//$NON-NLS-1$
private Font font;
private Messages Messages;
- private static Styler NOT_RENDERED_STYLER = new Styler() {
- {
- JFaceResources.getColorRegistry().put(NOT_RENDERED_KEY, new RGB(200, 200, 200));
+ private static Styler BOTH_STYLER = new Styler() {
+ @Override
+ public void applyStyles(TextStyle textStyle) {
+ textStyle.foreground = JFaceResources.getColorRegistry().get(NOT_VISIBLE_AND_RENDERED_KEY);
+ textStyle.strikeout = true;
}
+ };
+ private static Styler NOT_RENDERED_STYLER = new Styler() {
@Override
public void applyStyles(TextStyle textStyle) {
textStyle.foreground = JFaceResources.getColorRegistry().get(NOT_RENDERED_KEY);
+ textStyle.strikeout = true;
+ }
+ };
+
+ private static Styler NOT_VISIBLE_STYLER = new Styler() {
+ @Override
+ public void applyStyles(TextStyle textStyle) {
+ textStyle.foreground = JFaceResources.getColorRegistry().get(NOT_VISIBLE_KEY);
}
};
@@ -63,9 +78,13 @@ public class ComponentLabelProvider extends StyledCellLabelProvider {
Styler styler = null;
if (o instanceof MUIElement) {
- if (!((MUIElement) o).isVisible()) {
+
+ if (!((MUIElement) o).isVisible() && !((MUIElement) o).isToBeRendered()) {
+ label += "<" + Messages.ComponentLabelProvider_invisible + "/" + Messages.ComponentLabelProvider_notrendered + ">"; //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
+ styler = BOTH_STYLER;
+ } else if (!((MUIElement) o).isVisible()) {
label += "<" + Messages.ComponentLabelProvider_invisible + ">"; //$NON-NLS-1$//$NON-NLS-2$
- styler = NOT_RENDERED_STYLER;
+ styler = NOT_VISIBLE_STYLER;
} else if (!((MUIElement) o).isToBeRendered()) {
label += "<" + Messages.ComponentLabelProvider_notrendered + ">"; //$NON-NLS-1$ //$NON-NLS-2$
styler = NOT_RENDERED_STYLER;
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/ModelEditor.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/ModelEditor.java
index d704b82c..486a16d7 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/ModelEditor.java
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/ModelEditor.java
@@ -169,6 +169,7 @@ import org.eclipse.jface.databinding.viewers.ObservableListTreeContentProvider;
import org.eclipse.jface.databinding.viewers.TreeStructureAdvisor;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.resource.JFaceResources;
+import org.eclipse.jface.resource.StringConverter;
import org.eclipse.jface.text.BadLocationException;
import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.IDocumentPartitioner;
@@ -197,6 +198,7 @@ import org.eclipse.swt.dnd.Transfer;
import org.eclipse.swt.dnd.TransferData;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
@@ -971,6 +973,48 @@ public class ModelEditor {
registerEditor(FragmentPackageImpl.Literals.STRING_MODEL_FRAGMENT, ContextInjectionFactory.make(StringModelFragment.class, context));
}
+ @Inject
+ public void setNotVisibleColor(@Preference("notVisibleColor") String color) {
+ RGB current = JFaceResources.getColorRegistry().getRGB(ComponentLabelProvider.NOT_VISIBLE_KEY);
+
+ if (current == null || !current.equals(color)) {
+ JFaceResources.getColorRegistry().put(ComponentLabelProvider.NOT_VISIBLE_KEY, StringConverter.asRGB(color, new RGB(200, 200, 200)));
+ }
+
+ if (viewer != null) {
+ viewer.refresh();
+ viewer.getControl().redraw();
+ }
+ }
+
+ @Inject
+ public void setNotRenderedColor(@Preference("notRenderedColor") String color) {
+ RGB current = JFaceResources.getColorRegistry().getRGB(ComponentLabelProvider.NOT_RENDERED_KEY);
+
+ if (current == null || !current.equals(color)) {
+ JFaceResources.getColorRegistry().put(ComponentLabelProvider.NOT_RENDERED_KEY, StringConverter.asRGB(color, new RGB(200, 200, 200)));
+ }
+
+ if (viewer != null) {
+ viewer.refresh();
+ viewer.getControl().redraw();
+ }
+ }
+
+ @Inject
+ public void setNotVisibleRenderedColor(@Preference("notVisibleAndRenderedColor") String color) {
+ RGB current = JFaceResources.getColorRegistry().getRGB(ComponentLabelProvider.NOT_VISIBLE_AND_RENDERED_KEY);
+
+ if (current == null || !current.equals(color)) {
+ JFaceResources.getColorRegistry().put(ComponentLabelProvider.NOT_VISIBLE_AND_RENDERED_KEY, StringConverter.asRGB(color, new RGB(200, 200, 200)));
+ }
+
+ if (viewer != null) {
+ viewer.refresh();
+ viewer.getControl().redraw();
+ }
+ }
+
public void registerEditor(EClass eClass, AbstractComponentEditor editor) {
editorMap.put(eClass, editor);

Back to the top