diff options
author | Stéphane Bégaudeau | 2017-03-07 14:04:19 +0000 |
---|---|---|
committer | Stéphane Bégaudeau | 2017-03-07 14:04:19 +0000 |
commit | c952e41e21e65730f58aa5c79fe42836a0e913fd (patch) | |
tree | e351a8cbeac5c3ebb7f8149a789498ff17dceb72 | |
parent | 90b68249e111b957b2ec5a44923184bfecf1f0b6 (diff) | |
download | org.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.java | 20 |
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); } + } } } |