Last active
July 29, 2019 14:31
-
-
Save pvlasov/ae67cb5f7ed9ed74e5787086bb22db97 to your computer and use it in GitHub Desktop.
Shows how to replace object selection dialog in a reference property editor
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* @generated NOT | |
*/ | |
protected void addXXXPropertyDescriptor(Object object) { | |
EMFEditUIPropertyEditorFactory editorFactory = new EMFEditUIPropertyEditorFactory(null) { | |
@Override | |
public CellEditor createEditor(Object object, IItemPropertyDescriptor propertyDescriptor, Composite composite) { | |
ILabelProvider labelProvider = new org.eclipse.emf.edit.ui.provider.PropertyDescriptor(object, propertyDescriptor).getLabelProvider(); | |
return new ExtendedDialogCellEditor(composite, labelProvider) { | |
@Override | |
protected Object openDialogBox(Control cellEditorWindow) { | |
AdapterFactory contentProviderAdapterFactory = getAdapterFactory(); | |
ITreeContentProvider contentProvider = new AdapterFactoryContentProvider(contentProviderAdapterFactory instanceof ComposeableAdapterFactory ? ((ComposeableAdapterFactory) contentProviderAdapterFactory).getRootAdapterFactory() : contentProviderAdapterFactory); | |
ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(cellEditorWindow.getShell(), labelProvider, contentProvider); | |
dialog.setInput(((EObject) object).eResource()); | |
// ... TODO ... | |
dialog.open(); | |
return dialog.getResult(); | |
} | |
}; | |
} | |
}; | |
itemPropertyDescriptors | |
.add(createItemPropertyDescriptor | |
(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), | |
getResourceLocator(), | |
getString("_UI_XXX_YYY_feature"), | |
"...", | |
XXXPackage.Literals.YYY_ZZZ, | |
true, | |
false, | |
true, | |
null, | |
null, | |
null, | |
editorFactory)); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment