Skip to content

Instantly share code, notes, and snippets.

@pvlasov
Last active July 29, 2019 14:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pvlasov/ae67cb5f7ed9ed74e5787086bb22db97 to your computer and use it in GitHub Desktop.
Save pvlasov/ae67cb5f7ed9ed74e5787086bb22db97 to your computer and use it in GitHub Desktop.
Shows how to replace object selection dialog in a reference property editor
/**
* @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