diff options
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.releng.setup.editor/src/org/eclipse/emf/cdo/releng/setup/presentation/SetupEditor.java')
-rw-r--r-- | plugins/org.eclipse.emf.cdo.releng.setup.editor/src/org/eclipse/emf/cdo/releng/setup/presentation/SetupEditor.java | 60 |
1 files changed, 56 insertions, 4 deletions
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.editor/src/org/eclipse/emf/cdo/releng/setup/presentation/SetupEditor.java b/plugins/org.eclipse.emf.cdo.releng.setup.editor/src/org/eclipse/emf/cdo/releng/setup/presentation/SetupEditor.java index e370a9b3d3..f706e6b8e3 100644 --- a/plugins/org.eclipse.emf.cdo.releng.setup.editor/src/org/eclipse/emf/cdo/releng/setup/presentation/SetupEditor.java +++ b/plugins/org.eclipse.emf.cdo.releng.setup.editor/src/org/eclipse/emf/cdo/releng/setup/presentation/SetupEditor.java @@ -10,8 +10,11 @@ */ package org.eclipse.emf.cdo.releng.setup.presentation; +import org.eclipse.emf.cdo.releng.predicates.provider.PredicatesItemProviderAdapterFactory; import org.eclipse.emf.cdo.releng.setup.Preferences; +import org.eclipse.emf.cdo.releng.setup.SetupFactory; import org.eclipse.emf.cdo.releng.setup.provider.SetupItemProviderAdapterFactory; +import org.eclipse.emf.cdo.releng.workingsets.provider.WorkingSetsItemProviderAdapterFactory; import org.eclipse.emf.common.command.BasicCommandStack; import org.eclipse.emf.common.command.Command; @@ -28,6 +31,7 @@ import org.eclipse.emf.common.util.Diagnostic; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; import org.eclipse.emf.ecore.util.EContentAdapter; import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain; @@ -84,6 +88,8 @@ import org.eclipse.swt.dnd.DND; import org.eclipse.swt.dnd.Transfer; import org.eclipse.swt.events.ControlAdapter; import org.eclipse.swt.events.ControlEvent; +import org.eclipse.swt.events.MouseEvent; +import org.eclipse.swt.events.MouseListener; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; @@ -689,6 +695,8 @@ public class SetupEditor extends MultiPageEditorPart implements IEditingDomainPr adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory()); adapterFactory.addAdapterFactory(new SetupItemProviderAdapterFactory()); + adapterFactory.addAdapterFactory(new WorkingSetsItemProviderAdapterFactory()); + adapterFactory.addAdapterFactory(new PredicatesItemProviderAdapterFactory()); adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory()); // Create the command stack that will notify this editor as commands are executed. @@ -1003,10 +1011,9 @@ public class SetupEditor extends MultiPageEditorPart implements IEditingDomainPr * This is the method used by the framework to install your own controls. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @generated NOT + * @generated */ - @Override - public void createPages() + public void createPagesGen() { // Creates the model from the editor input // @@ -1024,7 +1031,7 @@ public class SetupEditor extends MultiPageEditorPart implements IEditingDomainPr selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); - selectionViewer.setInput(editingDomain.getResourceSet().getResources().get(0)); + selectionViewer.setInput(editingDomain.getResourceSet()); selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true); new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory); @@ -1070,6 +1077,41 @@ public class SetupEditor extends MultiPageEditorPart implements IEditingDomainPr }); } + @Override + public void createPages() + { + createPagesGen(); + + Resource resource = editingDomain.getResourceSet().getResources().get(0); + selectionViewer.setInput(resource); + selectionViewer.setSelection(new StructuredSelection(resource.getContents().get(0)), true); + + getViewer().getControl().addMouseListener(new MouseListener() + { + public void mouseDoubleClick(MouseEvent e) + { + try + { + getSite().getPage().showView("org.eclipse.ui.views.PropertySheet"); //$NON-NLS-1$ + } + catch (PartInitException ex) + { + SetupEditorPlugin.INSTANCE.log(ex); + } + } + + public void mouseDown(MouseEvent e) + { + // do nothing + } + + public void mouseUp(MouseEvent e) + { + // do nothing + } + }); + } + /** * If there is just one page in the multi-page editor part, * this hides the single tab at the bottom. @@ -1715,6 +1757,16 @@ public class SetupEditor extends MultiPageEditorPart implements IEditingDomainPr try { URI uri = Preferences.PREFERENCES_URI; + + ResourceSet resourceSet = new ResourceSetImpl(); + if (!resourceSet.getURIConverter().exists(uri, null)) + { + Resource resource = resourceSet.createResource(Preferences.PREFERENCES_URI); + Preferences preferences = SetupFactory.eINSTANCE.createPreferences(); + resource.getContents().add(preferences); + resource.save(null); + } + IEditorInput editorInput = new URIEditorInput(uri, uri.lastSegment()); page.openEditor(editorInput, EDITOR_ID); } |