diff options
author | Martin Fluegge | 2011-05-13 12:09:18 +0000 |
---|---|---|
committer | Martin Fluegge | 2011-05-13 12:09:18 +0000 |
commit | 68f51a590f4b6441dd691df7010cdc8e1572354e (patch) | |
tree | cd0d440027d6a9f1620af5d9d4f158f3190270ad | |
parent | 90667ab13f603100f8d535cd02c8e6e58e0cc7d7 (diff) | |
download | cdo-68f51a590f4b6441dd691df7010cdc8e1572354e.tar.gz cdo-68f51a590f4b6441dd691df7010cdc8e1572354e.tar.xz cdo-68f51a590f4b6441dd691df7010cdc8e1572354e.zip |
[344403] [Dawn] Separated Dawn Codegen from specific implementations
https://bugs.eclipse.org/bugs/show_bug.cgi?id=344403
30 files changed, 630 insertions, 1017 deletions
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/build.properties b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/build.properties index d608403a14..800f8f469d 100644 --- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/build.properties +++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/build.properties @@ -16,7 +16,8 @@ bin.includes = .,\ about.html,\ copyright.txt,\ plugin.properties,\ - about.properties + about.properties,\ + schema/ jars.compile.order = . source.. = src/ output.. = bin/ diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/plugin.properties b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/plugin.properties index defbb3e20a..54a32df42b 100644 --- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/plugin.properties +++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/plugin.properties @@ -18,7 +18,7 @@ _UI_CreateSibling_menu_item = N&ew Sibling _UI_ShowPropertiesView_menu_item = Show &Properties View _UI_RefreshViewer_menu_item = &Refresh -_UI_SelectionPage_label = Selection +_UI_SelectionPage_label = Dawn GenModel _UI_ParentPage_label = Parent _UI_ListPage_label = List _UI_TreePage_label = Tree diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/plugin.xml b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/plugin.xml index 2464c604e6..ecf7a4254a 100644 --- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/plugin.xml +++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/plugin.xml @@ -12,6 +12,7 @@ --> <plugin> + <extension-point id="org.eclipse.emf.cdo.dawn.genmodel.ui.editors" name="Dawn GenModel Extension Editor" schema="schema/org.eclipse.emf.cdo.dawn.genmodel.ui.editors.exsd"/> <extension point="org.eclipse.ui.newWizards"> <wizard @@ -29,7 +30,7 @@ <editor id="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.presentation.DawngenmodelEditorID" name="%_UI_DawngenmodelEditor_label" - icon="icons/full/obj16/DawngenmodelModelFile.gif" + icon="icons/full/obj16/dawn_16x16.gif" extensions="dawngenmodel" class="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.presentation.DawngenmodelEditor" contributorClass="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.presentation.DawngenmodelActionBarContributor"> diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/schema/org.eclipse.emf.cdo.dawn.genmodel.ui.editors.exsd b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/schema/org.eclipse.emf.cdo.dawn.genmodel.ui.editors.exsd new file mode 100644 index 0000000000..22c62112fe --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/schema/org.eclipse.emf.cdo.dawn.genmodel.ui.editors.exsd @@ -0,0 +1,109 @@ +<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+ <appinfo>
+ <meta.schema plugin="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor" id="org.eclipse.emf.cdo.dawn.genmodel.ui.editors" name="Dawn GenModel Extension Editor"/>
+ </appinfo>
+ <documentation>
+ [Enter description of this extension point.]
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <annotation>
+ <appinfo>
+ <meta.element />
+ </appinfo>
+ </annotation>
+ <complexType>
+ <choice>
+ <element ref="editor"/>
+ </choice>
+ <attribute name="point" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="id" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appinfo>
+ <meta.attribute translatable="true"/>
+ </appinfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="editor">
+ <complexType>
+ <attribute name="editor" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appinfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.ui.IEditorPart"/>
+ </appinfo>
+ </annotation>
+ </attribute>
+ <attribute name="file_extension" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="since"/>
+ </appinfo>
+ <documentation>
+ [Enter the first release in which this extension point appears.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="examples"/>
+ </appinfo>
+ <documentation>
+ [Enter extension point usage example here.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="apiinfo"/>
+ </appinfo>
+ <documentation>
+ [Enter API information here.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="implementation"/>
+ </appinfo>
+ <documentation>
+ [Enter information about supplied implementation of this extension point.]
+ </documentation>
+ </annotation>
+
+
+</schema>
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/editor/registry/DawnGenModelEditorRegistry.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/editor/registry/DawnGenModelEditorRegistry.java new file mode 100644 index 0000000000..24aea23936 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/editor/registry/DawnGenModelEditorRegistry.java @@ -0,0 +1,68 @@ +/**
+ * Copyright (c) 2004 - 2011 Eike Stepper (Berlin, Germany) 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:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor.registry;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.ui.IEditorPart;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnGenModelEditorRegistry
+{
+ private static final String EXTENSION_POINT_ID = "org.eclipse.emf.cdo.dawn.genmodel.ui.editors";
+
+ public static DawnGenModelEditorRegistry instance = new DawnGenModelEditorRegistry();
+
+ public List<EditorExtension> getRegisteredEditors() throws CoreException
+ {
+ List<EditorExtension> editors = new ArrayList<EditorExtension>();
+ IConfigurationElement[] config = Platform.getExtensionRegistry().getConfigurationElementsFor(EXTENSION_POINT_ID);
+ for (IConfigurationElement e : config)
+ {
+ IEditorPart editorPart = (IEditorPart)e.createExecutableExtension("editor");
+ String fileExtension = e.getAttribute("file_extension");
+ editors.add(new EditorExtension(editorPart, fileExtension));
+ }
+ return editors;
+ }
+
+ /**
+ * @author Martin Fluegge
+ */
+ public static class EditorExtension
+ {
+ private IEditorPart editorPart;
+
+ private String fileExtension;
+
+ public EditorExtension(IEditorPart editorPart, String fileExtension)
+ {
+ this.editorPart = editorPart;
+ this.fileExtension = fileExtension;
+ }
+
+ public IEditorPart getEditorPart()
+ {
+ return editorPart;
+ }
+
+ public String getFileExtension()
+ {
+ return fileExtension;
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawnCodeGenEditorPlugin.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawnCodeGenEditorPlugin.java index cc40c66b11..f22923a59f 100644 --- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawnCodeGenEditorPlugin.java +++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawnCodeGenEditorPlugin.java @@ -18,6 +18,7 @@ import org.eclipse.emf.ecore.provider.EcoreEditPlugin; /**
* This is the central singleton for the DawnCodeGen editor plugin. <!-- begin-user-doc --> <!-- end-user-doc -->
*
+ * @author Martin Fluegge
* @generated
*/
public final class DawnCodeGenEditorPlugin extends EMFPlugin
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawngenmodelActionBarContributor.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawngenmodelActionBarContributor.java index 39db0b4319..7ec5c08ee5 100644 --- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawngenmodelActionBarContributor.java +++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawngenmodelActionBarContributor.java @@ -46,6 +46,7 @@ import java.util.Collection; /**
* This is the action bar contributor for the Dawngenmodel model editor. <!-- begin-user-doc --> <!-- end-user-doc -->
*
+ * @author Martin Fluegge
* @generated
*/
public class DawngenmodelActionBarContributor extends EditingDomainActionBarContributor implements
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawngenmodelEditor.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawngenmodelEditor.java index 59f0c81316..e99659927a 100644 --- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawngenmodelEditor.java +++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawngenmodelEditor.java @@ -10,6 +10,8 @@ */
package org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.presentation;
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor.registry.DawnGenModelEditorRegistry;
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor.registry.DawnGenModelEditorRegistry.EditorExtension;
import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.provider.DawngenmodelItemProviderAdapterFactory;
import org.eclipse.emf.common.command.BasicCommandStack;
@@ -19,7 +21,7 @@ import org.eclipse.emf.common.command.CommandStackListener; import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.ui.MarkerHelper;
-import org.eclipse.emf.common.ui.ViewerPane;
+import org.eclipse.emf.common.ui.URIEditorInput;
import org.eclipse.emf.common.ui.editor.ProblemEditorPart;
import org.eclipse.emf.common.ui.viewer.IViewerProvider;
import org.eclipse.emf.common.util.BasicDiagnostic;
@@ -63,6 +65,7 @@ import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
import org.eclipse.jface.action.IMenuListener;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.IStatusLineManager;
@@ -71,17 +74,13 @@ import org.eclipse.jface.action.MenuManager; import org.eclipse.jface.action.Separator;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.viewers.ColumnWeightData;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ListViewer;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.swt.SWT;
@@ -91,13 +90,9 @@ import org.eclipse.swt.dnd.Transfer; import org.eclipse.swt.events.ControlAdapter;
import org.eclipse.swt.events.ControlEvent;
import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeColumn;
import org.eclipse.ui.IActionBars;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorPart;
@@ -132,10 +127,11 @@ import java.util.Map; /**
* This is an example of a Dawngenmodel model editor. <!-- begin-user-doc --> <!-- end-user-doc -->
*
+ * @author Martin Fluegge
* @generated
*/
public class DawngenmodelEditor extends MultiPageEditorPart implements IEditingDomainProvider, ISelectionProvider,
- IMenuListener, IViewerProvider, IGotoMarker
+ IMenuListener, IViewerProvider, IGotoMarker, ISelectionChangedListener
{
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
@@ -197,51 +193,6 @@ public class DawngenmodelEditor extends MultiPageEditorPart implements IEditingD protected TreeViewer selectionViewer;
/**
- * This inverts the roll of parent and child in the content provider and show parents as a tree. <!-- begin-user-doc
- * --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected TreeViewer parentViewer;
-
- /**
- * This shows how a tree view works. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected TreeViewer treeViewer;
-
- /**
- * This shows how a list view works. A list viewer doesn't support icons. <!-- begin-user-doc --> <!-- end-user-doc
- * -->
- *
- * @generated
- */
- protected ListViewer listViewer;
-
- /**
- * This shows how a table view works. A table can be used as a list with icons. <!-- begin-user-doc --> <!--
- * end-user-doc -->
- *
- * @generated
- */
- protected TableViewer tableViewer;
-
- /**
- * This shows how a tree view with columns works. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected TreeViewer treeViewerWithColumns;
-
- /**
- * This keeps track of the active viewer pane, in the book. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected ViewerPane currentViewerPane;
-
- /**
* This keeps track of the active content viewer, which may be either one of the viewers in the pages or the content
* outline viewer. <!-- begin-user-doc --> <!-- end-user-doc -->
*
@@ -870,24 +821,6 @@ public class DawngenmodelEditor extends MultiPageEditorPart implements IEditingD }
/**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void setCurrentViewerPane(ViewerPane viewerPane)
- {
- if (currentViewerPane != viewerPane)
- {
- if (currentViewerPane != null)
- {
- currentViewerPane.showFocus(false);
- }
- currentViewerPane = viewerPane;
- }
- setCurrentViewer(currentViewerPane.getViewer());
- }
-
- /**
* This makes sure that one content viewer, either for the current page or the outline view, if it has focus, is the
* current one. <!-- begin-user-doc --> <!-- end-user-doc -->
*
@@ -1048,223 +981,20 @@ public class DawngenmodelEditor extends MultiPageEditorPart implements IEditingD {
// Create a page for the selection tree view.
//
- {
- ViewerPane viewerPane = new ViewerPane(getSite().getPage(), DawngenmodelEditor.this)
- {
- @Override
- public Viewer createViewer(Composite composite)
- {
- Tree tree = new Tree(composite, SWT.MULTI);
- TreeViewer newTreeViewer = new TreeViewer(tree);
- return newTreeViewer;
- }
-
- @Override
- public void requestActivation()
- {
- super.requestActivation();
- setCurrentViewerPane(this);
- }
- };
- viewerPane.createControl(getContainer());
-
- selectionViewer = (TreeViewer)viewerPane.getViewer();
- selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
-
- selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
- selectionViewer.setInput(editingDomain.getResourceSet());
- selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)),
- true);
- viewerPane.setTitle(editingDomain.getResourceSet());
-
- new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);
-
- createContextMenuFor(selectionViewer);
- int pageIndex = addPage(viewerPane.getControl());
- setPageText(pageIndex, getString("_UI_SelectionPage_label"));
- }
-
- // Create a page for the parent tree view.
- //
- {
- ViewerPane viewerPane = new ViewerPane(getSite().getPage(), DawngenmodelEditor.this)
- {
- @Override
- public Viewer createViewer(Composite composite)
- {
- Tree tree = new Tree(composite, SWT.MULTI);
- TreeViewer newTreeViewer = new TreeViewer(tree);
- return newTreeViewer;
- }
-
- @Override
- public void requestActivation()
- {
- super.requestActivation();
- setCurrentViewerPane(this);
- }
- };
- viewerPane.createControl(getContainer());
-
- parentViewer = (TreeViewer)viewerPane.getViewer();
- parentViewer.setAutoExpandLevel(30);
- parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory));
- parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
-
- createContextMenuFor(parentViewer);
- int pageIndex = addPage(viewerPane.getControl());
- setPageText(pageIndex, getString("_UI_ParentPage_label"));
- }
-
- // This is the page for the list viewer
- //
- {
- ViewerPane viewerPane = new ViewerPane(getSite().getPage(), DawngenmodelEditor.this)
- {
- @Override
- public Viewer createViewer(Composite composite)
- {
- return new ListViewer(composite);
- }
+ Tree tree = new Tree(getContainer(), SWT.MULTI);
+ selectionViewer = new TreeViewer(tree);
+ setCurrentViewer(selectionViewer);
- @Override
- public void requestActivation()
- {
- super.requestActivation();
- setCurrentViewerPane(this);
- }
- };
- viewerPane.createControl(getContainer());
- listViewer = (ListViewer)viewerPane.getViewer();
- listViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
- listViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
-
- createContextMenuFor(listViewer);
- int pageIndex = addPage(viewerPane.getControl());
- setPageText(pageIndex, getString("_UI_ListPage_label"));
- }
+ selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+ selectionViewer.setInput(editingDomain.getResourceSet());
+ selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
- // This is the page for the tree viewer
- //
- {
- ViewerPane viewerPane = new ViewerPane(getSite().getPage(), DawngenmodelEditor.this)
- {
- @Override
- public Viewer createViewer(Composite composite)
- {
- return new TreeViewer(composite);
- }
+ new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);
- @Override
- public void requestActivation()
- {
- super.requestActivation();
- setCurrentViewerPane(this);
- }
- };
- viewerPane.createControl(getContainer());
- treeViewer = (TreeViewer)viewerPane.getViewer();
- treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
- treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
-
- new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);
-
- createContextMenuFor(treeViewer);
- int pageIndex = addPage(viewerPane.getControl());
- setPageText(pageIndex, getString("_UI_TreePage_label"));
- }
-
- // This is the page for the table viewer.
- //
- {
- ViewerPane viewerPane = new ViewerPane(getSite().getPage(), DawngenmodelEditor.this)
- {
- @Override
- public Viewer createViewer(Composite composite)
- {
- return new TableViewer(composite);
- }
-
- @Override
- public void requestActivation()
- {
- super.requestActivation();
- setCurrentViewerPane(this);
- }
- };
- viewerPane.createControl(getContainer());
- tableViewer = (TableViewer)viewerPane.getViewer();
-
- Table table = tableViewer.getTable();
- TableLayout layout = new TableLayout();
- table.setLayout(layout);
- table.setHeaderVisible(true);
- table.setLinesVisible(true);
-
- TableColumn objectColumn = new TableColumn(table, SWT.NONE);
- layout.addColumnData(new ColumnWeightData(3, 100, true));
- objectColumn.setText(getString("_UI_ObjectColumn_label"));
- objectColumn.setResizable(true);
-
- TableColumn selfColumn = new TableColumn(table, SWT.NONE);
- layout.addColumnData(new ColumnWeightData(2, 100, true));
- selfColumn.setText(getString("_UI_SelfColumn_label"));
- selfColumn.setResizable(true);
-
- tableViewer.setColumnProperties(new String[] { "a", "b" });
- tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
- tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
-
- createContextMenuFor(tableViewer);
- int pageIndex = addPage(viewerPane.getControl());
- setPageText(pageIndex, getString("_UI_TablePage_label"));
- }
-
- // This is the page for the table tree viewer.
- //
- {
- ViewerPane viewerPane = new ViewerPane(getSite().getPage(), DawngenmodelEditor.this)
- {
- @Override
- public Viewer createViewer(Composite composite)
- {
- return new TreeViewer(composite);
- }
-
- @Override
- public void requestActivation()
- {
- super.requestActivation();
- setCurrentViewerPane(this);
- }
- };
- viewerPane.createControl(getContainer());
-
- treeViewerWithColumns = (TreeViewer)viewerPane.getViewer();
-
- Tree tree = treeViewerWithColumns.getTree();
- tree.setLayoutData(new FillLayout());
- tree.setHeaderVisible(true);
- tree.setLinesVisible(true);
-
- TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE);
- objectColumn.setText(getString("_UI_ObjectColumn_label"));
- objectColumn.setResizable(true);
- objectColumn.setWidth(250);
-
- TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE);
- selfColumn.setText(getString("_UI_SelfColumn_label"));
- selfColumn.setResizable(true);
- selfColumn.setWidth(200);
-
- treeViewerWithColumns.setColumnProperties(new String[] { "a", "b" });
- treeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
- treeViewerWithColumns.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
-
- createContextMenuFor(treeViewerWithColumns);
- int pageIndex = addPage(viewerPane.getControl());
- setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label"));
- }
+ createContextMenuFor(selectionViewer);
+ int pageIndex = addPage(tree);
+ setPageText(pageIndex, getString("_UI_SelectionPage_label"));
getSite().getShell().getDisplay().asyncExec(new Runnable()
{
@@ -1275,6 +1005,7 @@ public class DawngenmodelEditor extends MultiPageEditorPart implements IEditingD });
}
+ createEditorPages();
// Ensures that this editor will only display the page's tab
// area if there are more than one page
//
@@ -1304,6 +1035,61 @@ public class DawngenmodelEditor extends MultiPageEditorPart implements IEditingD }
/**
+ * @since 1.0
+ */
+ public void createEditorPages()
+ {
+ List<EditorExtension> editorExtensions;
+ try
+ {
+ editorExtensions = DawnGenModelEditorRegistry.instance.getRegisteredEditors();
+
+ for (EditorExtension editorExtension : editorExtensions)
+ {
+ try
+ {
+ IEditorInput dawnGenModelEditorInput = getEditorInput();
+ IEditorInput editorInput = null;
+
+ if (dawnGenModelEditorInput instanceof FileEditorInput)
+ {
+ IFile dawnGenModelFile = ((FileEditorInput)dawnGenModelEditorInput).getFile();
+
+ IFile file = ResourcesPlugin.getWorkspace().getRoot()
+ .getFile(new Path(dawnGenModelFile.getFullPath() + editorExtension.getFileExtension()));
+ editorInput = new FileEditorInput(file);
+ }
+ else if (dawnGenModelEditorInput instanceof URIEditorInput)
+ {
+ URI uri = ((URIEditorInput)dawnGenModelEditorInput).getURI();
+ editorInput = new URIEditorInput(URI.createURI(uri.toString() + editorExtension.getFileExtension()));
+ }
+ else
+ {
+ throw new RuntimeException("Unsupported EditorInput: " + dawnGenModelEditorInput);
+ }
+ IEditorPart editorPart = editorExtension.getEditorPart();
+
+ // we add the multipage editor as listener to the extension editor. See selectionChanged(Event).
+ ((ISelectionProvider)editorPart).addSelectionChangedListener(DawngenmodelEditor.this);
+
+ int index = addPage(editorPart, editorInput);
+ setPageText(index, editorPart.getTitle());
+ }
+ catch (PartInitException ex)
+ {
+ ex.printStackTrace();
+ }
+
+ }
+ }
+ catch (CoreException ex1)
+ {
+ ex1.printStackTrace();
+ }
+ }
+
+ /**
* If there is just one page in the multi-page editor part, this hides the single tab at the bottom. <!--
* begin-user-doc --> <!-- end-user-doc -->
*
@@ -1498,7 +1284,7 @@ public class DawngenmodelEditor extends MultiPageEditorPart implements IEditingD */
public void handleContentOutlineSelection(ISelection selection)
{
- if (currentViewerPane != null && !selection.isEmpty() && selection instanceof IStructuredSelection)
+ if (selectionViewer != null && !selection.isEmpty() && selection instanceof IStructuredSelection)
{
Iterator<?> selectedElements = ((IStructuredSelection)selection).iterator();
if (selectedElements.hasNext())
@@ -1507,31 +1293,16 @@ public class DawngenmodelEditor extends MultiPageEditorPart implements IEditingD //
Object selectedElement = selectedElements.next();
- // If it's the selection viewer, then we want it to select the same selection as this selection.
- //
- if (currentViewerPane.getViewer() == selectionViewer)
+ ArrayList<Object> selectionList = new ArrayList<Object>();
+ selectionList.add(selectedElement);
+ while (selectedElements.hasNext())
{
- ArrayList<Object> selectionList = new ArrayList<Object>();
- selectionList.add(selectedElement);
- while (selectedElements.hasNext())
- {
- selectionList.add(selectedElements.next());
- }
-
- // Set the selection to the widget.
- //
- selectionViewer.setSelection(new StructuredSelection(selectionList));
- }
- else
- {
- // Set the input to the widget.
- //
- if (currentViewerPane.getViewer().getInput() != selectedElement)
- {
- currentViewerPane.getViewer().setInput(selectedElement);
- currentViewerPane.setTitle(selectedElement);
- }
+ selectionList.add(selectedElements.next());
}
+
+ // Set the selection to the widget.
+ //
+ selectionViewer.setSelection(new StructuredSelection(selectionList));
}
}
}
@@ -1540,23 +1311,38 @@ public class DawngenmodelEditor extends MultiPageEditorPart implements IEditingD * This is for implementing {@link IEditorPart} and simply tests the command stack. <!-- begin-user-doc --> <!--
* end-user-doc -->
*
- * @generated
+ * @generated NOT
*/
@Override
public boolean isDirty()
{
- return ((BasicCommandStack)editingDomain.getCommandStack()).isSaveNeeded();
+ int pageCount = getPageCount();
+
+ boolean dirty = false;
+ for (int i = 1; i < pageCount; i++)
+ {
+ dirty &= getEditor(i).isDirty();
+ }
+
+ return ((BasicCommandStack)editingDomain.getCommandStack()).isSaveNeeded() || dirty;
}
/**
* This is for implementing {@link IEditorPart} and simply saves the model file. <!-- begin-user-doc --> <!--
* end-user-doc -->
*
- * @generated
+ * @generated NOT
*/
@Override
public void doSave(IProgressMonitor progressMonitor)
{
+ int pageCount = getPageCount();
+
+ for (int i = 1; i < pageCount; i++)
+ {
+ getEditor(i).doSave(progressMonitor);
+ }
+
// Save only resources that have actually changed.
//
final Map<Object, Object> saveOptions = new HashMap<Object, Object>();
@@ -1685,7 +1471,7 @@ public class DawngenmodelEditor extends MultiPageEditorPart implements IEditingD */
protected void doSaveAs(URI uri, IEditorInput editorInput)
{
- (editingDomain.getResourceSet().getResources().get(0)).setURI(uri);
+ editingDomain.getResourceSet().getResources().get(0).setURI(uri);
setInputWithNotify(editorInput);
setPartName(editorInput.getName());
IProgressMonitor progressMonitor = getActionBars().getStatusLineManager() != null ? getActionBars()
@@ -1746,14 +1532,7 @@ public class DawngenmodelEditor extends MultiPageEditorPart implements IEditingD @Override
public void setFocus()
{
- if (currentViewerPane != null)
- {
- currentViewerPane.setFocus();
- }
- else
- {
- getControl(getActivePage()).setFocus();
- }
+ getControl(getActivePage()).setFocus();
}
/**
@@ -1948,6 +1727,18 @@ public class DawngenmodelEditor extends MultiPageEditorPart implements IEditingD */
protected boolean showOutlineView()
{
- return true;
+ return false;
+ }
+
+ /**
+ * This editor is also a SelectionChangeListener because we simply delegated every SelectionChangeEvent from the
+ * extension editors to this multipage editor. So every listener like (propertySheet etc.) will be informed about
+ * changes in the editors of the other pages.
+ *
+ * @since 1.0
+ */
+ public void selectionChanged(SelectionChangedEvent event)
+ {
+ setSelection(event.getSelection());
}
}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawngenmodelModelWizard.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawngenmodelModelWizard.java index cf220fa973..f2483ea7b7 100644 --- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawngenmodelModelWizard.java +++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawngenmodelModelWizard.java @@ -71,6 +71,7 @@ import java.util.StringTokenizer; /**
* This is a simple wizard for creating a new model file. <!-- begin-user-doc --> <!-- end-user-doc -->
*
+ * @author Martin Fluegge
* @generated
*/
public class DawngenmodelModelWizard extends Wizard implements INewWizard
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/.classpath b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/.classpath index 2734480ce0..9c0318f0fd 100644 --- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/.classpath +++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/.classpath @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?>
<classpath>
+ <classpathentry kind="src" path="src-gen"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src-gen"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/META-INF/MANIFEST.MF index 10fd11e284..10a3bb7581 100644 --- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/META-INF/MANIFEST.MF @@ -21,5 +21,6 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)", org.eclipse.emf.ecore.edit;bundle-version="[2.6.0,3.0.0)";visibility:=reexport,
org.eclipse.emf.cdo.dawn.codegen;bundle-version="[1.0.0,2.0.0)",
org.eclipse.jdt.core;bundle-version="[3.5.0,4.0.0)",
- org.eclipse.emf.mwe.core;bundle-version="[1.0.0,2.0.0)"
+ org.eclipse.emf.mwe.core;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor;bundle-version="1.0.0"
Bundle-ActivationPolicy: lazy
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/icons/full/obj16/dawn_16x16.gif b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/icons/full/obj16/dawn_16x16.gif Binary files differnew file mode 100644 index 0000000000..af2ae6d3f5 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/icons/full/obj16/dawn_16x16.gif diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/icons/full/obj16/dawn_gemodel_emf_16x16.gif b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/icons/full/obj16/dawn_gemodel_emf_16x16.gif Binary files differnew file mode 100644 index 0000000000..1fdc004707 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/icons/full/obj16/dawn_gemodel_emf_16x16.gif diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/plugin.properties b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/plugin.properties index ea04fded3a..2bdccc0c82 100644 --- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/plugin.properties +++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/plugin.properties @@ -67,4 +67,4 @@ _UI_GenmodelModelWizard_description = Create a new Genmodel model
_UI_GenmodelEditor_label = Genmodel Model Editor
_UI_GenmodelEditorFilenameDefaultBase = My
_UI_GenmodelEditorFilenameExtensions = genmodel
-
\ No newline at end of file +
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/plugin.xml b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/plugin.xml index 943fb7a212..53e2175dd5 100644 --- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/plugin.xml +++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/plugin.xml @@ -15,15 +15,12 @@ <plugin>
<extension point="org.eclipse.ui.newWizards">
- <category
- id="org.eclipse.emf.ecore.Wizard.category.ID"
- name="%_UI_Wizard_category"/>
<wizard
id="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.dawnEmfGenmodel.presentation.DawnEmfGenmodelModelWizardID"
name="%_UI_DawnEmfGenmodelModelWizard_label"
class="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.dawnEmfGenmodel.presentation.DawnEmfGenmodelModelWizard"
- category="org.eclipse.emf.ecore.Wizard.category.ID"
- icon="icons/full/obj16/DawnEmfGenmodelModelFile.gif">
+ category="org.eclipse.emf.cdo.dawn.ui.category.dawn"
+ icon="icons/full/obj16/dawn_gemodel_emf_16x16.gif">
<description>%_UI_DawnEmfGenmodelModelWizard_description</description>
<selection class="org.eclipse.core.resources.IResource"/>
</wizard>
@@ -33,8 +30,8 @@ <editor
id="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.dawnEmfGenmodel.presentation.DawnEmfGenmodelEditorID"
name="%_UI_DawnEmfGenmodelEditor_label"
- icon="icons/full/obj16/DawnEmfGenmodelModelFile.gif"
- extensions="dawngenmodel.emf"
+ icon="icons/full/obj16/dawn_gemodel_emf_16x16.gif"
+ extensions="dawngenmodel_emf"
class="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.dawnEmfGenmodel.presentation.DawnEmfGenmodelEditor"
contributorClass="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.dawnEmfGenmodel.presentation.DawnEmfGenmodelActionBarContributor">
</editor>
@@ -45,7 +42,7 @@ <objectContribution
adaptable="false"
id="org.eclipse.emf.cdo.dawn.codegen.generate"
- nameFilter="*.dawngenmodel.emf"
+ nameFilter="*.dawngenmodel_emf"
objectClass="org.eclipse.core.resources.IFile">
<action
class="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui.actions.GenerateEMFFragmentAction"
@@ -66,6 +63,11 @@ </action>
</objectContribution>
</extension>
-
-
+ <extension
+ point="org.eclipse.emf.cdo.dawn.genmodel.ui.editors">
+ <editor
+ file_extension="_emf"
+ editor="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.dawnEmfGenmodel.presentation.DawnEmfGenmodelEditor">
+ </editor>
+ </extension>
</plugin>
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/src-gen/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/emf/dawnEmfGenmodel/presentation/DawnEmfGenmodelEditor.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/src-gen/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/emf/dawnEmfGenmodel/presentation/DawnEmfGenmodelEditor.java index a7f257e8ad..78d6871e54 100644 --- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/src-gen/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/emf/dawnEmfGenmodel/presentation/DawnEmfGenmodelEditor.java +++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/src-gen/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/emf/dawnEmfGenmodel/presentation/DawnEmfGenmodelEditor.java @@ -21,7 +21,6 @@ import org.eclipse.emf.common.command.CommandStackListener; import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.ui.MarkerHelper;
-import org.eclipse.emf.common.ui.ViewerPane;
import org.eclipse.emf.common.ui.editor.ProblemEditorPart;
import org.eclipse.emf.common.ui.viewer.IViewerProvider;
import org.eclipse.emf.common.util.BasicDiagnostic;
@@ -73,17 +72,13 @@ import org.eclipse.jface.action.MenuManager; import org.eclipse.jface.action.Separator;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.viewers.ColumnWeightData;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ListViewer;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.swt.SWT;
@@ -93,13 +88,9 @@ import org.eclipse.swt.dnd.Transfer; import org.eclipse.swt.events.ControlAdapter;
import org.eclipse.swt.events.ControlEvent;
import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeColumn;
import org.eclipse.ui.IActionBars;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorPart;
@@ -134,8 +125,8 @@ import java.util.Map; /**
* This is an example of a DawnEmfGenmodel model editor. <!-- begin-user-doc --> <!-- end-user-doc -->
*
- * @generated
* @author Martin Fluegge
+ * @generated
*/
public class DawnEmfGenmodelEditor extends MultiPageEditorPart implements IEditingDomainProvider, ISelectionProvider,
IMenuListener, IViewerProvider, IGotoMarker
@@ -200,51 +191,6 @@ public class DawnEmfGenmodelEditor extends MultiPageEditorPart implements IEditi protected TreeViewer selectionViewer;
/**
- * This inverts the roll of parent and child in the content provider and show parents as a tree. <!-- begin-user-doc
- * --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected TreeViewer parentViewer;
-
- /**
- * This shows how a tree view works. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected TreeViewer treeViewer;
-
- /**
- * This shows how a list view works. A list viewer doesn't support icons. <!-- begin-user-doc --> <!-- end-user-doc
- * -->
- *
- * @generated
- */
- protected ListViewer listViewer;
-
- /**
- * This shows how a table view works. A table can be used as a list with icons. <!-- begin-user-doc --> <!--
- * end-user-doc -->
- *
- * @generated
- */
- protected TableViewer tableViewer;
-
- /**
- * This shows how a tree view with columns works. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected TreeViewer treeViewerWithColumns;
-
- /**
- * This keeps track of the active viewer pane, in the book. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected ViewerPane currentViewerPane;
-
- /**
* This keeps track of the active content viewer, which may be either one of the viewers in the pages or the content
* outline viewer. <!-- begin-user-doc --> <!-- end-user-doc -->
*
@@ -875,24 +821,6 @@ public class DawnEmfGenmodelEditor extends MultiPageEditorPart implements IEditi }
/**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void setCurrentViewerPane(ViewerPane viewerPane)
- {
- if (currentViewerPane != viewerPane)
- {
- if (currentViewerPane != null)
- {
- currentViewerPane.showFocus(false);
- }
- currentViewerPane = viewerPane;
- }
- setCurrentViewer(currentViewerPane.getViewer());
- }
-
- /**
* This makes sure that one content viewer, either for the current page or the outline view, if it has focus, is the
* current one. <!-- begin-user-doc --> <!-- end-user-doc -->
*
@@ -1053,223 +981,20 @@ public class DawnEmfGenmodelEditor extends MultiPageEditorPart implements IEditi {
// Create a page for the selection tree view.
//
- {
- ViewerPane viewerPane = new ViewerPane(getSite().getPage(), DawnEmfGenmodelEditor.this)
- {
- @Override
- public Viewer createViewer(Composite composite)
- {
- Tree tree = new Tree(composite, SWT.MULTI);
- TreeViewer newTreeViewer = new TreeViewer(tree);
- return newTreeViewer;
- }
-
- @Override
- public void requestActivation()
- {
- super.requestActivation();
- setCurrentViewerPane(this);
- }
- };
- viewerPane.createControl(getContainer());
-
- selectionViewer = (TreeViewer)viewerPane.getViewer();
- selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
-
- selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
- selectionViewer.setInput(editingDomain.getResourceSet());
- selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)),
- true);
- viewerPane.setTitle(editingDomain.getResourceSet());
-
- new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);
-
- createContextMenuFor(selectionViewer);
- int pageIndex = addPage(viewerPane.getControl());
- setPageText(pageIndex, getString("_UI_SelectionPage_label"));
- }
-
- // Create a page for the parent tree view.
- //
- {
- ViewerPane viewerPane = new ViewerPane(getSite().getPage(), DawnEmfGenmodelEditor.this)
- {
- @Override
- public Viewer createViewer(Composite composite)
- {
- Tree tree = new Tree(composite, SWT.MULTI);
- TreeViewer newTreeViewer = new TreeViewer(tree);
- return newTreeViewer;
- }
+ Tree tree = new Tree(getContainer(), SWT.MULTI);
+ selectionViewer = new TreeViewer(tree);
+ setCurrentViewer(selectionViewer);
- @Override
- public void requestActivation()
- {
- super.requestActivation();
- setCurrentViewerPane(this);
- }
- };
- viewerPane.createControl(getContainer());
+ selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+ selectionViewer.setInput(editingDomain.getResourceSet());
+ selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
- parentViewer = (TreeViewer)viewerPane.getViewer();
- parentViewer.setAutoExpandLevel(30);
- parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory));
- parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+ new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);
- createContextMenuFor(parentViewer);
- int pageIndex = addPage(viewerPane.getControl());
- setPageText(pageIndex, getString("_UI_ParentPage_label"));
- }
-
- // This is the page for the list viewer
- //
- {
- ViewerPane viewerPane = new ViewerPane(getSite().getPage(), DawnEmfGenmodelEditor.this)
- {
- @Override
- public Viewer createViewer(Composite composite)
- {
- return new ListViewer(composite);
- }
-
- @Override
- public void requestActivation()
- {
- super.requestActivation();
- setCurrentViewerPane(this);
- }
- };
- viewerPane.createControl(getContainer());
- listViewer = (ListViewer)viewerPane.getViewer();
- listViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
- listViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
-
- createContextMenuFor(listViewer);
- int pageIndex = addPage(viewerPane.getControl());
- setPageText(pageIndex, getString("_UI_ListPage_label"));
- }
-
- // This is the page for the tree viewer
- //
- {
- ViewerPane viewerPane = new ViewerPane(getSite().getPage(), DawnEmfGenmodelEditor.this)
- {
- @Override
- public Viewer createViewer(Composite composite)
- {
- return new TreeViewer(composite);
- }
-
- @Override
- public void requestActivation()
- {
- super.requestActivation();
- setCurrentViewerPane(this);
- }
- };
- viewerPane.createControl(getContainer());
- treeViewer = (TreeViewer)viewerPane.getViewer();
- treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
- treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
-
- new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);
-
- createContextMenuFor(treeViewer);
- int pageIndex = addPage(viewerPane.getControl());
- setPageText(pageIndex, getString("_UI_TreePage_label"));
- }
-
- // This is the page for the table viewer.
- //
- {
- ViewerPane viewerPane = new ViewerPane(getSite().getPage(), DawnEmfGenmodelEditor.this)
- {
- @Override
- public Viewer createViewer(Composite composite)
- {
- return new TableViewer(composite);
- }
-
- @Override
- public void requestActivation()
- {
- super.requestActivation();
- setCurrentViewerPane(this);
- }
- };
- viewerPane.createControl(getContainer());
- tableViewer = (TableViewer)viewerPane.getViewer();
-
- Table table = tableViewer.getTable();
- TableLayout layout = new TableLayout();
- table.setLayout(layout);
- table.setHeaderVisible(true);
- table.setLinesVisible(true);
-
- TableColumn objectColumn = new TableColumn(table, SWT.NONE);
- layout.addColumnData(new ColumnWeightData(3, 100, true));
- objectColumn.setText(getString("_UI_ObjectColumn_label"));
- objectColumn.setResizable(true);
-
- TableColumn selfColumn = new TableColumn(table, SWT.NONE);
- layout.addColumnData(new ColumnWeightData(2, 100, true));
- selfColumn.setText(getString("_UI_SelfColumn_label"));
- selfColumn.setResizable(true);
-
- tableViewer.setColumnProperties(new String[] { "a", "b" });
- tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
- tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
-
- createContextMenuFor(tableViewer);
- int pageIndex = addPage(viewerPane.getControl());
- setPageText(pageIndex, getString("_UI_TablePage_label"));
- }
-
- // This is the page for the table tree viewer.
- //
- {
- ViewerPane viewerPane = new ViewerPane(getSite().getPage(), DawnEmfGenmodelEditor.this)
- {
- @Override
- public Viewer createViewer(Composite composite)
- {
- return new TreeViewer(composite);
- }
-
- @Override
- public void requestActivation()
- {
- super.requestActivation();
- setCurrentViewerPane(this);
- }
- };
- viewerPane.createControl(getContainer());
-
- treeViewerWithColumns = (TreeViewer)viewerPane.getViewer();
-
- Tree tree = treeViewerWithColumns.getTree();
- tree.setLayoutData(new FillLayout());
- tree.setHeaderVisible(true);
- tree.setLinesVisible(true);
-
- TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE);
- objectColumn.setText(getString("_UI_ObjectColumn_label"));
- objectColumn.setResizable(true);
- objectColumn.setWidth(250);
-
- TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE);
- selfColumn.setText(getString("_UI_SelfColumn_label"));
- selfColumn.setResizable(true);
- selfColumn.setWidth(200);
-
- treeViewerWithColumns.setColumnProperties(new String[] { "a", "b" });
- treeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
- treeViewerWithColumns.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
-
- createContextMenuFor(treeViewerWithColumns);
- int pageIndex = addPage(viewerPane.getControl());
- setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label"));
- }
+ createContextMenuFor(selectionViewer);
+ int pageIndex = addPage(tree);
+ setPageText(pageIndex, getString("_UI_SelectionPage_label"));
getSite().getShell().getDisplay().asyncExec(new Runnable()
{
@@ -1503,7 +1228,7 @@ public class DawnEmfGenmodelEditor extends MultiPageEditorPart implements IEditi */
public void handleContentOutlineSelection(ISelection selection)
{
- if (currentViewerPane != null && !selection.isEmpty() && selection instanceof IStructuredSelection)
+ if (selectionViewer != null && !selection.isEmpty() && selection instanceof IStructuredSelection)
{
Iterator<?> selectedElements = ((IStructuredSelection)selection).iterator();
if (selectedElements.hasNext())
@@ -1512,31 +1237,16 @@ public class DawnEmfGenmodelEditor extends MultiPageEditorPart implements IEditi //
Object selectedElement = selectedElements.next();
- // If it's the selection viewer, then we want it to select the same selection as this selection.
- //
- if (currentViewerPane.getViewer() == selectionViewer)
+ ArrayList<Object> selectionList = new ArrayList<Object>();
+ selectionList.add(selectedElement);
+ while (selectedElements.hasNext())
{
- ArrayList<Object> selectionList = new ArrayList<Object>();
- selectionList.add(selectedElement);
- while (selectedElements.hasNext())
- {
- selectionList.add(selectedElements.next());
- }
-
- // Set the selection to the widget.
- //
- selectionViewer.setSelection(new StructuredSelection(selectionList));
- }
- else
- {
- // Set the input to the widget.
- //
- if (currentViewerPane.getViewer().getInput() != selectedElement)
- {
- currentViewerPane.getViewer().setInput(selectedElement);
- currentViewerPane.setTitle(selectedElement);
- }
+ selectionList.add(selectedElements.next());
}
+
+ // Set the selection to the widget.
+ //
+ selectionViewer.setSelection(new StructuredSelection(selectionList));
}
}
}
@@ -1751,14 +1461,7 @@ public class DawnEmfGenmodelEditor extends MultiPageEditorPart implements IEditi @Override
public void setFocus()
{
- if (currentViewerPane != null)
- {
- currentViewerPane.setFocus();
- }
- else
- {
- getControl(getActivePage()).setFocus();
- }
+ getControl(getActivePage()).setFocus();
}
/**
@@ -1796,7 +1499,7 @@ public class DawnEmfGenmodelEditor extends MultiPageEditorPart implements IEditi * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to set this editor's overall selection.
* Calling this result will notify the listeners. <!-- begin-user-doc --> <!-- end-user-doc -->
*
- * @generated
+ * @generated NOT
*/
public void setSelection(ISelection selection)
{
@@ -1806,7 +1509,7 @@ public class DawnEmfGenmodelEditor extends MultiPageEditorPart implements IEditi {
listener.selectionChanged(new SelectionChangedEvent(this, selection));
}
- setStatusLineManager(selection);
+ // setStatusLineManager(selection);
}
/**
@@ -1915,7 +1618,7 @@ public class DawnEmfGenmodelEditor extends MultiPageEditorPart implements IEditi /**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
- * @generated
+ * @generated NOT
*/
@Override
public void dispose()
@@ -1928,10 +1631,10 @@ public class DawnEmfGenmodelEditor extends MultiPageEditorPart implements IEditi adapterFactory.dispose();
- if (getActionBarContributor().getActiveEditor() == this)
- {
- getActionBarContributor().setActiveEditor(null);
- }
+ // if (getActionBarContributor().getActiveEditor() == this)
+ // {
+ // getActionBarContributor().setActiveEditor(null);
+ // }
if (propertySheetPage != null)
{
@@ -1953,6 +1656,6 @@ public class DawnEmfGenmodelEditor extends MultiPageEditorPart implements IEditi */
protected boolean showOutlineView()
{
- return true;
+ return false;
}
}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/src-gen/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/emf/dawnEmfGenmodel/presentation/DawnGenModelEditorPlugin.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/src-gen/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/emf/dawnEmfGenmodel/presentation/DawnGenModelEditorPlugin.java index 2cde8475b1..30c9372bad 100644 --- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/src-gen/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/emf/dawnEmfGenmodel/presentation/DawnGenModelEditorPlugin.java +++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/src-gen/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/emf/dawnEmfGenmodel/presentation/DawnGenModelEditorPlugin.java @@ -20,8 +20,8 @@ import org.eclipse.emf.ecore.provider.EcoreEditPlugin; /**
* This is the central singleton for the DawnGenModel editor plugin. <!-- begin-user-doc --> <!-- end-user-doc -->
*
- * @generated
* @author Martin Fluegge
+ * @generated
*/
public final class DawnGenModelEditorPlugin extends EMFPlugin
{
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/emf/ui/actions/GenerateDawnGenModelEMFAction.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/emf/ui/actions/GenerateDawnGenModelEMFAction.java index 09726f4b2f..65686d3ff7 100644 --- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/emf/ui/actions/GenerateDawnGenModelEMFAction.java +++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/emf/ui/actions/GenerateDawnGenModelEMFAction.java @@ -58,6 +58,6 @@ public class GenerateDawnGenModelEMFAction extends GenerateDawnGenModelAction @Override
protected Resource getDawnFragmentModelResource(String path, String modelname, ResourceSet resourceSet)
{
- return getResource(path, modelname, resourceSet, dawngenmodelFileExtension + "." + emfGenmodelFileExtension);
+ return getResource(path, modelname, resourceSet, dawngenmodelFileExtension + "_" + emfGenmodelFileExtension);
}
}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf/model/DawnGenModel.emf.genmodel b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf/model/DawnGenModel.emf.genmodel index 70fcb6882a..e2e8b1446e 100644 --- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf/model/DawnGenModel.emf.genmodel +++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf/model/DawnGenModel.emf.genmodel @@ -1,13 +1,237 @@ <?xml version="1.0" encoding="UTF-8"?>
<genmodel:GenModel xmi:version="2.0"
- xmlns:xmi="http://www.omg.org/XMI" xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="Copyright (c) 2004 - 2011 Eike Stepper (Berlin, Germany) 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:
 Martin Fluegge - initial API and implementation"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="Copyright (c) 2004 - 2011 Eike Stepper (Berlin, Germany) 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:
 Martin Fluegge - initial API and implementation"
modelDirectory="/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf/src-gen" editorDirectory="/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/src-gen"
modelPluginID="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf" modelName="DawnGenModel"
importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" editorPluginID="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui"
usedGenPackages="../../org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/model/DawnCodeGen.genmodel#//dawngenmodel platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore">
<foreignModel>DawnGenModel.emf.ecore</foreignModel>
<genPackages prefix="DawnEmfGenmodel" basePackage="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf"
- disposableProviderFactory="true" ecorePackage="DawnGenModel.emf.ecore#/">
- <genClasses ecoreClass="DawnGenModel.emf.ecore#//DawnEMFGenerator"/>
+ disposableProviderFactory="true" multipleEditorPages="false" generateModelWizard="false"
+ ecorePackage="DawnGenModel.emf.ecore#/">
+ <genClasses ecoreClass="DawnGenModel.emf.ecore#//DawnEMFGenerator">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference DawnGenModel.emf.ecore#//DawnEMFGenerator/emfGenModel"/>
+ </genClasses>
+ </genPackages>
+ <genPackages prefix="Genmodel" ecorePackage="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#/">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenProviderKind">
+ <genEnumLiterals ecoreEnumLiteral="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenProviderKind/Singleton"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenProviderKind/Stateful"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenProviderKind/None"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPropertyKind">
+ <genEnumLiterals ecoreEnumLiteral="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPropertyKind/Editable"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPropertyKind/Readonly"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPropertyKind/None"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenResourceKind">
+ <genEnumLiterals ecoreEnumLiteral="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenResourceKind/None"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenResourceKind/Basic"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenResourceKind/XMI"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenResourceKind/XML"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenDelegationKind">
+ <genEnumLiterals ecoreEnumLiteral="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenDelegationKind/None"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenDelegationKind/Reflective"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenDelegationKind/Virtual"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenDelegationKind/Dynamic"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenJDKLevel">
+ <genEnumLiterals ecoreEnumLiteral="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenJDKLevel/JDK14"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenJDKLevel/JDK50"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenJDKLevel/JDK60"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenRuntimeVersion">
+ <genEnumLiterals ecoreEnumLiteral="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenRuntimeVersion/EMF22"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenRuntimeVersion/EMF23"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenRuntimeVersion/EMF24"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenRuntimeVersion/EMF25"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenRuntimeVersion/EMF26"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenRuntimeVersion/EMF27"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenRuntimePlatform">
+ <genEnumLiterals ecoreEnumLiteral="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenRuntimePlatform/IDE"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenRuntimePlatform/RCP"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenRuntimePlatform/RAP"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenRuntimePlatform/GWT"/>
+ </genEnums>
+ <genClasses ecoreClass="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/copyrightText"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/modelDirectory"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/creationCommands"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/creationIcons"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/creationSubmenus"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/editDirectory"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/editorDirectory"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/modelPluginID"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/templateDirectory"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/runtimeJar"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/foreignModel"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/dynamicTemplates"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/redirection"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/forceOverwrite"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/nonExternalizedStringTag"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/modelName"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/modelPluginClass"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/editPluginClass"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/editorPluginClass"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/updateClasspath"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/generateSchema"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/nonNLSMarkers"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/staticPackages"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/modelPluginVariables"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/rootExtendsInterface"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/rootExtendsClass"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/rootImplementsInterface"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/suppressEMFTypes"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/suppressEMFMetaData"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/suppressEMFModelTags"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/suppressInterfaces"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/featureMapWrapperInterface"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/featureMapWrapperInternalInterface"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/featureMapWrapperClass"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/runtimeCompatibility"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/richClientPlatform"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/reflectiveDelegation"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/codeFormatting"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/testsDirectory"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/testSuiteClass"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/booleanFlagsField"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/booleanFlagsReservedBits"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/importerID"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/bundleManifest"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/featureDelegation"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/containmentProxies"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/minimalReflectiveMethods"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/suppressContainment"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/suppressNotification"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/arrayAccessors"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/suppressUnsettable"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/facadeHelperClass"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/complianceLevel"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/suppressGenModelAnnotations"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/copyrightFields"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/binaryCompatibleReflectiveMethods"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/publicConstructors"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/templatePluginVariables"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/providerRootExtendsClass"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/editPluginID"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/editPluginVariables"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/editorPluginID"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/editorPluginVariables"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/testsPluginID"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/testsPluginVariables"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/optimizedHasChildren"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/tableProviders"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/colorProviders"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/fontProviders"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/runtimeVersion"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/language"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/packedEnums"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/genPackages"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/usedGenPackages"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/interfaceNamePattern"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/classNamePattern"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/operationReflection"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/richAjaxPlatform"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel/runtimePlatform"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPackage">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPackage/prefix"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPackage/basePackage"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPackage/resource"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPackage/disposableProviderFactory"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPackage/adapterFactory"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPackage/loadInitialization"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPackage/interfacePackageSuffix"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPackage/metaDataPackageSuffix"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPackage/classPackageSuffix"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPackage/utilityPackageSuffix"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPackage/providerPackageSuffix"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPackage/presentationPackageSuffix"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPackage/testsPackageSuffix"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPackage/generateExampleClass"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPackage/literalsInterface"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPackage/dataTypeConverters"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPackage/multipleEditorPages"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPackage/generateModelWizard"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPackage/extensibleProviderFactory"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPackage/childCreationExtenders"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPackage/contentTypeIdentifier"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPackage/fileExtensions"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPackage/ecorePackage"/>
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPackage/genModel"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPackage/genEnums"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPackage/genDataTypes"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPackage/genClasses"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPackage/nestedGenPackages"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenPackage/genClassifiers"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenClass">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenClass/provider"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenClass/image"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenClass/dynamic"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenClass/ecoreClass"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenClass/genFeatures"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenClass/genOperations"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenClass/labelFeature"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenFeature">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenFeature/property"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenFeature/notify"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenFeature/children"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenFeature/createChild"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenFeature/propertyCategory"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenFeature/propertyFilterFlags"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenFeature/propertyDescription"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenFeature/propertyMultiLine"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenFeature/propertySortChoices"/>
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenFeature/genClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenFeature/ecoreFeature"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenBase">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenBase/genAnnotations"/>
+ <genOperations ecoreOperation="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenBase/getGenAnnotation">
+ <genParameters ecoreParameter="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenBase/getGenAnnotation/source"/>
+ </genOperations>
+ </genClasses>
+ <genClasses ecoreClass="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenEnum">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenEnum/typeSafeEnumCompatible"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenEnum/ecoreEnum"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenEnum/genEnumLiterals"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenEnumLiteral">
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenEnumLiteral/genEnum"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenEnumLiteral/ecoreEnumLiteral"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenClassifier">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenClassifier/genPackage"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenClassifier/genTypeParameters"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenDataType">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenDataType/ecoreDataType"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenOperation">
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenOperation/genClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenOperation/ecoreOperation"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenOperation/genParameters"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenOperation/genTypeParameters"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenParameter">
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenParameter/genOperation"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenParameter/ecoreParameter"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenTypedElement"/>
+ <genClasses ecoreClass="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenAnnotation">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenAnnotation/source"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenAnnotation/details"/>
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenAnnotation/genBase"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenAnnotation/references"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenAnnotation/contents"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenTypeParameter">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenTypeParameter/ecoreTypeParameter"/>
+ </genClasses>
</genPackages>
</genmodel:GenModel>
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui/.classpath b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui/.classpath index 2734480ce0..9c0318f0fd 100644 --- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui/.classpath +++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui/.classpath @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?>
<classpath>
+ <classpathentry kind="src" path="src-gen"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src-gen"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui/META-INF/MANIFEST.MF index be0cc0e9a2..2d03eef9a7 100644 --- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui/META-INF/MANIFEST.MF @@ -24,5 +24,6 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)", org.eclipse.emf.cdo.dawn.codegen;bundle-version="[1.0.0,2.0.0)",
org.eclipse.jdt.core;bundle-version="[3.5.0,4.0.0)",
org.eclipse.emf.mwe.core;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf;bundle-version="[1.0.0,2.0.0)"
+ org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor;bundle-version="1.0.0"
Bundle-ActivationPolicy: lazy
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui/icons/full/obj16/DawnGmfGenmodelModelFile.gif b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui/icons/full/obj16/DawnGmfGenmodelModelFile.gif Binary files differdeleted file mode 100644 index 4ef24bd30d..0000000000 --- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui/icons/full/obj16/DawnGmfGenmodelModelFile.gif +++ /dev/null diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui/icons/full/obj16/dawn_16x16.gif b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui/icons/full/obj16/dawn_16x16.gif Binary files differnew file mode 100644 index 0000000000..af2ae6d3f5 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui/icons/full/obj16/dawn_16x16.gif diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui/icons/full/obj16/dawn_gemodel_gmf_16x16.gif b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui/icons/full/obj16/dawn_gemodel_gmf_16x16.gif Binary files differnew file mode 100644 index 0000000000..597c00be99 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui/icons/full/obj16/dawn_gemodel_gmf_16x16.gif diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui/plugin.xml b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui/plugin.xml index d4b0ccf266..330ab7b73b 100644 --- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui/plugin.xml +++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui/plugin.xml @@ -15,15 +15,12 @@ <plugin>
<extension point="org.eclipse.ui.newWizards">
- <category
- id="org.eclipse.emf.ecore.Wizard.category.ID"
- name="%_UI_Wizard_category"/>
<wizard
id="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.dawnGmfGenmodel.presentation.DawnGmfGenmodelModelWizardID"
name="%_UI_DawnGmfGenmodelModelWizard_label"
class="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.dawnGmfGenmodel.presentation.DawnGmfGenmodelModelWizard"
- category="org.eclipse.emf.ecore.Wizard.category.ID"
- icon="icons/full/obj16/DawnGmfGenmodelModelFile.gif">
+ category="org.eclipse.emf.cdo.dawn.ui.category.dawn"
+ icon="icons/full/obj16/dawn_gemodel_gmf_16x16.gif">
<description>%_UI_DawnGmfGenmodelModelWizard_description</description>
<selection class="org.eclipse.core.resources.IResource"/>
</wizard>
@@ -33,8 +30,8 @@ <editor
id="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.dawnGmfGenmodel.presentation.DawnGmfGenmodelEditorID"
name="%_UI_DawnGmfGenmodelEditor_label"
- icon="icons/full/obj16/DawnGmfGenmodelModelFile.gif"
- extensions="dawngenmodel.gmf"
+ icon="icons/full/obj16/dawn_gemodel_gmf_16x16.gif"
+ extensions="dawngenmodel_gmf"
class="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.dawnGmfGenmodel.presentation.DawnGmfGenmodelEditor"
contributorClass="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.dawnGmfGenmodel.presentation.DawnGmfGenmodelActionBarContributor">
</editor>
@@ -45,7 +42,7 @@ <objectContribution
adaptable="false"
id="org.eclipse.emf.cdo.dawn.codegen.generate"
- nameFilter="*.dawngenmodel.gmf"
+ nameFilter="*.dawngenmodel_gmf"
objectClass="org.eclipse.core.resources.IFile">
<action
class="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui.actions.GenerateGMFFragmentAction"
@@ -65,6 +62,13 @@ </action>
</objectContribution>
</extension>
+ <extension
+ point="org.eclipse.emf.cdo.dawn.genmodel.ui.editors">
+ <editor
+ editor="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.dawnGmfGenmodel.presentation.DawnGmfGenmodelEditor"
+ file_extension="_gmf">
+ </editor>
+ </extension>
</plugin>
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui/src-gen/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/gmf/dawnGmfGenmodel/presentation/DawnCodeGenEditorPlugin.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui/src-gen/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/gmf/dawnGmfGenmodel/presentation/DawnCodeGenEditorPlugin.java index ab92918914..01da405351 100644 --- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui/src-gen/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/gmf/dawnGmfGenmodel/presentation/DawnCodeGenEditorPlugin.java +++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui/src-gen/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/gmf/dawnGmfGenmodel/presentation/DawnCodeGenEditorPlugin.java @@ -23,8 +23,8 @@ import org.eclipse.gmf.codegen.gmfgen.presentation.EditorPlugin; /**
* This is the central singleton for the DawnCodeGen editor plugin. <!-- begin-user-doc --> <!-- end-user-doc -->
*
- * @generated
* @author Martin Fluegge
+ * @generated
*/
public final class DawnCodeGenEditorPlugin extends EMFPlugin
{
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui/src-gen/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/gmf/dawnGmfGenmodel/presentation/DawnGmfGenmodelEditor.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui/src-gen/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/gmf/dawnGmfGenmodel/presentation/DawnGmfGenmodelEditor.java index 837f9cb3e7..f00e0e748e 100644 --- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui/src-gen/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/gmf/dawnGmfGenmodel/presentation/DawnGmfGenmodelEditor.java +++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui/src-gen/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/gmf/dawnGmfGenmodel/presentation/DawnGmfGenmodelEditor.java @@ -21,7 +21,6 @@ import org.eclipse.emf.common.command.CommandStackListener; import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.ui.MarkerHelper;
-import org.eclipse.emf.common.ui.ViewerPane;
import org.eclipse.emf.common.ui.editor.ProblemEditorPart;
import org.eclipse.emf.common.ui.viewer.IViewerProvider;
import org.eclipse.emf.common.util.BasicDiagnostic;
@@ -74,17 +73,13 @@ import org.eclipse.jface.action.MenuManager; import org.eclipse.jface.action.Separator;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.viewers.ColumnWeightData;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ListViewer;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.swt.SWT;
@@ -94,13 +89,9 @@ import org.eclipse.swt.dnd.Transfer; import org.eclipse.swt.events.ControlAdapter;
import org.eclipse.swt.events.ControlEvent;
import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeColumn;
import org.eclipse.ui.IActionBars;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorPart;
@@ -135,8 +126,8 @@ import java.util.Map; /**
* This is an example of a DawnGmfGenmodel model editor. <!-- begin-user-doc --> <!-- end-user-doc -->
*
- * @generated
* @author Martin Fluegge
+ * @generated
*/
public class DawnGmfGenmodelEditor extends MultiPageEditorPart implements IEditingDomainProvider, ISelectionProvider,
IMenuListener, IViewerProvider, IGotoMarker
@@ -201,51 +192,6 @@ public class DawnGmfGenmodelEditor extends MultiPageEditorPart implements IEditi protected TreeViewer selectionViewer;
/**
- * This inverts the roll of parent and child in the content provider and show parents as a tree. <!-- begin-user-doc
- * --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected TreeViewer parentViewer;
-
- /**
- * This shows how a tree view works. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected TreeViewer treeViewer;
-
- /**
- * This shows how a list view works. A list viewer doesn't support icons. <!-- begin-user-doc --> <!-- end-user-doc
- * -->
- *
- * @generated
- */
- protected ListViewer listViewer;
-
- /**
- * This shows how a table view works. A table can be used as a list with icons. <!-- begin-user-doc --> <!--
- * end-user-doc -->
- *
- * @generated
- */
- protected TableViewer tableViewer;
-
- /**
- * This shows how a tree view with columns works. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected TreeViewer treeViewerWithColumns;
-
- /**
- * This keeps track of the active viewer pane, in the book. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected ViewerPane currentViewerPane;
-
- /**
* This keeps track of the active content viewer, which may be either one of the viewers in the pages or the content
* outline viewer. <!-- begin-user-doc --> <!-- end-user-doc -->
*
@@ -627,7 +573,7 @@ public class DawnGmfGenmodelEditor extends MultiPageEditorPart implements IEditi if (updateProblemIndication)
{
BasicDiagnostic diagnostic = new BasicDiagnostic(Diagnostic.OK,
- "org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.editor", 0, null,
+ "org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui", 0, null,
new Object[] { editingDomain.getResourceSet() });
for (Diagnostic childDiagnostic : resourceToDiagnosticMap.values())
{
@@ -877,24 +823,6 @@ public class DawnGmfGenmodelEditor extends MultiPageEditorPart implements IEditi }
/**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void setCurrentViewerPane(ViewerPane viewerPane)
- {
- if (currentViewerPane != viewerPane)
- {
- if (currentViewerPane != null)
- {
- currentViewerPane.showFocus(false);
- }
- currentViewerPane = viewerPane;
- }
- setCurrentViewer(currentViewerPane.getViewer());
- }
-
- /**
* This makes sure that one content viewer, either for the current page or the outline view, if it has focus, is the
* current one. <!-- begin-user-doc --> <!-- end-user-doc -->
*
@@ -1020,14 +948,14 @@ public class DawnGmfGenmodelEditor extends MultiPageEditorPart implements IEditi if (!resource.getErrors().isEmpty() || !resource.getWarnings().isEmpty())
{
BasicDiagnostic basicDiagnostic = new BasicDiagnostic(Diagnostic.ERROR,
- "org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.editor", 0, getString("_UI_CreateModelError_message",
+ "org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui", 0, getString("_UI_CreateModelError_message",
resource.getURI()), new Object[] { exception == null ? (Object)resource : exception });
basicDiagnostic.merge(EcoreUtil.computeDiagnostic(resource, true));
return basicDiagnostic;
}
else if (exception != null)
{
- return new BasicDiagnostic(Diagnostic.ERROR, "org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.editor", 0,
+ return new BasicDiagnostic(Diagnostic.ERROR, "org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui", 0,
getString("_UI_CreateModelError_message", resource.getURI()), new Object[] { exception });
}
else
@@ -1055,223 +983,20 @@ public class DawnGmfGenmodelEditor extends MultiPageEditorPart implements IEditi {
// Create a page for the selection tree view.
//
- {
- ViewerPane viewerPane = new ViewerPane(getSite().getPage(), DawnGmfGenmodelEditor.this)
- {
- @Override
- public Viewer createViewer(Composite composite)
- {
- Tree tree = new Tree(composite, SWT.MULTI);
- TreeViewer newTreeViewer = new TreeViewer(tree);
- return newTreeViewer;
- }
-
- @Override
- public void requestActivation()
- {
- super.requestActivation();
- setCurrentViewerPane(this);
- }
- };
- viewerPane.createControl(getContainer());
-
- selectionViewer = (TreeViewer)viewerPane.getViewer();
- selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
-
- selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
- selectionViewer.setInput(editingDomain.getResourceSet());
- selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)),
- true);
- viewerPane.setTitle(editingDomain.getResourceSet());
-
- new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);
-
- createContextMenuFor(selectionViewer);
- int pageIndex = addPage(viewerPane.getControl());
- setPageText(pageIndex, getString("_UI_SelectionPage_label"));
- }
-
- // Create a page for the parent tree view.
- //
- {
- ViewerPane viewerPane = new ViewerPane(getSite().getPage(), DawnGmfGenmodelEditor.this)
- {
- @Override
- public Viewer createViewer(Composite composite)
- {
- Tree tree = new Tree(composite, SWT.MULTI);
- TreeViewer newTreeViewer = new TreeViewer(tree);
- return newTreeViewer;
- }
-
- @Override
- public void requestActivation()
- {
- super.requestActivation();
- setCurrentViewerPane(this);
- }
- };
- viewerPane.createControl(getContainer());
-
- parentViewer = (TreeViewer)viewerPane.getViewer();
- parentViewer.setAutoExpandLevel(30);
- parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory));
- parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
-
- createContextMenuFor(parentViewer);
- int pageIndex = addPage(viewerPane.getControl());
- setPageText(pageIndex, getString("_UI_ParentPage_label"));
- }
-
- // This is the page for the list viewer
- //
- {
- ViewerPane viewerPane = new ViewerPane(getSite().getPage(), DawnGmfGenmodelEditor.this)
- {
- @Override
- public Viewer createViewer(Composite composite)
- {
- return new ListViewer(composite);
- }
-
- @Override
- public void requestActivation()
- {
- super.requestActivation();
- setCurrentViewerPane(this);
- }
- };
- viewerPane.createControl(getContainer());
- listViewer = (ListViewer)viewerPane.getViewer();
- listViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
- listViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
-
- createContextMenuFor(listViewer);
- int pageIndex = addPage(viewerPane.getControl());
- setPageText(pageIndex, getString("_UI_ListPage_label"));
- }
-
- // This is the page for the tree viewer
- //
- {
- ViewerPane viewerPane = new ViewerPane(getSite().getPage(), DawnGmfGenmodelEditor.this)
- {
- @Override
- public Viewer createViewer(Composite composite)
- {
- return new TreeViewer(composite);
- }
-
- @Override
- public void requestActivation()
- {
- super.requestActivation();
- setCurrentViewerPane(this);
- }
- };
- viewerPane.createControl(getContainer());
- treeViewer = (TreeViewer)viewerPane.getViewer();
- treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
- treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
-
- new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);
-
- createContextMenuFor(treeViewer);
- int pageIndex = addPage(viewerPane.getControl());
- setPageText(pageIndex, getString("_UI_TreePage_label"));
- }
-
- // This is the page for the table viewer.
- //
- {
- ViewerPane viewerPane = new ViewerPane(getSite().getPage(), DawnGmfGenmodelEditor.this)
- {
- @Override
- public Viewer createViewer(Composite composite)
- {
- return new TableViewer(composite);
- }
-
- @Override
- public void requestActivation()
- {
- super.requestActivation();
- setCurrentViewerPane(this);
- }
- };
- viewerPane.createControl(getContainer());
- tableViewer = (TableViewer)viewerPane.getViewer();
-
- Table table = tableViewer.getTable();
- TableLayout layout = new TableLayout();
- table.setLayout(layout);
- table.setHeaderVisible(true);
- table.setLinesVisible(true);
-
- TableColumn objectColumn = new TableColumn(table, SWT.NONE);
- layout.addColumnData(new ColumnWeightData(3, 100, true));
- objectColumn.setText(getString("_UI_ObjectColumn_label"));
- objectColumn.setResizable(true);
-
- TableColumn selfColumn = new TableColumn(table, SWT.NONE);
- layout.addColumnData(new ColumnWeightData(2, 100, true));
- selfColumn.setText(getString("_UI_SelfColumn_label"));
- selfColumn.setResizable(true);
-
- tableViewer.setColumnProperties(new String[] { "a", "b" });
- tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
- tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
-
- createContextMenuFor(tableViewer);
- int pageIndex = addPage(viewerPane.getControl());
- setPageText(pageIndex, getString("_UI_TablePage_label"));
- }
-
- // This is the page for the table tree viewer.
- //
- {
- ViewerPane viewerPane = new ViewerPane(getSite().getPage(), DawnGmfGenmodelEditor.this)
- {
- @Override
- public Viewer createViewer(Composite composite)
- {
- return new TreeViewer(composite);
- }
-
- @Override
- public void requestActivation()
- {
- super.requestActivation();
- setCurrentViewerPane(this);
- }
- };
- viewerPane.createControl(getContainer());
+ Tree tree = new Tree(getContainer(), SWT.MULTI);
+ selectionViewer = new TreeViewer(tree);
+ setCurrentViewer(selectionViewer);
- treeViewerWithColumns = (TreeViewer)viewerPane.getViewer();
+ selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+ selectionViewer.setInput(editingDomain.getResourceSet());
+ selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
- Tree tree = treeViewerWithColumns.getTree();
- tree.setLayoutData(new FillLayout());
- tree.setHeaderVisible(true);
- tree.setLinesVisible(true);
+ new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);
- TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE);
- objectColumn.setText(getString("_UI_ObjectColumn_label"));
- objectColumn.setResizable(true);
- objectColumn.setWidth(250);
-
- TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE);
- selfColumn.setText(getString("_UI_SelfColumn_label"));
- selfColumn.setResizable(true);
- selfColumn.setWidth(200);
-
- treeViewerWithColumns.setColumnProperties(new String[] { "a", "b" });
- treeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
- treeViewerWithColumns.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
-
- createContextMenuFor(treeViewerWithColumns);
- int pageIndex = addPage(viewerPane.getControl());
- setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label"));
- }
+ createContextMenuFor(selectionViewer);
+ int pageIndex = addPage(tree);
+ setPageText(pageIndex, getString("_UI_SelectionPage_label"));
getSite().getShell().getDisplay().asyncExec(new Runnable()
{
@@ -1488,7 +1213,7 @@ public class DawnGmfGenmodelEditor extends MultiPageEditorPart implements IEditi public void setActionBars(IActionBars actionBars)
{
super.setActionBars(actionBars);
- getActionBarContributor().shareGlobalActions(this, actionBars);
+ // getActionBarContributor().shareGlobalActions(this, actionBars);
}
};
propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
@@ -1505,7 +1230,7 @@ public class DawnGmfGenmodelEditor extends MultiPageEditorPart implements IEditi */
public void handleContentOutlineSelection(ISelection selection)
{
- if (currentViewerPane != null && !selection.isEmpty() && selection instanceof IStructuredSelection)
+ if (selectionViewer != null && !selection.isEmpty() && selection instanceof IStructuredSelection)
{
Iterator<?> selectedElements = ((IStructuredSelection)selection).iterator();
if (selectedElements.hasNext())
@@ -1514,31 +1239,16 @@ public class DawnGmfGenmodelEditor extends MultiPageEditorPart implements IEditi //
Object selectedElement = selectedElements.next();
- // If it's the selection viewer, then we want it to select the same selection as this selection.
- //
- if (currentViewerPane.getViewer() == selectionViewer)
- {
- ArrayList<Object> selectionList = new ArrayList<Object>();
- selectionList.add(selectedElement);
- while (selectedElements.hasNext())
- {
- selectionList.add(selectedElements.next());
- }
-
- // Set the selection to the widget.
- //
- selectionViewer.setSelection(new StructuredSelection(selectionList));
- }
- else
+ ArrayList<Object> selectionList = new ArrayList<Object>();
+ selectionList.add(selectedElement);
+ while (selectedElements.hasNext())
{
- // Set the input to the widget.
- //
- if (currentViewerPane.getViewer().getInput() != selectedElement)
- {
- currentViewerPane.getViewer().setInput(selectedElement);
- currentViewerPane.setTitle(selectedElement);
- }
+ selectionList.add(selectedElements.next());
}
+
+ // Set the selection to the widget.
+ //
+ selectionViewer.setSelection(new StructuredSelection(selectionList));
}
}
}
@@ -1753,14 +1463,7 @@ public class DawnGmfGenmodelEditor extends MultiPageEditorPart implements IEditi @Override
public void setFocus()
{
- if (currentViewerPane != null)
- {
- currentViewerPane.setFocus();
- }
- else
- {
- getControl(getActivePage()).setFocus();
- }
+ getControl(getActivePage()).setFocus();
}
/**
@@ -1798,7 +1501,7 @@ public class DawnGmfGenmodelEditor extends MultiPageEditorPart implements IEditi * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to set this editor's overall selection.
* Calling this result will notify the listeners. <!-- begin-user-doc --> <!-- end-user-doc -->
*
- * @generated
+ * @generated NOT
*/
public void setSelection(ISelection selection)
{
@@ -1808,7 +1511,7 @@ public class DawnGmfGenmodelEditor extends MultiPageEditorPart implements IEditi {
listener.selectionChanged(new SelectionChangedEvent(this, selection));
}
- setStatusLineManager(selection);
+ // setStatusLineManager(selection);
}
/**
@@ -1917,7 +1620,7 @@ public class DawnGmfGenmodelEditor extends MultiPageEditorPart implements IEditi /**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
- * @generated
+ * @generated NOT
*/
@Override
public void dispose()
@@ -1930,10 +1633,10 @@ public class DawnGmfGenmodelEditor extends MultiPageEditorPart implements IEditi adapterFactory.dispose();
- if (getActionBarContributor().getActiveEditor() == this)
- {
- getActionBarContributor().setActiveEditor(null);
- }
+ // if (getActionBarContributor().getActiveEditor() == this)
+ // {
+ // getActionBarContributor().setActiveEditor(null);
+ // }
if (propertySheetPage != null)
{
@@ -1955,6 +1658,6 @@ public class DawnGmfGenmodelEditor extends MultiPageEditorPart implements IEditi */
protected boolean showOutlineView()
{
- return true;
+ return false;
}
}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/gmf/ui/actions/GenerateDawnGenModelGMFAction.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/gmf/ui/actions/GenerateDawnGenModelGMFAction.java index 757b04b820..7411d0312f 100644 --- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/gmf/ui/actions/GenerateDawnGenModelGMFAction.java +++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/gmf/ui/actions/GenerateDawnGenModelGMFAction.java @@ -88,6 +88,6 @@ public class GenerateDawnGenModelGMFAction extends GenerateDawnGenModelAction @Override
protected Resource getDawnFragmentModelResource(String path, String modelname, ResourceSet resourceSet)
{
- return getResource(path, modelname, resourceSet, dawngenmodelFileExtension + "." + gmfGenmodelFileExtension);
+ return getResource(path, modelname, resourceSet, dawngenmodelFileExtension + "_" + gmfGenmodelFileExtension);
}
}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf/model/DawnCodeGen.gmf.genmodel b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf/model/DawnCodeGen.gmf.genmodel index 28ec30df40..b008eb962f 100644 --- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf/model/DawnCodeGen.gmf.genmodel +++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf/model/DawnCodeGen.gmf.genmodel @@ -8,7 +8,8 @@ language="" usedGenPackages="../../org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/model/DawnCodeGen.genmodel#//dawngenmodel platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.genmodel#//genmodel platform:/plugin/org.eclipse.gmf.codegen/models/gmfgen.genmodel#//gmfgen">
<foreignModel>DawnCodeGen.gmf.ecore</foreignModel>
<genPackages prefix="DawnGmfGenmodel" basePackage="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf"
- disposableProviderFactory="true" ecorePackage="DawnCodeGen.gmf.ecore#/">
+ disposableProviderFactory="true" multipleEditorPages="false" generateModelWizard="false"
+ ecorePackage="DawnCodeGen.gmf.ecore#/">
<genClasses ecoreClass="DawnCodeGen.gmf.ecore#//DawnGMFGenerator">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute DawnCodeGen.gmf.ecore#//DawnGMFGenerator/dawnDocumentProviderClassName"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute DawnCodeGen.gmf.ecore#//DawnGMFGenerator/dawnEditorUtilClassName"/>
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/model/DawnCodeGen.genmodel b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/model/DawnCodeGen.genmodel index 3cecb962e6..1524f5e284 100644 --- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/model/DawnCodeGen.genmodel +++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/model/DawnCodeGen.genmodel @@ -7,7 +7,7 @@ usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore">
<foreignModel>DawnCodeGen.ecore</foreignModel>
<genPackages prefix="Dawngenmodel" basePackage="org.eclipse.emf.cdo.dawn.codegen"
- disposableProviderFactory="true" ecorePackage="DawnCodeGen.ecore#/">
+ disposableProviderFactory="true" multipleEditorPages="false" ecorePackage="DawnCodeGen.ecore#/">
<genClasses ecoreClass="DawnCodeGen.ecore#//DawnGenerator">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute DawnCodeGen.ecore#//DawnGenerator/conflictColor"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute DawnCodeGen.ecore#//DawnGenerator/localLockColor"/>
@@ -16,6 +16,7 @@ <genClasses ecoreClass="DawnCodeGen.ecore#//DawnFragmentGenerator">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute DawnCodeGen.ecore#//DawnFragmentGenerator/fragmentName"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute DawnCodeGen.ecore#//DawnFragmentGenerator/dawnEditorClassName"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference DawnCodeGen.ecore#//DawnFragmentGenerator/dawnGenerator"/>
</genClasses>
</genPackages>
</genmodel:GenModel>
|