Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathalie Lepine2015-03-05 09:47:00 +0000
committerNathalie Lepine2015-03-05 09:48:49 +0000
commit7b4dba1d8345d988d474a91985c5cb8a99fc7ff2 (patch)
tree37057caf18d30be28583e51951fc8b95002cd80b
parent1abe5587c5408f6de10e4f11ef10a0f5e5724813 (diff)
downloadorg.eclipse.eef-7b4dba1d8345d988d474a91985c5cb8a99fc7ff2.tar.gz
org.eclipse.eef-7b4dba1d8345d988d474a91985c5cb8a99fc7ff2.tar.xz
org.eclipse.eef-7b4dba1d8345d988d474a91985c5cb8a99fc7ff2.zip
fix init editing model in wizard
fix item providers for editor new child descritors init ecombo and single containment editor if they already have a value add Form JDT widget add editing model view for PropertyBinding
-rw-r--r--plugins/org.eclipse.emf.eef.editor/models/editingModel.editingmodel388
-rw-r--r--plugins/org.eclipse.emf.eef.editor/src-gen/org/eclipse/emf/eef/runtime/editingModel/presentation/EditingModelModelWizard.java9
-rw-r--r--plugins/org.eclipse.emf.eef.editor/src-gen/org/eclipse/emf/eef/runtime/editingModel/provider/EClassBindingItemProvider.java4
-rw-r--r--plugins/org.eclipse.emf.eef.editor/src-gen/org/eclipse/emf/eef/runtime/editingModel/provider/PropertyBindingItemProvider.java169
-rw-r--r--plugins/org.eclipse.emf.eef.runtime.ui.jdt/META-INF/MANIFEST.MF8
-rw-r--r--plugins/org.eclipse.emf.eef.runtime.ui.jdt/src/org/eclipse/emf/eef/runtime/ui/jdt/internal/jdttoolkit/propertyeditors/JavaClassChooserFormPropertyEditor.java129
-rw-r--r--plugins/org.eclipse.emf.eef.runtime.ui.jdt/src/org/eclipse/emf/eef/runtime/ui/jdt/internal/jdttoolkit/propertyeditors/JavaClassChooserPropertyEditor.java19
-rw-r--r--plugins/org.eclipse.emf.eef.runtime.ui.jdt/src/org/eclipse/emf/eef/runtime/ui/jdt/internal/jdttoolkit/propertyeditors/JavaClassChooserPropertyEditorFactory.java21
-rw-r--r--plugins/org.eclipse.emf.eef.runtime.ui.swt.e3/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.emf.eef.runtime.ui.swt.e3/src/org/eclipse/emf/eef/runtime/ui/swt/e3/internal/view/propertyeditors/impl/emfpropertiestoolkit/ecomboeditor/EComboE3PropertyEditor.java45
-rw-r--r--plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/internal/binding/settings/GenericBindingSettings.java114
-rw-r--r--plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/internal/binding/settings/GenericBindingSettingsUtil.java147
-rw-r--r--plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/internal/view/propertyeditors/impl/emfpropertiestoolkit/ecomboeditor/EComboPropertyEditor.java35
-rw-r--r--plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/internal/view/propertyeditors/impl/emfpropertiestoolkit/singlecontainmenteditor/SingleContainmentSWTPropertyEditor.java8
-rw-r--r--plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/internal/widgets/EEFSelectionDialog.java24
-rw-r--r--plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/internal/widgets/SingleLinePropertyViewer.java28
-rw-r--r--plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/wizard/EEFEditingWizard.java10
17 files changed, 712 insertions, 448 deletions
diff --git a/plugins/org.eclipse.emf.eef.editor/models/editingModel.editingmodel b/plugins/org.eclipse.emf.eef.editor/models/editingModel.editingmodel
index 93c799572..f94a8d2d1 100644
--- a/plugins/org.eclipse.emf.eef.editor/models/editingModel.editingmodel
+++ b/plugins/org.eclipse.emf.eef.editor/models/editingModel.editingmodel
@@ -1,179 +1,209 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:eef-model="http://www.eclipse.org/emf/eef/editingmodel/1.0.0" xmlns:eef-query="http://www.eclipse.org/emf/eef/query/1.0" xmlns:eef-views="http://www.eclipse.org/emf/eef/views/1.0.0">
- <eef-model:PropertiesEditingModel name="EditingModel of the EditingModel model" id="org.eclipse.emf.eef.runtime.EditingModel">
- <bindings>
- <eClass href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//EClassBinding"/>
- <views xsi:type="eef-model:EObjectView" definition="/1/@views.0"/>
- <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
- <feature xsi:type="ecore:EReference" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//EClassBinding/eClass"/>
- <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.0/@elements.0"/>
- </propertyBindings>
- <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
- <feature xsi:type="ecore:EReference" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//EClassBinding/views"/>
- <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.0/@elements.1"/>
- </propertyBindings>
- </bindings>
- <bindings>
- <eClass href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//PropertiesEditingModel"/>
- <views xsi:type="eef-model:EObjectView" definition="/1/@views.1"/>
- <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
- <feature xsi:type="ecore:EAttribute" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//PropertiesEditingModel/id"/>
- <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.1/@elements.0/@elements.0"/>
- </propertyBindings>
- <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
- <feature xsi:type="ecore:EAttribute" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//PropertiesEditingModel/name"/>
- <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.1/@elements.0/@elements.1"/>
- </propertyBindings>
- <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
- <feature xsi:type="ecore:EReference" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//PropertiesEditingModel/involvedModels"/>
- <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.1/@elements.0/@elements.2"/>
- </propertyBindings>
- </bindings>
- <bindings>
- <eClass href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//EObjectView"/>
- <views xsi:type="eef-model:EObjectView" definition="/1/@views.2"/>
- <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
- <feature xsi:type="ecore:EReference" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//EObjectView/definition"/>
- <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.2/@elements.0"/>
- </propertyBindings>
- </bindings>
- <bindings>
- <eClass href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//EStructuralFeatureBinding"/>
- <views xsi:type="eef-model:EObjectView" definition="/1/@views.3"/>
- <views xsi:type="eef-model:EObjectView" definition="/1/@views.6"/>
- <views xsi:type="eef-model:EObjectView" definition="/1/@views.5"/>
- <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
- <feature xsi:type="ecore:EReference" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//EStructuralFeatureBinding/feature"/>
- <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.3/@elements.0"/>
- <settings xsi:type="eef-model:EReferenceFilter">
- <body xsi:type="eef-query:JavaBody" qualifiedClass="org.eclipse.emf.eef.editor.internal.filters.PropertyBindingFilter" method="bindableFeature"/>
- </settings>
- </propertyBindings>
- <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
- <feature xsi:type="ecore:EReference" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//PropertyBinding/editor"/>
- <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.3/@elements.1"/>
- </propertyBindings>
- <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
- <feature xsi:type="ecore:EReference" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//PropertyBinding/subPropertyBindings"/>
- <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.5/@elements.0"/>
- </propertyBindings>
- <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
- <feature xsi:type="ecore:EReference" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//PropertyBinding/settings"/>
- <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.6/@elements.0"/>
- </propertyBindings>
- </bindings>
- <bindings>
- <eClass href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//EObjectEditor"/>
- <views xsi:type="eef-model:EObjectView" definition="/1/@views.4"/>
- <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
- <feature xsi:type="ecore:EReference" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//EObjectEditor/definition"/>
- <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.4/@elements.0"/>
- <settings xsi:type="eef-model:EReferenceFilter">
- <body xsi:type="eef-query:JavaBody" qualifiedClass="org.eclipse.emf.eef.editor.internal.filters.EObjectEditorFilter" method="bindableEditor"/>
- </settings>
- </propertyBindings>
- </bindings>
- <bindings>
- <eClass href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//EReferenceFilter"/>
- <views xsi:type="eef-model:EObjectView" definition="/1/@views.8"/>
- <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
- <feature xsi:type="ecore:EReference" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/query.ecore#//Query/body"/>
- <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.8/@elements.0"/>
- </propertyBindings>
- </bindings>
- <bindings>
- <eClass href="platform:/plugin/org.eclipse.emf.eef.runtime/model/query.ecore#//JavaBody"/>
- <views xsi:type="eef-model:EObjectView" definition="/1/@views.7"/>
- <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
- <feature xsi:type="ecore:EAttribute" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/query.ecore#//JavaBody/qualifiedClass"/>
- <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.7/@elements.0/@elements.0"/>
- </propertyBindings>
- <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
- <feature xsi:type="ecore:EAttribute" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/query.ecore#//JavaBody/method"/>
- <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.7/@elements.1/@elements.0"/>
- </propertyBindings>
- <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
- <feature xsi:type="ecore:EAttribute" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/query.ecore#//JavaBody/static"/>
- <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.7/@elements.1/@elements.1"/>
- </propertyBindings>
- </bindings>
- <involvedModels href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.genmodel#/"/>
- <involvedModels href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#/"/>
- <involvedModels href="platform:/plugin/org.eclipse.emf.eef.runtime/model/query.genmodel#/"/>
- <involvedModels href="platform:/plugin/org.eclipse.emf.eef.runtime/model/query.ecore#/"/>
- </eef-model:PropertiesEditingModel>
- <eef-views:ViewsRepository name="editingModel">
- <views name="Binding">
- <elements xsi:type="eef-views:ElementEditor" name="eClass">
- <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.emfpropertiestoolkit.EMFPropertiesToolkit#//@widgets.1"/>
- </elements>
- <elements xsi:type="eef-views:ElementEditor" name="views">
- <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.emfpropertiestoolkit.EMFPropertiesToolkit#//@widgets.2"/>
- </elements>
- </views>
- <views name="Editing Model">
- <elements xsi:type="eef-views:Container" name="Editing Model">
- <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.swttoolkit.SWTToolkit#//@widgets.2"/>
- <elements xsi:type="eef-views:ElementEditor" name="id">
- <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.swttoolkit.SWTToolkit#//@widgets.0"/>
- </elements>
- <elements xsi:type="eef-views:ElementEditor" name="name">
- <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.swttoolkit.SWTToolkit#//@widgets.0"/>
- </elements>
- <elements xsi:type="eef-views:ElementEditor" name="Involved Models">
- <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.emfpropertiestoolkit.EMFPropertiesToolkit#//@widgets.0"/>
- </elements>
- </elements>
- </views>
- <views name="EObjectView">
- <elements xsi:type="eef-views:ElementEditor" name="definition">
- <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.emfpropertiestoolkit.EMFPropertiesToolkit#//@widgets.1"/>
- </elements>
- </views>
- <views name="Property Binding">
- <elements xsi:type="eef-views:ElementEditor" name="feature">
- <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.emfpropertiestoolkit.EMFPropertiesToolkit#//@widgets.1"/>
- </elements>
- <elements xsi:type="eef-views:ElementEditor" name="Editor">
- <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.emfpropertiestoolkit.EMFPropertiesToolkit#//@widgets.4"/>
- </elements>
- </views>
- <views name="EObjectEditor">
- <elements xsi:type="eef-views:ElementEditor" name="definition">
- <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.emfpropertiestoolkit.EMFPropertiesToolkit#//@widgets.1"/>
- </elements>
- </views>
- <views name="Subbindings">
- <elements xsi:type="eef-views:ElementEditor" name="subbindings">
- <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.emfpropertiestoolkit.EMFPropertiesToolkit#//@widgets.2"/>
- </elements>
- </views>
- <views name="Settings">
- <elements xsi:type="eef-views:ElementEditor" name="settings">
- <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.emfpropertiestoolkit.EMFPropertiesToolkit#//@widgets.2"/>
- </elements>
- </views>
- <views name="JavaBody">
- <elements xsi:type="eef-views:Container" name="Class">
- <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.swttoolkit.SWTToolkit#//@widgets.2"/>
- <elements xsi:type="eef-views:ElementEditor" name="Qualified Class">
- <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.jdt/org.eclipse.emf.eef.runtime.ui.jdt.jdttoolkit.JDTToolkit#//@widgets.0"/>
- </elements>
- </elements>
- <elements xsi:type="eef-views:Container" name="Method">
- <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.swttoolkit.SWTToolkit#//@widgets.2"/>
- <elements xsi:type="eef-views:ElementEditor" name="method">
- <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.swttoolkit.SWTToolkit#//@widgets.0"/>
- </elements>
- <elements xsi:type="eef-views:ElementEditor" name="static">
- <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.swttoolkit.SWTToolkit#//@widgets.1"/>
- </elements>
- </elements>
- </views>
- <views name="EReferenceFilter">
- <elements xsi:type="eef-views:ElementEditor" name="body">
- <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.emfpropertiestoolkit.EMFPropertiesToolkit#//@widgets.4"/>
- </elements>
- </views>
- </eef-views:ViewsRepository>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:eef-model="http://www.eclipse.org/emf/eef/editingmodel/1.0.0" xmlns:eef-query="http://www.eclipse.org/emf/eef/query/1.0" xmlns:eef-views="http://www.eclipse.org/emf/eef/views/1.0.0">
+ <eef-model:PropertiesEditingModel name="EditingModel of the EditingModel model" id="org.eclipse.emf.eef.runtime.EditingModel">
+ <bindings>
+ <eClass href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//EClassBinding"/>
+ <views xsi:type="eef-model:EObjectView" definition="/1/@views.0"/>
+ <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
+ <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.0/@elements.0"/>
+ <feature xsi:type="ecore:EReference" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//EClassBinding/eClass"/>
+ </propertyBindings>
+ <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
+ <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.0/@elements.1"/>
+ <feature xsi:type="ecore:EReference" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//EClassBinding/views"/>
+ </propertyBindings>
+ </bindings>
+ <bindings>
+ <eClass href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//PropertiesEditingModel"/>
+ <views xsi:type="eef-model:EObjectView" definition="/1/@views.1"/>
+ <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
+ <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.1/@elements.0/@elements.0"/>
+ <feature xsi:type="ecore:EAttribute" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//PropertiesEditingModel/id"/>
+ </propertyBindings>
+ <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
+ <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.1/@elements.0/@elements.1"/>
+ <feature xsi:type="ecore:EAttribute" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//PropertiesEditingModel/name"/>
+ </propertyBindings>
+ <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
+ <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.1/@elements.0/@elements.2"/>
+ <feature xsi:type="ecore:EReference" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//PropertiesEditingModel/involvedModels"/>
+ </propertyBindings>
+ </bindings>
+ <bindings>
+ <eClass href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//EObjectView"/>
+ <views xsi:type="eef-model:EObjectView" definition="/1/@views.2"/>
+ <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
+ <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.2/@elements.0"/>
+ <feature xsi:type="ecore:EReference" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//EObjectView/definition"/>
+ </propertyBindings>
+ </bindings>
+ <bindings>
+ <eClass href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//EStructuralFeatureBinding"/>
+ <views xsi:type="eef-model:EObjectView" definition="/1/@views.3"/>
+ <views xsi:type="eef-model:EObjectView" definition="/1/@views.6"/>
+ <views xsi:type="eef-model:EObjectView" definition="/1/@views.5"/>
+ <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
+ <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.3/@elements.0"/>
+ <settings xsi:type="eef-model:EReferenceFilter">
+ <body xsi:type="eef-query:JavaBody" qualifiedClass="org.eclipse.emf.eef.editor.internal.filters.PropertyBindingFilter" method="bindableFeature"/>
+ </settings>
+ <feature xsi:type="ecore:EReference" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//EStructuralFeatureBinding/feature"/>
+ </propertyBindings>
+ <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
+ <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.3/@elements.1"/>
+ <feature xsi:type="ecore:EReference" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//PropertyBinding/editor"/>
+ </propertyBindings>
+ <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
+ <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.5/@elements.0"/>
+ <feature xsi:type="ecore:EReference" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//PropertyBinding/subPropertyBindings"/>
+ </propertyBindings>
+ <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
+ <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.6/@elements.0"/>
+ <feature xsi:type="ecore:EReference" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//PropertyBinding/settings"/>
+ </propertyBindings>
+ </bindings>
+ <bindings>
+ <eClass href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//EObjectEditor"/>
+ <views xsi:type="eef-model:EObjectView" definition="/1/@views.4"/>
+ <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
+ <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.4/@elements.0"/>
+ <settings xsi:type="eef-model:EReferenceFilter">
+ <body xsi:type="eef-query:JavaBody" qualifiedClass="org.eclipse.emf.eef.editor.internal.filters.EObjectEditorFilter" method="bindableEditor"/>
+ </settings>
+ <feature xsi:type="ecore:EReference" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//EObjectEditor/definition"/>
+ </propertyBindings>
+ </bindings>
+ <bindings>
+ <eClass href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//EReferenceFilter"/>
+ <views xsi:type="eef-model:EObjectView" definition="/1/@views.8"/>
+ <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
+ <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.8/@elements.0"/>
+ <feature xsi:type="ecore:EReference" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/query.ecore#//Query/body"/>
+ </propertyBindings>
+ </bindings>
+ <bindings>
+ <eClass href="platform:/plugin/org.eclipse.emf.eef.runtime/model/query.ecore#//JavaBody"/>
+ <views xsi:type="eef-model:EObjectView" definition="/1/@views.7"/>
+ <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
+ <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.7/@elements.0/@elements.0"/>
+ <feature xsi:type="ecore:EAttribute" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/query.ecore#//JavaBody/qualifiedClass"/>
+ </propertyBindings>
+ <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
+ <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.7/@elements.1/@elements.0"/>
+ <feature xsi:type="ecore:EAttribute" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/query.ecore#//JavaBody/method"/>
+ </propertyBindings>
+ <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
+ <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.7/@elements.1/@elements.1"/>
+ <feature xsi:type="ecore:EAttribute" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/query.ecore#//JavaBody/static"/>
+ </propertyBindings>
+ </bindings>
+ <bindings>
+ <eClass href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//PropertyBinding"/>
+ <views xsi:type="eef-model:EObjectView" definition="/1/@views.9"/>
+ <views xsi:type="eef-model:EObjectView" definition="/1/@views.6"/>
+ <views xsi:type="eef-model:EObjectView" definition="/1/@views.5"/>
+ <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
+ <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.9/@elements.0"/>
+ <feature xsi:type="ecore:EAttribute" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//PropertyBinding/bindingCustomizer"/>
+ </propertyBindings>
+ <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
+ <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.9/@elements.1"/>
+ <feature xsi:type="ecore:EReference" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//PropertyBinding/editor"/>
+ </propertyBindings>
+ <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
+ <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.5/@elements.0"/>
+ <feature xsi:type="ecore:EReference" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//PropertyBinding/subPropertyBindings"/>
+ </propertyBindings>
+ <propertyBindings xsi:type="eef-model:EStructuralFeatureBinding">
+ <editor xsi:type="eef-model:EObjectEditor" definition="/1/@views.6/@elements.0"/>
+ <feature xsi:type="ecore:EReference" href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#//PropertyBinding/settings"/>
+ </propertyBindings>
+ </bindings>
+ <involvedModels href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.genmodel#/"/>
+ <involvedModels href="platform:/plugin/org.eclipse.emf.eef.runtime/model/editingModel.ecore#/"/>
+ <involvedModels href="platform:/plugin/org.eclipse.emf.eef.runtime/model/query.genmodel#/"/>
+ <involvedModels href="platform:/plugin/org.eclipse.emf.eef.runtime/model/query.ecore#/"/>
+ </eef-model:PropertiesEditingModel>
+ <eef-views:ViewsRepository name="editingModel">
+ <views name="Binding">
+ <elements xsi:type="eef-views:ElementEditor" name="eClass">
+ <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.emfpropertiestoolkit.EMFPropertiesToolkit#//@widgets.1"/>
+ </elements>
+ <elements xsi:type="eef-views:ElementEditor" name="views">
+ <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.emfpropertiestoolkit.EMFPropertiesToolkit#//@widgets.2"/>
+ </elements>
+ </views>
+ <views name="Editing Model">
+ <elements xsi:type="eef-views:Container" name="Editing Model">
+ <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.swttoolkit.SWTToolkit#//@widgets.2"/>
+ <elements xsi:type="eef-views:ElementEditor" name="id">
+ <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.swttoolkit.SWTToolkit#//@widgets.0"/>
+ </elements>
+ <elements xsi:type="eef-views:ElementEditor" name="name">
+ <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.swttoolkit.SWTToolkit#//@widgets.0"/>
+ </elements>
+ <elements xsi:type="eef-views:ElementEditor" name="Involved Models">
+ <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.emfpropertiestoolkit.EMFPropertiesToolkit#//@widgets.0"/>
+ </elements>
+ </elements>
+ </views>
+ <views name="EObjectView">
+ <elements xsi:type="eef-views:ElementEditor" name="definition">
+ <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.emfpropertiestoolkit.EMFPropertiesToolkit#//@widgets.1"/>
+ </elements>
+ </views>
+ <views name="Property Binding Feature">
+ <elements xsi:type="eef-views:ElementEditor" name="feature">
+ <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.emfpropertiestoolkit.EMFPropertiesToolkit#//@widgets.1"/>
+ </elements>
+ <elements xsi:type="eef-views:ElementEditor" name="Editor">
+ <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.emfpropertiestoolkit.EMFPropertiesToolkit#//@widgets.4"/>
+ </elements>
+ </views>
+ <views name="EObjectEditor">
+ <elements xsi:type="eef-views:ElementEditor" name="definition">
+ <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.emfpropertiestoolkit.EMFPropertiesToolkit#//@widgets.1"/>
+ </elements>
+ </views>
+ <views name="Subbindings">
+ <elements xsi:type="eef-views:ElementEditor" name="subbindings">
+ <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.emfpropertiestoolkit.EMFPropertiesToolkit#//@widgets.2"/>
+ </elements>
+ </views>
+ <views name="Settings">
+ <elements xsi:type="eef-views:ElementEditor" name="settings">
+ <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.emfpropertiestoolkit.EMFPropertiesToolkit#//@widgets.2"/>
+ </elements>
+ </views>
+ <views name="JavaBody">
+ <elements xsi:type="eef-views:Container" name="Class">
+ <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.swttoolkit.SWTToolkit#//@widgets.2"/>
+ <elements xsi:type="eef-views:ElementEditor" name="Qualified Class">
+ <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.jdt/org.eclipse.emf.eef.runtime.ui.jdt.jdttoolkit.JDTToolkit#//@widgets.0"/>
+ </elements>
+ </elements>
+ <elements xsi:type="eef-views:Container" name="Method">
+ <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.swttoolkit.SWTToolkit#//@widgets.2"/>
+ <elements xsi:type="eef-views:ElementEditor" name="method">
+ <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.swttoolkit.SWTToolkit#//@widgets.0"/>
+ </elements>
+ <elements xsi:type="eef-views:ElementEditor" name="static">
+ <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.swttoolkit.SWTToolkit#//@widgets.1"/>
+ </elements>
+ </elements>
+ </views>
+ <views name="EReferenceFilter">
+ <elements xsi:type="eef-views:ElementEditor" name="body">
+ <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.emfpropertiestoolkit.EMFPropertiesToolkit#//@widgets.4"/>
+ </elements>
+ </views>
+ <views name="PropertyBinding">
+ <elements xsi:type="eef-views:ElementEditor" name="bindingCustomizer">
+ <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.jdt/org.eclipse.emf.eef.runtime.ui.jdt.jdttoolkit.JDTToolkit#//@widgets.0"/>
+ </elements>
+ <elements xsi:type="eef-views:ElementEditor" name="Editor">
+ <representation href="eeftoolkit:/org.eclipse.emf.eef.runtime.ui.swt/org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.impl.emfpropertiestoolkit.EMFPropertiesToolkit#//@widgets.4"/>
+ </elements>
+ </views>
+ </eef-views:ViewsRepository>
+</xmi:XMI>
diff --git a/plugins/org.eclipse.emf.eef.editor/src-gen/org/eclipse/emf/eef/runtime/editingModel/presentation/EditingModelModelWizard.java b/plugins/org.eclipse.emf.eef.editor/src-gen/org/eclipse/emf/eef/runtime/editingModel/presentation/EditingModelModelWizard.java
index 68af546a7..fab5205e5 100644
--- a/plugins/org.eclipse.emf.eef.editor/src-gen/org/eclipse/emf/eef/runtime/editingModel/presentation/EditingModelModelWizard.java
+++ b/plugins/org.eclipse.emf.eef.editor/src-gen/org/eclipse/emf/eef/runtime/editingModel/presentation/EditingModelModelWizard.java
@@ -59,8 +59,11 @@ import org.eclipse.emf.eef.runtime.editingModel.presentation.pages.EditingModelM
import org.eclipse.emf.eef.runtime.editingModel.presentation.pages.ModelToChoosePage;
import org.eclipse.emf.eef.runtime.editingModel.presentation.pages.ModelToChoosePage.ModelInitializationChangeListener;
import org.eclipse.emf.eef.runtime.editingModel.provider.EditingModelItemProviderAdapterFactory;
+import org.eclipse.emf.eef.runtime.internal.editingModel.EditingModelEnvironmentImpl;
import org.eclipse.emf.eef.runtime.ui.swt.internal.binding.settings.GenericBindingSettings;
+import org.eclipse.emf.eef.runtime.ui.swt.internal.binding.settings.GenericBindingSettingsUtil;
import org.eclipse.emf.eef.runtime.util.EEFURIAwareResourceSet;
+import org.eclipse.emf.eef.runtime.util.EMFServiceProvider;
import org.eclipse.emf.eef.runtime.util.OSGiHelper;
import org.eclipse.emf.eef.views.ViewsFactory;
import org.eclipse.emf.eef.views.ViewsPackage;
@@ -337,8 +340,8 @@ public class EditingModelModelWizard extends Wizard implements INewWizard {
setMetamodelePackage(ePackage);
PropertiesEditingModel editingModel = null;
+ BundleContext bundleContext = FrameworkUtil.getBundle(getClass()).getBundleContext();
if (initializingMethodPage.initModel()) {
- BundleContext bundleContext = FrameworkUtil.getBundle(getClass()).getBundleContext();
EEFBindingSettingsProvider bindingSettingsProvider = OSGiHelper.getService(bundleContext, EEFBindingSettingsProvider.class);
EEFBindingSettings<?> bindingSettings = bindingSettingsProvider.getBindingSettings(ePackage);
@@ -358,6 +361,10 @@ public class EditingModelModelWizard extends Wizard implements INewWizard {
}
editingModel = bindingSettings.getEditingModel(ePackage);
+ } else {
+ EMFServiceProvider emfServiceProvider = OSGiHelper.getService(bundleContext, EMFServiceProvider.class);
+ Resource propertiesEditingModelResource = GenericBindingSettingsUtil.initPropertiesEditingModel(ePackage, emfServiceProvider, new EditingModelEnvironmentImpl(null));
+ editingModel = GenericBindingSettingsUtil.getPropertiesEditionModel(propertiesEditingModelResource);
}
if (editingModel != null) {
diff --git a/plugins/org.eclipse.emf.eef.editor/src-gen/org/eclipse/emf/eef/runtime/editingModel/provider/EClassBindingItemProvider.java b/plugins/org.eclipse.emf.eef.editor/src-gen/org/eclipse/emf/eef/runtime/editingModel/provider/EClassBindingItemProvider.java
index 602fd8c48..92762d636 100644
--- a/plugins/org.eclipse.emf.eef.editor/src-gen/org/eclipse/emf/eef/runtime/editingModel/provider/EClassBindingItemProvider.java
+++ b/plugins/org.eclipse.emf.eef.editor/src-gen/org/eclipse/emf/eef/runtime/editingModel/provider/EClassBindingItemProvider.java
@@ -215,8 +215,8 @@ public class EClassBindingItemProvider extends ItemProviderAdapter implements IE
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
- // newChildDescriptors.add(createChildParameter(EditingModelPackage.Literals.ECLASS_BINDING__VIEWS,
- // EditingModelFactory.eINSTANCE.createEObjectView()));
+ newChildDescriptors.add(createChildParameter(EditingModelPackage.Literals.ECLASS_BINDING__VIEWS,
+ EditingModelFactory.eINSTANCE.createEObjectView()));
// newChildDescriptors.add
// (createChildParameter
diff --git a/plugins/org.eclipse.emf.eef.editor/src-gen/org/eclipse/emf/eef/runtime/editingModel/provider/PropertyBindingItemProvider.java b/plugins/org.eclipse.emf.eef.editor/src-gen/org/eclipse/emf/eef/runtime/editingModel/provider/PropertyBindingItemProvider.java
index 3e89ffc3a..bbdbf202b 100644
--- a/plugins/org.eclipse.emf.eef.editor/src-gen/org/eclipse/emf/eef/runtime/editingModel/provider/PropertyBindingItemProvider.java
+++ b/plugins/org.eclipse.emf.eef.editor/src-gen/org/eclipse/emf/eef/runtime/editingModel/provider/PropertyBindingItemProvider.java
@@ -6,7 +6,6 @@
*/
package org.eclipse.emf.eef.runtime.editingModel.provider;
-
import java.util.Collection;
import java.util.List;
@@ -30,23 +29,17 @@ import org.eclipse.emf.eef.runtime.editingModel.EditingModelPackage;
import org.eclipse.emf.eef.runtime.editingModel.PropertyBinding;
/**
- * This is the item provider adapter for a {@link org.eclipse.emf.eef.runtime.editingModel.PropertyBinding} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
+ * This is the item provider adapter for a
+ * {@link org.eclipse.emf.eef.runtime.editingModel.PropertyBinding} object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
* @generated
*/
-public class PropertyBindingItemProvider
- extends ItemProviderAdapter
- implements
- IEditingDomainItemProvider,
- IStructuredItemContentProvider,
- ITreeItemContentProvider,
- IItemLabelProvider,
- IItemPropertySource {
+public class PropertyBindingItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
/**
- * This constructs an instance from a factory and a notifier.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
* @generated
*/
public PropertyBindingItemProvider(AdapterFactory adapterFactory) {
@@ -54,9 +47,9 @@ public class PropertyBindingItemProvider
}
/**
- * This returns the property descriptors for the adapted class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
* @generated
*/
@Override
@@ -70,33 +63,24 @@ public class PropertyBindingItemProvider
}
/**
- * This adds a property descriptor for the Binding Customizer feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
+ * This adds a property descriptor for the Binding Customizer feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
* @generated
*/
protected void addBindingCustomizerPropertyDescriptor(Object object) {
- itemPropertyDescriptors.add
- (createItemPropertyDescriptor
- (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
- getResourceLocator(),
- getString("_UI_PropertyBinding_bindingCustomizer_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_PropertyBinding_bindingCustomizer_feature", "_UI_PropertyBinding_type"),
- EditingModelPackage.Literals.PROPERTY_BINDING__BINDING_CUSTOMIZER,
- true,
- false,
- false,
- ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
- null,
- null));
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), getResourceLocator(), getString("_UI_PropertyBinding_bindingCustomizer_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_PropertyBinding_bindingCustomizer_feature", "_UI_PropertyBinding_type"), EditingModelPackage.Literals.PROPERTY_BINDING__BINDING_CUSTOMIZER, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
}
/**
- * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
- * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
- * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
+ * This specifies how to implement {@link #getChildren} and is used to
+ * deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand},
+ * {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in
+ * {@link #createCommand}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
* @generated
*/
@Override
@@ -111,22 +95,23 @@ public class PropertyBindingItemProvider
}
/**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
* @generated
*/
@Override
protected EStructuralFeature getChildFeature(Object object, Object child) {
- // Check the type of the specified child object and return the proper feature to use for
+ // Check the type of the specified child object and return the proper
+ // feature to use for
// adding (see {@link AddCommand}) it as a child.
return super.getChildFeature(object, child);
}
/**
- * This returns PropertyBinding.gif.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
+ * This returns PropertyBinding.gif. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
* @generated
*/
@Override
@@ -135,8 +120,8 @@ public class PropertyBindingItemProvider
}
/**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
* @generated
*/
@Override
@@ -145,24 +130,23 @@ public class PropertyBindingItemProvider
}
/**
- * This returns the label text for the adapted class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
* @generated
*/
@Override
public String getText(Object object) {
- String label = ((PropertyBinding)object).getBindingCustomizer();
- return label == null || label.length() == 0 ?
- getString("_UI_PropertyBinding_type") :
- getString("_UI_PropertyBinding_type") + " " + label;
+ String label = ((PropertyBinding) object).getBindingCustomizer();
+ return label == null || label.length() == 0 ? getString("_UI_PropertyBinding_type") : getString("_UI_PropertyBinding_type") + " " + label;
}
/**
- * This handles model notifications by calling {@link #updateChildren} to update any cached
- * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
* @generated
*/
@Override
@@ -170,59 +154,50 @@ public class PropertyBindingItemProvider
updateChildren(notification);
switch (notification.getFeatureID(PropertyBinding.class)) {
- case EditingModelPackage.PROPERTY_BINDING__BINDING_CUSTOMIZER:
- fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
- return;
- case EditingModelPackage.PROPERTY_BINDING__EDITOR:
- case EditingModelPackage.PROPERTY_BINDING__SUB_PROPERTY_BINDINGS:
- case EditingModelPackage.PROPERTY_BINDING__SETTINGS:
- fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
- return;
+ case EditingModelPackage.PROPERTY_BINDING__BINDING_CUSTOMIZER:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ case EditingModelPackage.PROPERTY_BINDING__EDITOR:
+ case EditingModelPackage.PROPERTY_BINDING__SUB_PROPERTY_BINDINGS:
+ case EditingModelPackage.PROPERTY_BINDING__SETTINGS:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ return;
}
super.notifyChanged(notification);
}
/**
- * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
- * that can be created under this object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
* @generated NOT
*/
@Override
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
-// newChildDescriptors.add
-// (createChildParameter
-// (EditingModelPackage.Literals.PROPERTY_BINDING__EDITOR,
-// EditingModelFactory.eINSTANCE.createEObjectEditor()));
-//
-// newChildDescriptors.add
-// (createChildParameter
-// (EditingModelPackage.Literals.PROPERTY_BINDING__EDITOR,
-// EditingModelFactory.eINSTANCE.createJavaEditor()));
-
- newChildDescriptors.add
- (createChildParameter
- (EditingModelPackage.Literals.PROPERTY_BINDING__SUB_PROPERTY_BINDINGS,
- EditingModelFactory.eINSTANCE.createPropertyBinding()));
-
- newChildDescriptors.add
- (createChildParameter
- (EditingModelPackage.Literals.PROPERTY_BINDING__SUB_PROPERTY_BINDINGS,
- EditingModelFactory.eINSTANCE.createEStructuralFeatureBinding()));
-
- newChildDescriptors.add
- (createChildParameter
- (EditingModelPackage.Literals.PROPERTY_BINDING__SETTINGS,
- EditingModelFactory.eINSTANCE.createEReferenceFilter()));
+ newChildDescriptors.add(createChildParameter(EditingModelPackage.Literals.PROPERTY_BINDING__EDITOR, EditingModelFactory.eINSTANCE.createEObjectEditor()));
+
+ // newChildDescriptors.add
+ // (createChildParameter
+ // (EditingModelPackage.Literals.PROPERTY_BINDING__EDITOR,
+ // EditingModelFactory.eINSTANCE.createJavaEditor()));
+
+ newChildDescriptors.add(createChildParameter(EditingModelPackage.Literals.PROPERTY_BINDING__SUB_PROPERTY_BINDINGS, EditingModelFactory.eINSTANCE.createPropertyBinding()));
+
+ newChildDescriptors.add(createChildParameter(EditingModelPackage.Literals.PROPERTY_BINDING__SUB_PROPERTY_BINDINGS, EditingModelFactory.eINSTANCE.createEStructuralFeatureBinding()));
+
+ // newChildDescriptors.add
+ // (createChildParameter
+ // (EditingModelPackage.Literals.PROPERTY_BINDING__SETTINGS,
+ // EditingModelFactory.eINSTANCE.createEReferenceFilter()));
}
/**
- * Return the resource locator for this item provider's resources.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
* @generated
*/
@Override
diff --git a/plugins/org.eclipse.emf.eef.runtime.ui.jdt/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.eef.runtime.ui.jdt/META-INF/MANIFEST.MF
index b4dd77721..6282c58c3 100644
--- a/plugins/org.eclipse.emf.eef.runtime.ui.jdt/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.eef.runtime.ui.jdt/META-INF/MANIFEST.MF
@@ -17,10 +17,13 @@ Import-Package: com.google.common.collect;version="10.0.1",
org.eclipse.emf.ecore.resource,
org.eclipse.emf.eef.runtime.binding,
org.eclipse.emf.eef.runtime.context,
+ org.eclipse.emf.eef.runtime.context.impl,
org.eclipse.emf.eef.runtime.editingModel,
- org.eclipse.emf.eef.runtime.ui.swt.internal.view.notify,
org.eclipse.emf.eef.runtime.notify,
org.eclipse.emf.eef.runtime.ui.swt,
+ org.eclipse.emf.eef.runtime.ui.swt.e3.internal.view.propertyeditors.impl,
+ org.eclipse.emf.eef.runtime.ui.swt.e3.internal.widgets,
+ org.eclipse.emf.eef.runtime.ui.swt.internal.view.notify,
org.eclipse.emf.eef.runtime.ui.swt.internal.view.propertyeditors.impl,
org.eclipse.emf.eef.runtime.ui.swt.internal.widgets,
org.eclipse.emf.eef.runtime.ui.swt.internal.widgets.util,
@@ -46,6 +49,7 @@ Import-Package: com.google.common.collect;version="10.0.1",
org.eclipse.swt.layout,
org.eclipse.swt.widgets,
org.eclipse.ui,
- org.eclipse.ui.dialogs
+ org.eclipse.ui.dialogs,
+ org.eclipse.ui.forms.widgets
Service-Component: OSGI-INF/JDTToolkit.xml
Bundle-ActivationPolicy: lazy
diff --git a/plugins/org.eclipse.emf.eef.runtime.ui.jdt/src/org/eclipse/emf/eef/runtime/ui/jdt/internal/jdttoolkit/propertyeditors/JavaClassChooserFormPropertyEditor.java b/plugins/org.eclipse.emf.eef.runtime.ui.jdt/src/org/eclipse/emf/eef/runtime/ui/jdt/internal/jdttoolkit/propertyeditors/JavaClassChooserFormPropertyEditor.java
new file mode 100644
index 000000000..31ca510ff
--- /dev/null
+++ b/plugins/org.eclipse.emf.eef.runtime.ui.jdt/src/org/eclipse/emf/eef/runtime/ui/jdt/internal/jdttoolkit/propertyeditors/JavaClassChooserFormPropertyEditor.java
@@ -0,0 +1,129 @@
+/*******************************************************************************
+ * Copyright (c) 2013 Obeo.
+ * 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:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.emf.eef.runtime.ui.jdt.internal.jdttoolkit.propertyeditors;
+
+import java.util.Collection;
+
+import org.eclipse.emf.eef.runtime.context.PropertiesEditingContext;
+import org.eclipse.emf.eef.runtime.ui.swt.e3.internal.view.propertyeditors.impl.StandardFormPropertyEditor;
+import org.eclipse.emf.eef.runtime.ui.swt.e3.internal.widgets.FormSingleLinePropertyViewer;
+import org.eclipse.emf.eef.runtime.ui.swt.internal.widgets.SingleLinePropertyViewer;
+import org.eclipse.emf.eef.runtime.ui.swt.resources.ImageManager;
+import org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.FilterablePropertyEditor;
+import org.eclipse.emf.eef.runtime.ui.swt.viewer.EditUIProvidersFactory;
+import org.eclipse.emf.eef.runtime.ui.view.PropertiesEditingView;
+import org.eclipse.emf.eef.views.ElementEditor;
+import org.eclipse.jface.viewers.ViewerFilter;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+
+import com.google.common.collect.Lists;
+
+/**
+ * @author <a href="mailto:goulwen.lefur@obeo.fr">Goulwen Le Fur</a>
+ *
+ */
+public class JavaClassChooserFormPropertyEditor extends StandardFormPropertyEditor<SingleLinePropertyViewer> implements FilterablePropertyEditor {
+
+ private EditUIProvidersFactory editUIProvidersFactory;
+ private ImageManager imageManager;
+
+ private SingleLinePropertyViewer eComboEditor;
+
+ private Collection<ViewerFilter> filters;
+
+ /**
+ * @param view
+ * @param elementEditor
+ * @param imageManager
+ */
+ public JavaClassChooserFormPropertyEditor(EditUIProvidersFactory editUIProvidersFactory, ImageManager imageManager, PropertiesEditingView<Composite> view, ElementEditor elementEditor) {
+ super(view, elementEditor);
+ this.editUIProvidersFactory = editUIProvidersFactory;
+ this.imageManager = imageManager;
+ this.filters = Lists.newArrayList();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.eef.runtime.ui.view.propertyeditors.PropertyEditorViewer#getViewer()
+ */
+ public SingleLinePropertyViewer getViewer() {
+ return eComboEditor;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.FilterablePropertyEditor#addFilter(org.eclipse.jface.viewers.ViewerFilter)
+ */
+ public void addFilter(ViewerFilter filter) {
+ filters.add(filter);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.FilterablePropertyEditor#removeFilter(org.eclipse.jface.viewers.ViewerFilter)
+ */
+ public void removeFilter(ViewerFilter filter) {
+ filters.remove(filter);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.eef.runtime.ui.swt.view.propertyeditors.FilterablePropertyEditor#getFilters()
+ */
+ public Collection<ViewerFilter> getFilters() {
+ return filters;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.eef.runtime.ui.swt.e3.internal.view.propertyeditors.impl.StandardFormPropertyEditor#lock()
+ */
+ @Override
+ public void lock() {
+ eComboEditor.setLocked(true);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.eef.runtime.ui.swt.e3.internal.view.propertyeditors.impl.StandardFormPropertyEditor#unlock()
+ */
+ @Override
+ public void unlock() {
+ eComboEditor.setLocked(false);
+ }
+
+ /**
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.emf.eef.runtime.ui.swt.e3.internal.view.propertyeditors.impl.StandardFormPropertyEditor#createEditorContents(org.eclipse.ui.forms.widgets.FormToolkit,
+ * org.eclipse.swt.widgets.Composite)
+ */
+ @Override
+ protected void createEditorContents(FormToolkit toolkit, Composite parent) {
+ eComboEditor = new FormSingleLinePropertyViewer(toolkit, parent, SWT.BORDER);
+ PropertiesEditingContext editingContext = view.getEditingComponent().getEditingContext();
+ eComboEditor.setLabelProvider(editUIProvidersFactory.createLabelProvider(editingContext.getAdapterFactory()));
+ eComboEditor.setImageManager(imageManager);
+ eComboEditor.createContents();
+ GridData layoutData = new GridData(GridData.FILL_HORIZONTAL);
+ eComboEditor.getControl().setLayoutData(layoutData);
+ }
+}
diff --git a/plugins/org.eclipse.emf.eef.runtime.ui.jdt/src/org/eclipse/emf/eef/runtime/ui/jdt/internal/jdttoolkit/propertyeditors/JavaClassChooserPropertyEditor.java b/plugins/org.eclipse.emf.eef.runtime.ui.jdt/src/org/eclipse/emf/eef/runtime/ui/jdt/internal/jdttoolkit/propertyeditors/JavaClassChooserPropertyEditor.java
index 677ac2998..86d710f14 100644
--- a/plugins/org.eclipse.emf.eef.runtime.ui.jdt/src/org/eclipse/emf/eef/runtime/ui/jdt/internal/jdttoolkit/propertyeditors/JavaClassChooserPropertyEditor.java
+++ b/plugins/org.eclipse.emf.eef.runtime.ui.jdt/src/org/eclipse/emf/eef/runtime/ui/jdt/internal/jdttoolkit/propertyeditors/JavaClassChooserPropertyEditor.java
@@ -48,7 +48,6 @@ public class JavaClassChooserPropertyEditor extends PropertyEditorImpl implement
protected PropertyEditorViewer<SingleLinePropertyViewer> propertyEditorViewer;
private SingleLinePropertyViewerListener listener;
-
/**
* @param view
* @param elementEditor
@@ -63,6 +62,7 @@ public class JavaClassChooserPropertyEditor extends PropertyEditorImpl implement
/**
* {@inheritDoc}
+ *
* @see org.eclipse.emf.eef.runtime.ui.view.propertyeditors.PropertyEditor#init()
*/
public void init() {
@@ -75,6 +75,7 @@ public class JavaClassChooserPropertyEditor extends PropertyEditorImpl implement
/**
* {@inheritDoc}
+ *
* @see org.eclipse.emf.eef.runtime.ui.view.propertyeditors.PropertyEditor#getPropertyEditorViewer()
*/
public PropertyEditorViewer<?> getPropertyEditorViewer() {
@@ -83,6 +84,7 @@ public class JavaClassChooserPropertyEditor extends PropertyEditorImpl implement
/**
* {@inheritDoc}
+ *
* @see org.eclipse.emf.eef.runtime.ui.view.propertyeditors.MonovaluedPropertyEditor#setValue(java.lang.Object)
*/
public void setValue(Object value) {
@@ -93,11 +95,12 @@ public class JavaClassChooserPropertyEditor extends PropertyEditorImpl implement
/**
* {@inheritDoc}
+ *
* @see org.eclipse.emf.eef.runtime.ui.view.propertyeditors.MonovaluedPropertyEditor#unsetValue()
*/
public void unsetValue() {
listener.disable();
- propertyEditorViewer.getViewer().setInput(null);
+ propertyEditorViewer.getViewer().setInput(null);
listener.enable();
}
@@ -110,35 +113,37 @@ public class JavaClassChooserPropertyEditor extends PropertyEditorImpl implement
/**
* {@inheritDoc}
+ *
* @see org.eclipse.emf.eef.runtime.ui.widgets.EComboEditor.EComboListener#set()
*/
public void set() {
IJavaElement[] elements = new IJavaElement[] { getContainingProject() };
IJavaSearchScope scope = SearchEngine.createJavaSearchScope(elements);
FilteredTypesSelectionDialog dialog = new FilteredTypesSelectionDialog(view.getContents().getShell(), false, PlatformUI.getWorkbench().getProgressService(), scope, IJavaSearchConstants.CLASS);
+ dialog.setInitialPattern(viewer.getCurrentValue());
dialog.open();
Object result = dialog.getFirstResult();
if (result instanceof IType) {
- IType javaClass = (IType)result;
- propertyEditor.firePropertiesChanged(view.getEditingComponent(), new PropertiesEditingEventImpl(view, elementEditor, PropertiesEditingEvent.SET, null, javaClass.getClass().getName()));
+ IType javaClass = (IType) result;
+ propertyEditor.firePropertiesChanged(view.getEditingComponent(), new PropertiesEditingEventImpl(view, elementEditor, PropertiesEditingEvent.SET, null, javaClass.getFullyQualifiedName('.')));
}
}
/**
* {@inheritDoc}
+ *
* @see org.eclipse.emf.eef.runtime.ui.widgets.EComboEditor.EComboListener#clear()
*/
public void clear() {
firePropertiesChanged(view.getEditingComponent(), new PropertiesEditingEventImpl(view, elementEditor, PropertiesEditingEvent.UNSET, null, null));
propertyEditorViewer.getViewer().refresh();
}
-
+
};
propertyEditorViewer.getViewer().addSingleLinePropertyViewerListener(listener);
}
}
-
private IJavaProject getContainingProject() {
URI uri = view.getEditingComponent().getEObject().eResource().getURI();
if (uri.isPlatformResource()) {
@@ -148,7 +153,7 @@ public class JavaClassChooserPropertyEditor extends PropertyEditorImpl implement
IJavaProject javaProject = manager.getJavaModel().getJavaProject(project);
return javaProject;
} else {
- //TODO: for the moment I can't handle this case.
+ // TODO: for the moment I can't handle this case.
}
return null;
diff --git a/plugins/org.eclipse.emf.eef.runtime.ui.jdt/src/org/eclipse/emf/eef/runtime/ui/jdt/internal/jdttoolkit/propertyeditors/JavaClassChooserPropertyEditorFactory.java b/plugins/org.eclipse.emf.eef.runtime.ui.jdt/src/org/eclipse/emf/eef/runtime/ui/jdt/internal/jdttoolkit/propertyeditors/JavaClassChooserPropertyEditorFactory.java
index 140469699..7bf6dc153 100644
--- a/plugins/org.eclipse.emf.eef.runtime.ui.jdt/src/org/eclipse/emf/eef/runtime/ui/jdt/internal/jdttoolkit/propertyeditors/JavaClassChooserPropertyEditorFactory.java
+++ b/plugins/org.eclipse.emf.eef.runtime.ui.jdt/src/org/eclipse/emf/eef/runtime/ui/jdt/internal/jdttoolkit/propertyeditors/JavaClassChooserPropertyEditorFactory.java
@@ -13,6 +13,7 @@ package org.eclipse.emf.eef.runtime.ui.jdt.internal.jdttoolkit.propertyeditors;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.eef.runtime.ui.jdt.jdttoolkit.JDTToolkit;
+import org.eclipse.emf.eef.runtime.ui.swt.EEFSWTConstants;
import org.eclipse.emf.eef.runtime.ui.view.PropertiesEditingView;
import org.eclipse.emf.eef.runtime.ui.view.propertyeditors.PropertyEditor;
import org.eclipse.emf.eef.runtime.ui.view.propertyeditors.impl.WidgetPropertyEditorFactoryImpl;
@@ -20,6 +21,7 @@ import org.eclipse.emf.eef.views.ElementEditor;
import org.eclipse.emf.eef.views.toolkits.ToolkitsFactory;
import org.eclipse.emf.eef.views.toolkits.Widget;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.widgets.FormToolkit;
/**
* @author <a href="mailto:goulwen.lefur@obeo.fr">Goulwen Le Fur</a>
@@ -67,17 +69,14 @@ public class JavaClassChooserPropertyEditorFactory extends WidgetPropertyEditorF
*/
@SuppressWarnings("unchecked")
protected PropertyEditor createPropertyEditor(PropertyEditorContext editorContext) {
- return new JavaClassChooserPropertyEditor(
- toolkit.getEEFEditingServiceProvider(),
- (PropertiesEditingView<Composite>) editorContext.view,
- (ElementEditor) editorContext.viewElement,
- new JavaClassChooserSWTPropertyEditor(
- toolkit.getEditUIProvidersFactory(),
- toolkit.getImageManager(),
- (PropertiesEditingView<Composite>) editorContext.view,
- (ElementEditor) editorContext.viewElement
- )
- );
+ FormToolkit formtoolkit = editorContext.view.getEditingComponent().getEditingContext().getOptions().getOption(EEFSWTConstants.FORM_TOOLKIT);
+ if (formtoolkit != null) {
+ return new JavaClassChooserPropertyEditor(toolkit.getEEFEditingServiceProvider(), (PropertiesEditingView<Composite>) editorContext.view, (ElementEditor) editorContext.viewElement, new JavaClassChooserFormPropertyEditor(toolkit.getEditUIProvidersFactory(), toolkit.getImageManager(),
+ (PropertiesEditingView<Composite>) editorContext.view, (ElementEditor) editorContext.viewElement));
+ } else {
+ return new JavaClassChooserPropertyEditor(toolkit.getEEFEditingServiceProvider(), (PropertiesEditingView<Composite>) editorContext.view, (ElementEditor) editorContext.viewElement, new JavaClassChooserSWTPropertyEditor(toolkit.getEditUIProvidersFactory(), toolkit.getImageManager(),
+ (PropertiesEditingView<Composite>) editorContext.view, (ElementEditor) editorContext.viewElement));
+ }
}
/**
diff --git a/plugins/org.eclipse.emf.eef.runtime.ui.swt.e3/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.eef.runtime.ui.swt.e3/META-INF/MANIFEST.MF
index eff2dee46..6ef368317 100644
--- a/plugins/org.eclipse.emf.eef.runtime.ui.swt.e3/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.eef.runtime.ui.swt.e3/META-INF/MANIFEST.MF
@@ -104,8 +104,10 @@ Export-Package: org.eclipse.emf.eef.runtime.ui.swt.e3,
org.eclipse.emf.eef.runtime.ui.swt.e3.internal.util;x-friends:="org.eclipse.emf.eef.runtime.tests",
org.eclipse.emf.eef.runtime.ui.swt.e3.internal.view.handle.editingview;x-friends:="org.eclipse.emf.eef.runtime.tests",
org.eclipse.emf.eef.runtime.ui.swt.e3.internal.view.impl;x-friends:="org.eclipse.emf.eef.runtime.tabbed",
+ org.eclipse.emf.eef.runtime.ui.swt.e3.internal.view.propertyeditors.impl;x-friends:="org.eclipse.emf.eef.runtime.ui.jdt",
org.eclipse.emf.eef.runtime.ui.swt.e3.internal.view.propertyeditors.impl.emfpropertiestoolkit;x-friends:="org.eclipse.emf.eef.runtime.tests",
org.eclipse.emf.eef.runtime.ui.swt.e3.internal.view.propertyeditors.impl.swttoolkit;x-friends:="org.eclipse.emf.eef.runtime.tests",
+ org.eclipse.emf.eef.runtime.ui.swt.e3.internal.widgets;x-friends:="org.eclipse.emf.eef.runtime.ui.jdt",
org.eclipse.emf.eef.runtime.ui.swt.e3.tabbed.view.providers,
org.eclipse.emf.eef.runtime.ui.swt.e3.tabbed.view.section,
org.eclipse.emf.eef.runtime.ui.swt.e3.view.propertyeditors,
diff --git a/plugins/org.eclipse.emf.eef.runtime.ui.swt.e3/src/org/eclipse/emf/eef/runtime/ui/swt/e3/internal/view/propertyeditors/impl/emfpropertiestoolkit/ecomboeditor/EComboE3PropertyEditor.java b/plugins/org.eclipse.emf.eef.runtime.ui.swt.e3/src/org/eclipse/emf/eef/runtime/ui/swt/e3/internal/view/propertyeditors/impl/emfpropertiestoolkit/ecomboeditor/EComboE3PropertyEditor.java
index ddca3b3de..6474b77f5 100644
--- a/plugins/org.eclipse.emf.eef.runtime.ui.swt.e3/src/org/eclipse/emf/eef/runtime/ui/swt/e3/internal/view/propertyeditors/impl/emfpropertiestoolkit/ecomboeditor/EComboE3PropertyEditor.java
+++ b/plugins/org.eclipse.emf.eef.runtime.ui.swt.e3/src/org/eclipse/emf/eef/runtime/ui/swt/e3/internal/view/propertyeditors/impl/emfpropertiestoolkit/ecomboeditor/EComboE3PropertyEditor.java
@@ -12,6 +12,8 @@ package org.eclipse.emf.eef.runtime.ui.swt.e3.internal.view.propertyeditors.impl
import java.util.Collection;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.eef.runtime.notify.PropertiesEditingEvent;
import org.eclipse.emf.eef.runtime.notify.PropertiesEditingEventImpl;
import org.eclipse.emf.eef.runtime.ui.swt.EEFSWTConstants;
@@ -27,6 +29,7 @@ import org.eclipse.emf.eef.runtime.ui.swt.viewer.EditUIProvidersFactory;
import org.eclipse.emf.eef.runtime.ui.swt.viewer.filters.ViewerFilterBuilderProvider;
import org.eclipse.emf.eef.runtime.ui.view.PropertiesEditingView;
import org.eclipse.emf.eef.runtime.ui.view.propertyeditors.PropertyEditorViewer;
+import org.eclipse.emf.eef.runtime.util.EEFEditingService;
import org.eclipse.emf.eef.runtime.util.EEFEditingServiceProvider;
import org.eclipse.emf.eef.runtime.util.EMFServiceProvider;
import org.eclipse.emf.eef.views.ElementEditor;
@@ -51,16 +54,14 @@ public class EComboE3PropertyEditor extends EComboPropertyEditor {
* @param elementEditor
* @param propertyEditorViewer
*/
- public EComboE3PropertyEditor(EMFServiceProvider emfServiceProvider, EEFEditingServiceProvider eefEditingServiceProvider,
- EditUIProvidersFactory editUIProvidersFactory, ImageManager imageManager, ViewerFilterBuilderProvider filterBuilderProvider,
- PropertiesEditingView<Composite> view, ElementEditor elementEditor,
- PropertyEditorViewer<SingleLinePropertyViewer> propertyEditorViewer) {
- super(emfServiceProvider, eefEditingServiceProvider, editUIProvidersFactory, imageManager, filterBuilderProvider, view,
- elementEditor, propertyEditorViewer);
+ public EComboE3PropertyEditor(EMFServiceProvider emfServiceProvider, EEFEditingServiceProvider eefEditingServiceProvider, EditUIProvidersFactory editUIProvidersFactory, ImageManager imageManager, ViewerFilterBuilderProvider filterBuilderProvider, PropertiesEditingView<Composite> view,
+ ElementEditor elementEditor, PropertyEditorViewer<SingleLinePropertyViewer> propertyEditorViewer) {
+ super(emfServiceProvider, eefEditingServiceProvider, editUIProvidersFactory, imageManager, filterBuilderProvider, view, elementEditor, propertyEditorViewer);
}
/**
* {@inheritDoc}
+ *
* @see org.eclipse.emf.eef.runtime.ui.swt.internal.view.propertyeditors.impl.emfpropertiestoolkit.ecomboeditor.EComboPropertyEditor#createPropertyViewerListener()
*/
@Override
@@ -70,25 +71,22 @@ public class EComboE3PropertyEditor extends EComboPropertyEditor {
public void set() {
if (isEnabled()) {
- EEFSelectionDialog dialog = new EEFSelectionDialogWithFilter(propertyEditorViewer.getViewer().getControl().getShell(), true);
+ EEFSelectionDialog dialog = new EEFSelectionDialogWithFilter(propertyEditorViewer.getViewer().getControl().getShell(), false);
dialog.setTitle("Choose the element to set to the reference:");
dialog.setAdapterFactory(view.getEditingComponent().getEditingContext().getAdapterFactory());
dialog.setEditUIProvidersFactory(editUIProvidersFactory);
dialog.setImageManager(imageManager);
- dialog.addFilter(
- new ChoiceOfValuesFilter(
- eefEditingServiceProvider,
- view.getEditingComponent().getEditingContext(),
- view.getEditingComponent().getEObject(),
- elementEditor,
- EEFSWTConstants.DEFAULT_SELECTION_MODE));
- Collection<ViewerFilter> filters = ((FilterablePropertyEditor)propertyEditorViewer).getFilters();
+ dialog.addFilter(new ChoiceOfValuesFilter(eefEditingServiceProvider, view.getEditingComponent().getEditingContext(), view.getEditingComponent().getEObject(), elementEditor, EEFSWTConstants.DEFAULT_SELECTION_MODE));
+ Collection<ViewerFilter> filters = ((FilterablePropertyEditor) propertyEditorViewer).getFilters();
if (!filters.isEmpty()) {
for (ViewerFilter viewerFilter : filters) {
dialog.addFilter(viewerFilter);
}
}
dialog.setInput(view.getViewService().getBestInput(view.getEditingComponent().getEObject()));
+ // set dialog selection if reference not empty
+ setSelectionToDialog(dialog);
+
if (dialog.open() == Window.OK) {
if (dialog.getSelection() != null) {
firePropertiesChanged(view.getEditingComponent(), new PropertiesEditingEventImpl(view, elementEditor, PropertiesEditingEvent.SET, null, dialog.getSelection()));
@@ -101,6 +99,23 @@ public class EComboE3PropertyEditor extends EComboPropertyEditor {
};
}
+ /**
+ * Set selection to dialog.
+ *
+ * @param dialog
+ * EEFSelectionDialog
+ */
+ public void setSelectionToDialog(EEFSelectionDialog dialog) {
+ EEFEditingService editingService = eefEditingServiceProvider.getEditingService(view.getEditingComponent().getEObject());
+ EStructuralFeature feature = editingService.featureFromEditor(view.getEditingComponent().getEditingContext(), elementEditor);
+ if (feature != null) {
+ Object eGet = view.getEditingComponent().getEObject().eGet(feature);
+ if (eGet instanceof EObject) {
+ dialog.setInitialSelection((EObject) eGet);
+ }
+ }
+ }
+
private static class DelegatingSingleLinePropertyViewerListener extends SingleLinePropertyViewerListener {
private SingleLinePropertyViewerListener delegatedListener;
diff --git a/plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/internal/binding/settings/GenericBindingSettings.java b/plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/internal/binding/settings/GenericBindingSettings.java
index cf6f950e4..51763469b 100644
--- a/plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/internal/binding/settings/GenericBindingSettings.java
+++ b/plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/internal/binding/settings/GenericBindingSettings.java
@@ -14,19 +14,15 @@ import java.util.HashMap;
import java.util.Map;
import org.eclipse.core.runtime.Status;
-import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.plugin.EcorePlugin;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceImpl;
import org.eclipse.emf.eef.runtime.binding.PropertyBindingCustomizer;
import org.eclipse.emf.eef.runtime.binding.settings.EEFBindingSettings;
import org.eclipse.emf.eef.runtime.editingModel.EClassBinding;
import org.eclipse.emf.eef.runtime.editingModel.EditingModelEnvironment;
-import org.eclipse.emf.eef.runtime.editingModel.EditingModelFactory;
import org.eclipse.emf.eef.runtime.editingModel.PropertiesEditingModel;
import org.eclipse.emf.eef.runtime.editingModel.View;
import org.eclipse.emf.eef.runtime.internal.editingModel.EditingModelEnvironmentImpl;
@@ -39,7 +35,6 @@ import org.eclipse.emf.eef.runtime.util.EMFServiceProvider;
import org.eclipse.emf.eef.runtime.view.handle.ViewHandler;
import org.eclipse.emf.eef.runtime.view.handle.ViewHandlerProvider;
import org.eclipse.emf.eef.runtime.view.lock.policies.EEFLockPolicy;
-import org.eclipse.emf.eef.views.ViewsFactory;
import org.eclipse.emf.eef.views.ViewsRepository;
import org.osgi.service.event.EventAdmin;
@@ -157,8 +152,8 @@ public class GenericBindingSettings implements EEFBindingSettings<PropertiesEdit
initResourceSet();
// get PropertiesEditingModel if exists, else create one.
Resource resource = getPropertiesEditingModel(eClass);
- propertiesEditingModel = getPropertiesEditionModel(resource);
- viewsRepository = getViewsRepository(resource);
+ propertiesEditingModel = GenericBindingSettingsUtil.getPropertiesEditionModel(resource);
+ viewsRepository = GenericBindingSettingsUtil.getViewsRepository(resource);
// get bindings
if (propertiesEditingModel != null && viewsRepository != null) {
// define EClass and EStruturalFeature bindings if do not exist.
@@ -168,52 +163,6 @@ public class GenericBindingSettings implements EEFBindingSettings<PropertiesEdit
}
/**
- * @param resource
- * @return viewsRepository
- */
- public ViewsRepository getViewsRepository(Resource resource) {
- if (resource.getContents().size() == 2 && resource.getContents().get(1) instanceof ViewsRepository) {
- return (ViewsRepository) resource.getContents().get(1);
- }
- return null;
- }
-
- /**
- * @param resource
- * Resource
- * @return propertiesEditingModel
- */
- public PropertiesEditingModel getPropertiesEditionModel(Resource resource) {
- if (resource.getContents().size() == 2 && resource.getContents().get(0) instanceof PropertiesEditingModel) {
- return (PropertiesEditingModel) resource.getContents().get(0);
- }
- return null;
- }
-
- /**
- * Get genmodel if exists.
- *
- * @param eObject
- * EObject
- * @param propertiesEditingModel
- * PropertiesEditingModel
- */
- protected void bindGenModel(EClass eObject, PropertiesEditingModel propertiesEditingModel) {
- URI uri = EcorePlugin.getEPackageNsURIToGenModelLocationMap().get(eObject.getEPackage().getNsURI());
- if (uri != null) {
- Resource genModelResource = getResourceSet().getResource(uri, true);
- if (!genModelResource.getContents().isEmpty()) {
- propertiesEditingModel.getInvolvedModels().add(genModelResource.getContents().get(0));
- }
- } else {
- // load Ecore resource
- if (eObject.eResource().getURI() != null) {
- getResourceSet().getResource(eObject.eResource().getURI(), true);
- }
- }
- }
-
- /**
* Defines bindings between EClass/ EStructuralFeatures and
* views/representations.
*
@@ -232,7 +181,7 @@ public class GenericBindingSettings implements EEFBindingSettings<PropertiesEdit
org.eclipse.emf.eef.views.View createdView = builder.createViewForEClassBinding(eObject);
// get eClass in environment resource set
- EPackage ePackage = getEPackageFromResourceSet(eObject);
+ EPackage ePackage = GenericBindingSettingsUtil.getEPackageFromResourceSet(eObject.getEPackage(), getEditingModelEnvironment());
EClass eClass = getEMFServiceProvider().getEMFService(ePackage).mapEClass(ePackage, eObject);
// create EClassBinding and link the createdView
@@ -252,68 +201,17 @@ public class GenericBindingSettings implements EEFBindingSettings<PropertiesEdit
}
/**
- * Get eObject ePackage
- *
- * @param eObject
- * EObject
- */
- protected EPackage getEPackageFromResourceSet(EClass eObject) {
- for (Resource resource : editingModelEnvironment.getResourceSet().getResources()) {
- for (EObject content : resource.getContents()) {
- if (content instanceof EPackage) {
- EPackage ePackageFromResourceSet = getEPackageFromResourceSet(((EPackage) content), eObject);
- if (ePackageFromResourceSet != null) {
- return ePackageFromResourceSet;
- }
- }
- }
- }
- return null;
- }
-
- private EPackage getEPackageFromResourceSet(EPackage ePackage, EClass eObject) {
- if (ePackage.getNsURI().equals(eObject.getEPackage().getNsURI())) {
- return ePackage;
- }
- for (EPackage subPackage : ePackage.getESubpackages()) {
- EPackage ePackageFromResourceSet = getEPackageFromResourceSet(subPackage, eObject);
- if (ePackageFromResourceSet != null) {
- return ePackageFromResourceSet;
- }
- }
- return null;
- }
-
- /**
* @param eObject
* EObject
* @return the existing PropertiesEditingModel if exists, else create one.
*/
private Resource getPropertiesEditingModel(EClass eObject) {
- PropertiesEditingModel propertiesEditingModel = null;
- Resource resource = null;
String uri = eObject.getEPackage().getNsURI();
+ Resource resource = null;
if (mapURI2PropertiesEditingModelResource.get(uri) == null) {
- propertiesEditingModel = EditingModelFactory.eINSTANCE.createPropertiesEditingModel();
- propertiesEditingModel.setId(PROPERTIES_EDITING_MODEL_ID);
- String modelName = PROPERTIES_EDITING_MODEL_NAME;
- if (eObject.getEPackage().getName() != null) {
- modelName = eObject.getEPackage().getName() + " " + modelName;
- }
- propertiesEditingModel.setName(modelName);
- propertiesEditingModel.setEMFServiceProvider(emfServiceProvider);
- resource = new ResourceImpl(URI.createURI(eObject.getEPackage().getNsURI() + ".editingModel"));
- resource.getContents().add(propertiesEditingModel);
- ViewsRepository viewsRepository = ViewsFactory.eINSTANCE.createViewsRepository();
- viewsRepository.setName(eObject.getEPackage().getName() + " View Repository");
- resource.getContents().add(viewsRepository);
+ resource = GenericBindingSettingsUtil.initPropertiesEditingModel(eObject.getEPackage(), getEMFServiceProvider(), getEditingModelEnvironment());
getResourceSet().getResources().add(resource);
mapURI2PropertiesEditingModelResource.put(uri, resource);
-
- // bind genmodel if exist
- bindGenModel(eObject, propertiesEditingModel);
- EPackage ePackage = getEPackageFromResourceSet(eObject);
- propertiesEditingModel.getInvolvedModels().add(ePackage);
} else {
resource = mapURI2PropertiesEditingModelResource.get(uri);
if (!getResourceSet().getResources().contains(resource)) {
@@ -386,7 +284,7 @@ public class GenericBindingSettings implements EEFBindingSettings<PropertiesEdit
* @see org.eclipse.emf.eef.runtime.binding.settings.EEFBindingSettings#getEditingModel(org.eclipse.emf.ecore.EPackage)
*/
public PropertiesEditingModel getEditingModel(EPackage ePackage) {
- return getPropertiesEditionModel(mapURI2PropertiesEditingModelResource.get(ePackage.getNsURI()));
+ return GenericBindingSettingsUtil.getPropertiesEditionModel(mapURI2PropertiesEditingModelResource.get(ePackage.getNsURI()));
}
/**
diff --git a/plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/internal/binding/settings/GenericBindingSettingsUtil.java b/plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/internal/binding/settings/GenericBindingSettingsUtil.java
new file mode 100644
index 000000000..ca61e6bf7
--- /dev/null
+++ b/plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/internal/binding/settings/GenericBindingSettingsUtil.java
@@ -0,0 +1,147 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Obeo.
+ * 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:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.emf.eef.runtime.ui.swt.internal.binding.settings;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceImpl;
+import org.eclipse.emf.eef.runtime.editingModel.EditingModelEnvironment;
+import org.eclipse.emf.eef.runtime.editingModel.EditingModelFactory;
+import org.eclipse.emf.eef.runtime.editingModel.PropertiesEditingModel;
+import org.eclipse.emf.eef.runtime.util.EMFServiceProvider;
+import org.eclipse.emf.eef.views.ViewsFactory;
+import org.eclipse.emf.eef.views.ViewsRepository;
+
+/**
+ * Generic binding settings for EObject.
+ *
+ * @author <a href="mailto:nathalie.lepine@obeo.fr">Nathalie Lepine</a>
+ *
+ */
+public class GenericBindingSettingsUtil {
+
+ public static final String PROPERTIES_EDITING_MODEL_NAME = "Binding Settings";
+ public static final String PROPERTIES_EDITING_MODEL_ID = "org.eclipse.emf.eef.runtime.ui.swt.genericBindingSetting";
+
+ /**
+ * @param resource
+ * @return viewsRepository
+ */
+ public static ViewsRepository getViewsRepository(Resource resource) {
+ if (resource.getContents().size() == 2 && resource.getContents().get(1) instanceof ViewsRepository) {
+ return (ViewsRepository) resource.getContents().get(1);
+ }
+ return null;
+ }
+
+ /**
+ * @param resource
+ * Resource
+ * @return propertiesEditingModel
+ */
+ public static PropertiesEditingModel getPropertiesEditionModel(Resource resource) {
+ if (resource.getContents().size() == 2 && resource.getContents().get(0) instanceof PropertiesEditingModel) {
+ return (PropertiesEditingModel) resource.getContents().get(0);
+ }
+ return null;
+ }
+
+ /**
+ * Get genmodel if exists.
+ *
+ * @param eObject
+ * EObject
+ * @param propertiesEditingModel
+ * PropertiesEditingModel
+ */
+ @SuppressWarnings("deprecation")
+ protected static void bindGenModel(EPackage eObject, PropertiesEditingModel propertiesEditingModel, ResourceSet resourceSet) {
+ URI uri = EcorePlugin.getEPackageNsURIToGenModelLocationMap().get(eObject.getNsURI());
+ if (uri != null) {
+ Resource genModelResource = resourceSet.getResource(uri, true);
+ if (!genModelResource.getContents().isEmpty()) {
+ propertiesEditingModel.getInvolvedModels().add(genModelResource.getContents().get(0));
+ }
+ } else {
+ // load Ecore resource
+ if (eObject.eResource().getURI() != null) {
+ resourceSet.getResource(eObject.eResource().getURI(), true);
+ }
+ }
+ }
+
+ /**
+ * Get eObject ePackage
+ *
+ * @param eObject
+ * EObject
+ */
+ protected static EPackage getEPackageFromResourceSet(EPackage eObject, EditingModelEnvironment editingModelEnvironment) {
+ for (Resource resource : editingModelEnvironment.getResourceSet().getResources()) {
+ for (EObject content : resource.getContents()) {
+ if (content instanceof EPackage) {
+ EPackage ePackageFromResourceSet = getEPackageFromResourceSet(((EPackage) content), eObject);
+ if (ePackageFromResourceSet != null) {
+ return ePackageFromResourceSet;
+ }
+ }
+ }
+ }
+ return null;
+ }
+
+ private static EPackage getEPackageFromResourceSet(EPackage ePackage, EPackage eObject) {
+ if (ePackage.getNsURI().equals(eObject.getNsURI())) {
+ return ePackage;
+ }
+ for (EPackage subPackage : ePackage.getESubpackages()) {
+ EPackage ePackageFromResourceSet = getEPackageFromResourceSet(subPackage, eObject);
+ if (ePackageFromResourceSet != null) {
+ return ePackageFromResourceSet;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Init PropertiesEditingModel.
+ *
+ * @param eClass
+ * @return PropertiesEditingModel Resource
+ */
+ public static Resource initPropertiesEditingModel(EPackage ePackage, EMFServiceProvider emfServiceProvider, EditingModelEnvironment editingModelEnvironment) {
+ PropertiesEditingModel propertiesEditingModel = null;
+ propertiesEditingModel = EditingModelFactory.eINSTANCE.createPropertiesEditingModel();
+ propertiesEditingModel.setId(PROPERTIES_EDITING_MODEL_ID);
+ String modelName = PROPERTIES_EDITING_MODEL_NAME;
+ if (ePackage.getName() != null) {
+ modelName = ePackage.getName() + " " + modelName;
+ }
+ propertiesEditingModel.setName(modelName);
+ propertiesEditingModel.setEMFServiceProvider(emfServiceProvider);
+ Resource resource = new ResourceImpl(URI.createURI(ePackage.getNsURI() + ".editingModel"));
+ resource.getContents().add(propertiesEditingModel);
+ ViewsRepository viewsRepository = ViewsFactory.eINSTANCE.createViewsRepository();
+ viewsRepository.setName(ePackage.getName() + " View Repository");
+ resource.getContents().add(viewsRepository);
+
+ // bind genmodel if exist
+ bindGenModel(ePackage, propertiesEditingModel, editingModelEnvironment.getResourceSet());
+ EPackage ePackageFromResourceSet = getEPackageFromResourceSet(ePackage, editingModelEnvironment);
+ propertiesEditingModel.getInvolvedModels().add(ePackageFromResourceSet);
+ return resource;
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/internal/view/propertyeditors/impl/emfpropertiestoolkit/ecomboeditor/EComboPropertyEditor.java b/plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/internal/view/propertyeditors/impl/emfpropertiestoolkit/ecomboeditor/EComboPropertyEditor.java
index f9c880163..5286c8ff6 100644
--- a/plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/internal/view/propertyeditors/impl/emfpropertiestoolkit/ecomboeditor/EComboPropertyEditor.java
+++ b/plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/internal/view/propertyeditors/impl/emfpropertiestoolkit/ecomboeditor/EComboPropertyEditor.java
@@ -57,7 +57,8 @@ public class EComboPropertyEditor extends PropertyEditorImpl implements Monovalu
protected PropertyEditorViewer<SingleLinePropertyViewer> propertyEditorViewer;
private SingleLinePropertyViewerListener listener;
- public EComboPropertyEditor(EMFServiceProvider emfServiceProvider, EEFEditingServiceProvider eefEditingServiceProvider, EditUIProvidersFactory editUIProvidersFactory, ImageManager imageManager, ViewerFilterBuilderProvider filterBuilderProvider, PropertiesEditingView<Composite> view, ElementEditor elementEditor, PropertyEditorViewer<SingleLinePropertyViewer> propertyEditorViewer) {
+ public EComboPropertyEditor(EMFServiceProvider emfServiceProvider, EEFEditingServiceProvider eefEditingServiceProvider, EditUIProvidersFactory editUIProvidersFactory, ImageManager imageManager, ViewerFilterBuilderProvider filterBuilderProvider, PropertiesEditingView<Composite> view,
+ ElementEditor elementEditor, PropertyEditorViewer<SingleLinePropertyViewer> propertyEditorViewer) {
this.emfServiceProvider = emfServiceProvider;
this.eefEditingServiceProvider = eefEditingServiceProvider;
this.editUIProvidersFactory = editUIProvidersFactory;
@@ -70,11 +71,13 @@ public class EComboPropertyEditor extends PropertyEditorImpl implements Monovalu
/**
* {@inheritDoc}
+ *
* @see org.eclipse.emf.eef.runtime.ui.view.propertyeditors.PropertyEditor#init()
*/
public void init() {
EEFViewerInput input = new EEFViewerInput(eefEditingServiceProvider, view.getEditingComponent().getEditingContext(), elementEditor);
propertyEditorViewer.getViewer().setInput(input);
+ propertyEditorViewer.getViewer().setValue();
PropertyBinding propertyBinding = view.getEditingComponent().getBinding().propertyBinding(elementEditor, view.getEditingComponent().getEditingContext().getOptions().autowire());
if (propertyBinding != null) {
EList<EditorSettings> settings = propertyBinding.getSettings();
@@ -82,7 +85,7 @@ public class EComboPropertyEditor extends PropertyEditorImpl implements Monovalu
if (editorSettings instanceof EReferenceFilter) {
EReferenceFilter eReferenceFilter = (EReferenceFilter) editorSettings;
ViewerFilter viewerFilter = filterBuilderProvider.getFilterBuilder(eReferenceFilter).buildFilter(view.getEditingComponent().getEditingContext(), view, eReferenceFilter);
- ((FilterablePropertyEditor)propertyEditorViewer).addFilter(viewerFilter);
+ ((FilterablePropertyEditor) propertyEditorViewer).addFilter(viewerFilter);
}
}
}
@@ -93,6 +96,7 @@ public class EComboPropertyEditor extends PropertyEditorImpl implements Monovalu
/**
* {@inheritDoc}
+ *
* @see org.eclipse.emf.eef.runtime.ui.view.propertyeditors.PropertyEditor#getPropertyEditorViewer()
*/
public PropertyEditorViewer<?> getPropertyEditorViewer() {
@@ -101,6 +105,7 @@ public class EComboPropertyEditor extends PropertyEditorImpl implements Monovalu
/**
* {@inheritDoc}
+ *
* @see org.eclipse.emf.eef.runtime.ui.view.propertyeditors.MonovaluedPropertyEditor#setValue(java.lang.Object)
*/
public void setValue(Object value) {
@@ -111,11 +116,12 @@ public class EComboPropertyEditor extends PropertyEditorImpl implements Monovalu
/**
* {@inheritDoc}
+ *
* @see org.eclipse.emf.eef.runtime.ui.view.propertyeditors.MonovaluedPropertyEditor#unsetValue()
*/
public void unsetValue() {
listener.disable();
- propertyEditorViewer.getViewer().setInput(null);
+ propertyEditorViewer.getViewer().setInput(null);
listener.enable();
}
@@ -130,14 +136,18 @@ public class EComboPropertyEditor extends PropertyEditorImpl implements Monovalu
}
/**
- * Creates the listener to add to the viewer in order to process viewer events.
- * @return the {@link SingleLinePropertyViewerListener} to add to the viewer.
+ * Creates the listener to add to the viewer in order to process viewer
+ * events.
+ *
+ * @return the {@link SingleLinePropertyViewerListener} to add to the
+ * viewer.
*/
protected SingleLinePropertyViewerListener createPropertyViewerListener() {
return new SingleLinePropertyViewerListener(this, view, elementEditor, propertyEditorViewer.getViewer()) {
/**
* {@inheritDoc}
+ *
* @see org.eclipse.emf.eef.runtime.ui.widgets.EComboEditor.EComboListener#set()
*/
public void set() {
@@ -147,14 +157,8 @@ public class EComboPropertyEditor extends PropertyEditorImpl implements Monovalu
dialog.setAdapterFactory(view.getEditingComponent().getEditingContext().getAdapterFactory());
dialog.setEditUIProvidersFactory(editUIProvidersFactory);
dialog.setImageManager(imageManager);
- dialog.addFilter(
- new ChoiceOfValuesFilter(
- eefEditingServiceProvider,
- view.getEditingComponent().getEditingContext(),
- view.getEditingComponent().getEObject(),
- elementEditor,
- EEFSWTConstants.DEFAULT_SELECTION_MODE));
- Collection<ViewerFilter> filters = ((FilterablePropertyEditor)propertyEditorViewer).getFilters();
+ dialog.addFilter(new ChoiceOfValuesFilter(eefEditingServiceProvider, view.getEditingComponent().getEditingContext(), view.getEditingComponent().getEObject(), elementEditor, EEFSWTConstants.DEFAULT_SELECTION_MODE));
+ Collection<ViewerFilter> filters = ((FilterablePropertyEditor) propertyEditorViewer).getFilters();
if (!filters.isEmpty()) {
for (ViewerFilter viewerFilter : filters) {
dialog.addFilter(viewerFilter);
@@ -172,6 +176,7 @@ public class EComboPropertyEditor extends PropertyEditorImpl implements Monovalu
/**
* {@inheritDoc}
+ *
* @see org.eclipse.emf.eef.runtime.ui.widgets.EComboEditor.EComboListener#clear()
*/
public void clear() {
@@ -180,10 +185,8 @@ public class EComboPropertyEditor extends PropertyEditorImpl implements Monovalu
viewer.refresh();
}
}
-
+
};
}
-
-
}
diff --git a/plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/internal/view/propertyeditors/impl/emfpropertiestoolkit/singlecontainmenteditor/SingleContainmentSWTPropertyEditor.java b/plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/internal/view/propertyeditors/impl/emfpropertiestoolkit/singlecontainmenteditor/SingleContainmentSWTPropertyEditor.java
index 38ae0bb74..306e6ab5c 100644
--- a/plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/internal/view/propertyeditors/impl/emfpropertiestoolkit/singlecontainmenteditor/SingleContainmentSWTPropertyEditor.java
+++ b/plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/internal/view/propertyeditors/impl/emfpropertiestoolkit/singlecontainmenteditor/SingleContainmentSWTPropertyEditor.java
@@ -24,11 +24,11 @@ public class SingleContainmentSWTPropertyEditor extends StandardSWTPropertyEdito
private ImageManager imageManager;
private SingleLinePropertyViewer singleContainmentComboEditor;
-
+
/**
* @param view
* @param elementEditor
- * @param imageManager
+ * @param imageManager
*/
public SingleContainmentSWTPropertyEditor(EditUIProvidersFactory editUIProvidersFactory, ImageManager imageManager, PropertiesEditingView<Composite> view, ElementEditor elementEditor) {
super(view, elementEditor);
@@ -38,6 +38,7 @@ public class SingleContainmentSWTPropertyEditor extends StandardSWTPropertyEdito
/**
* {@inheritDoc}
+ *
* @see org.eclipse.emf.eef.runtime.ui.view.propertyeditors.PropertyEditorViewer#getViewer()
*/
public SingleLinePropertyViewer getViewer() {
@@ -46,6 +47,7 @@ public class SingleContainmentSWTPropertyEditor extends StandardSWTPropertyEdito
/**
* {@inheritDoc}
+ *
* @see org.eclipse.emf.eef.runtime.ui.swt.internal.view.propertyeditors.impl.StandardSWTPropertyEditor#createEditorContents(org.eclipse.swt.widgets.Composite)
*/
@Override
@@ -61,6 +63,7 @@ public class SingleContainmentSWTPropertyEditor extends StandardSWTPropertyEdito
/**
* {@inheritDoc}
+ *
* @see org.eclipse.emf.eef.runtime.ui.swt.e3.internal.view.propertyeditors.impl.StandardFormPropertyEditor#lock()
*/
@Override
@@ -70,6 +73,7 @@ public class SingleContainmentSWTPropertyEditor extends StandardSWTPropertyEdito
/**
* {@inheritDoc}
+ *
* @see org.eclipse.emf.eef.runtime.ui.swt.e3.internal.view.propertyeditors.impl.StandardFormPropertyEditor#unlock()
*/
@Override
diff --git a/plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/internal/widgets/EEFSelectionDialog.java b/plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/internal/widgets/EEFSelectionDialog.java
index 08f792367..a34d67bee 100644
--- a/plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/internal/widgets/EEFSelectionDialog.java
+++ b/plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/internal/widgets/EEFSelectionDialog.java
@@ -15,6 +15,7 @@ import java.util.List;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.eef.runtime.ui.UIConstants;
import org.eclipse.emf.eef.runtime.ui.swt.EEFRuntimeUISWT;
@@ -73,6 +74,8 @@ public class EEFSelectionDialog extends TrayDialog {
private Text urisToLoad;
+ private StructuredSelection initialSelection;
+
/**
* @param parent
*/
@@ -186,6 +189,7 @@ public class EEFSelectionDialog extends TrayDialog {
okPressed();
}
});
+ initSelection();
Group modelLoading = new Group(control, SWT.BORDER);
modelLoading.setText("Model loading");
modelLoading.setLayout(new GridLayout(3, false));
@@ -245,6 +249,16 @@ public class EEFSelectionDialog extends TrayDialog {
}
/**
+ * Init the viewer selection. TODO: better implementation for expandAll.
+ */
+ public void initSelection() {
+ if (initialSelection != null) {
+ selectionViewer.expandAll();
+ selectionViewer.setSelection(initialSelection);
+ }
+ }
+
+ /**
* Creates the selection viewer.
*
* @param parent
@@ -440,4 +454,14 @@ public class EEFSelectionDialog extends TrayDialog {
return result;
}
+ /**
+ * Set tree viewer initial selection.
+ *
+ * @param eObject
+ * EObject
+ */
+ public void setInitialSelection(EObject eObject) {
+ initialSelection = new StructuredSelection(eObject);
+ }
+
}
diff --git a/plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/internal/widgets/SingleLinePropertyViewer.java b/plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/internal/widgets/SingleLinePropertyViewer.java
index c8d3a12a9..22120ddfe 100644
--- a/plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/internal/widgets/SingleLinePropertyViewer.java
+++ b/plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/internal/widgets/SingleLinePropertyViewer.java
@@ -210,17 +210,31 @@ public class SingleLinePropertyViewer extends Viewer {
*/
@Override
public void refresh() {
+ setValue();
+ updateButtons();
+ }
+
+ /**
+ * @return the current value.
+ */
+ public String getCurrentValue() {
+ Object value = input.getCurrentValue();
+ if (labelProvider != null) {
+ return labelProvider.getText(value);
+ } else {
+ return value.toString();
+ }
+ }
+
+ /**
+ * Set the text value.
+ */
+ public void setValue() {
if (input == null) {
text.setText("");
} else {
- Object value = input.getCurrentValue();
- if (labelProvider != null) {
- text.setText(labelProvider.getText(value));
- } else {
- text.setText(value.toString());
- }
+ text.setText(getCurrentValue());
}
- updateButtons();
}
/**
diff --git a/plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/wizard/EEFEditingWizard.java b/plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/wizard/EEFEditingWizard.java
index f31ca4e49..38619b333 100644
--- a/plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/wizard/EEFEditingWizard.java
+++ b/plugins/org.eclipse.emf.eef.runtime.ui.swt/src/org/eclipse/emf/eef/runtime/ui/swt/wizard/EEFEditingWizard.java
@@ -98,7 +98,15 @@ public class EEFEditingWizard extends Wizard {
creationPage.setInput(listOfInstanciableType);
addPage(creationPage);
} else {
- createdObject = EcoreUtil.create(listOfInstanciableType.iterator().next());
+ if (!editedReference.isMany()) {
+ Object eGet = semanticEditingContext.getEditingComponent().getEObject().eGet(editedReference);
+ if (eGet instanceof EObject) {
+ createdObject = (EObject) eGet;
+ }
+ }
+ if (createdObject == null) {
+ createdObject = EcoreUtil.create(listOfInstanciableType.iterator().next());
+ }
createObject(createdObject);
}
} else {

Back to the top