Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Schindl2010-07-20 18:04:21 +0000
committerThomas Schindl2010-07-20 18:04:21 +0000
commitcc0e8e4ddf5571edb449f28c55f4250099e1ef2d (patch)
treea8b60ab8c66ffaf8d1950b92264783bcb89fd4de /bundles/org.eclipse.e4.tools.emf.editor3x
parent79f34245a08c1c07aab34e5a793f59359353ff87 (diff)
downloadorg.eclipse.e4.tools-cc0e8e4ddf5571edb449f28c55f4250099e1ef2d.tar.gz
org.eclipse.e4.tools-cc0e8e4ddf5571edb449f28c55f4250099e1ef2d.tar.xz
org.eclipse.e4.tools-cc0e8e4ddf5571edb449f28c55f4250099e1ef2d.zip
Bug 304584 - [Tooling] Implement Workbench-Model-Tooling
* add support for autogenerating the elementId * make it configurable through perferences
Diffstat (limited to 'bundles/org.eclipse.e4.tools.emf.editor3x')
-rw-r--r--bundles/org.eclipse.e4.tools.emf.editor3x/plugin.xml8
-rw-r--r--bundles/org.eclipse.e4.tools.emf.editor3x/src/org/eclipse/e4/tools/emf/editor3x/ModelEditorPreferencePage.java74
2 files changed, 82 insertions, 0 deletions
diff --git a/bundles/org.eclipse.e4.tools.emf.editor3x/plugin.xml b/bundles/org.eclipse.e4.tools.emf.editor3x/plugin.xml
index e232671b..389ebccf 100644
--- a/bundles/org.eclipse.e4.tools.emf.editor3x/plugin.xml
+++ b/bundles/org.eclipse.e4.tools.emf.editor3x/plugin.xml
@@ -24,5 +24,13 @@
class="org.eclipse.e4.tools.emf.editor3x.extension.AddonContributionEditor">
</contributionClassCreator>
</extension>
+ <extension
+ point="org.eclipse.ui.preferencePages">
+ <page
+ class="org.eclipse.e4.tools.emf.editor3x.ModelEditorPreferencePage"
+ id="org.eclipse.e4.tools.emf.editor3x.modeleditor"
+ name="Model Editor">
+ </page>
+ </extension>
</plugin>
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
new file mode 100644
index 00000000..22c0eb0d
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.emf.editor3x/src/org/eclipse/e4/tools/emf/editor3x/ModelEditorPreferencePage.java
@@ -0,0 +1,74 @@
+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.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.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;
+
+public class ModelEditorPreferencePage extends PreferencePage implements
+ IWorkbenchPreferencePage {
+ private boolean autoCreateElementId;
+ private IEclipsePreferences node;
+
+ public ModelEditorPreferencePage() {
+ }
+
+ public ModelEditorPreferencePage(String title) {
+ super(title);
+ }
+
+ public ModelEditorPreferencePage(String title, ImageDescriptor image) {
+ super(title, image);
+ }
+
+ public void init(IWorkbench workbench) {
+ node = new InstanceScope().getNode("org.eclipse.e4.tools.emf.ui");
+ autoCreateElementId = node.getBoolean("autoCreateElementId", false);
+ }
+
+ @Override
+ protected Control createContents(Composite parent) {
+ Composite result= new Composite(parent, SWT.NONE);
+ result.setLayout(new GridLayout(2,false));
+
+ 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();
+ }
+ });
+
+ return result;
+ }
+
+ @Override
+ public boolean performOk() {
+ node.putBoolean("autoCreateElementId", autoCreateElementId);
+ try {
+ node.flush();
+ } catch (BackingStoreException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ return super.performOk();
+ }
+
+ @Override
+ public void dispose() {
+ super.dispose();
+ }
+}

Back to the top