Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStéphane Bégaudeau2017-03-07 14:04:19 +0000
committerStéphane Bégaudeau2017-03-07 14:04:19 +0000
commitc952e41e21e65730f58aa5c79fe42836a0e913fd (patch)
treee351a8cbeac5c3ebb7f8149a789498ff17dceb72
parent90b68249e111b957b2ec5a44923184bfecf1f0b6 (diff)
downloadorg.eclipse.eef-c952e41e21e65730f58aa5c79fe42836a0e913fd.tar.gz
org.eclipse.eef-c952e41e21e65730f58aa5c79fe42836a0e913fd.tar.xz
org.eclipse.eef-c952e41e21e65730f58aa5c79fe42836a0e913fd.zip
[513242] Fix the reference widget for badly configured metamodels
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=513242 Change-Id: I099d9c7372d70c8df31c300afef20383b3c6c3ec Signed-off-by: Stéphane Bégaudeau <stephane.begaudeau@obeo.fr>
-rw-r--r--plugins/org.eclipse.eef.ide.ui.ext.widgets.reference/src/org/eclipse/eef/ide/ui/ext/widgets/reference/internal/EEFExtMultipleReferenceLifecycleManager.java20
1 files changed, 17 insertions, 3 deletions
diff --git a/plugins/org.eclipse.eef.ide.ui.ext.widgets.reference/src/org/eclipse/eef/ide/ui/ext/widgets/reference/internal/EEFExtMultipleReferenceLifecycleManager.java b/plugins/org.eclipse.eef.ide.ui.ext.widgets.reference/src/org/eclipse/eef/ide/ui/ext/widgets/reference/internal/EEFExtMultipleReferenceLifecycleManager.java
index e83893bc3..fd3c30f27 100644
--- a/plugins/org.eclipse.eef.ide.ui.ext.widgets.reference/src/org/eclipse/eef/ide/ui/ext/widgets/reference/internal/EEFExtMultipleReferenceLifecycleManager.java
+++ b/plugins/org.eclipse.eef.ide.ui.ext.widgets.reference/src/org/eclipse/eef/ide/ui/ext/widgets/reference/internal/EEFExtMultipleReferenceLifecycleManager.java
@@ -32,6 +32,7 @@ import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry;
import org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.wizard.IWizard;
import org.eclipse.jface.wizard.WizardDialog;
@@ -224,15 +225,28 @@ public class EEFExtMultipleReferenceLifecycleManager extends AbstractEEFExtRefer
IItemPropertyDescriptor propertyDescriptor = propertySource.getPropertyDescriptor(this.target, this.eReference);
if (propertyDescriptor != null) {
ArrayList<Object> choiceOfValues = new ArrayList<Object>(propertyDescriptor.getChoiceOfValues(this.target));
- FeatureEditorDialog dialog = new FeatureEditorDialog(this.tableViewer.getTable().getShell(),
- new AdapterFactoryLabelProvider(this.composedAdapterFactory), this.target, this.eReference,
- propertyDescriptor.getDisplayName(this.target), choiceOfValues);
+
+ final AdapterFactoryLabelProvider adapterFactoryLabelProvider = new AdapterFactoryLabelProvider(this.composedAdapterFactory);
+ LabelProvider labelProvider = new LabelProvider() {
+ @Override
+ public String getText(Object object) {
+ return adapterFactoryLabelProvider.getText(object);
+ }
+
+ @Override
+ public Image getImage(Object object) {
+ return ExtendedImageRegistry.getInstance().getImage(adapterFactoryLabelProvider.getImage(object));
+ }
+ };
+ FeatureEditorDialog dialog = new FeatureEditorDialog(this.tableViewer.getTable().getShell(), labelProvider, this.target,
+ this.eReference, propertyDescriptor.getDisplayName(this.target), choiceOfValues);
dialog.open();
EList<?> result = dialog.getResult();
if (result != null) {
this.target.eSet(this.eReference, result);
}
+
}
}
}

Back to the top