diff options
author | Thomas Schindl | 2010-07-20 18:04:21 +0000 |
---|---|---|
committer | Thomas Schindl | 2010-07-20 18:04:21 +0000 |
commit | cc0e8e4ddf5571edb449f28c55f4250099e1ef2d (patch) | |
tree | a8b60ab8c66ffaf8d1950b92264783bcb89fd4de /bundles/org.eclipse.e4.tools.emf.editor3x | |
parent | 79f34245a08c1c07aab34e5a793f59359353ff87 (diff) | |
download | org.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.xml | 8 | ||||
-rw-r--r-- | bundles/org.eclipse.e4.tools.emf.editor3x/src/org/eclipse/e4/tools/emf/editor3x/ModelEditorPreferencePage.java | 74 |
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(); + } +} |