diff options
author | Eike Stepper | 2022-02-11 17:03:02 +0000 |
---|---|---|
committer | Eike Stepper | 2022-02-11 17:03:02 +0000 |
commit | dca8ba06e2669e82d618f8412fbfc748cf0c69c2 (patch) | |
tree | 6382c0d3f2ed4dc2572c33c3e5a033ea148bd600 /plugins | |
parent | 45401aa384730fc05eabd67f451683d4fd4f9135 (diff) | |
download | cdo-dca8ba06e2669e82d618f8412fbfc748cf0c69c2.tar.gz cdo-dca8ba06e2669e82d618f8412fbfc748cf0c69c2.tar.xz cdo-dca8ba06e2669e82d618f8412fbfc748cf0c69c2.zip |
[578703] [UI] Make CDOEditor more customizable
https://bugs.eclipse.org/bugs/show_bug.cgi?id=578703
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/editor/CDOEditor.java | 90 |
1 files changed, 55 insertions, 35 deletions
diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/editor/CDOEditor.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/editor/CDOEditor.java index b7703eebe6..4e81d19776 100644 --- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/editor/CDOEditor.java +++ b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/editor/CDOEditor.java @@ -127,6 +127,7 @@ import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.dialogs.ProgressMonitorDialog; import org.eclipse.jface.operation.IRunnableWithProgress; import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.util.LocalSelectionTransfer; import org.eclipse.jface.viewers.DecoratingLabelProvider; import org.eclipse.jface.viewers.IContentProvider; import org.eclipse.jface.viewers.IInputProvider; @@ -959,7 +960,7 @@ public class CDOEditor extends MultiPageEditorPart implements IEditingDomainProv * This creates a context menu for the viewer and adds a listener as well registering the menu for extension. <!-- * begin-user-doc --> <!-- end-user-doc --> * - * @generated + * @generated NOT */ protected void createContextMenuFor(StructuredViewer viewer) { @@ -971,12 +972,27 @@ public class CDOEditor extends MultiPageEditorPart implements IEditingDomainProv viewer.getControl().setMenu(menu); getSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer)); - int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK; - Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance() }; + configureDND(viewer); + } + + protected void configureDND(StructuredViewer viewer) + { + int dndOperations = getDNDOperations(); + Transfer[] transfers = getDNDTransfers(); viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer)); viewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(editingDomain, viewer)); } + protected int getDNDOperations() + { + return DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK; + } + + protected Transfer[] getDNDTransfers() + { + return new Transfer[] { LocalTransfer.getInstance(), LocalSelectionTransfer.getTransfer() }; + } + /** * @ADDED */ @@ -1689,10 +1705,7 @@ public class CDOEditor extends MultiPageEditorPart implements IEditingDomainProv } catch (Exception ex) { - if (TRACER.isEnabled()) - { - TRACER.trace(ex); - } + handleException(ex); } return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_ERROR_TSK); @@ -1717,10 +1730,7 @@ public class CDOEditor extends MultiPageEditorPart implements IEditingDomainProv } catch (Exception ex) { - if (TRACER.isEnabled()) - { - TRACER.trace(ex); - } + handleException(ex); } try @@ -1935,11 +1945,7 @@ public class CDOEditor extends MultiPageEditorPart implements IEditingDomainProv } catch (Exception ex) { - if (TRACER.isEnabled()) - { - TRACER.trace(ex); - } - + handleException(ex); super.selectionChanged(part, StructuredSelection.EMPTY); } } @@ -2422,10 +2428,7 @@ public class CDOEditor extends MultiPageEditorPart implements IEditingDomainProv } catch (Exception ex) { - if (TRACER.isEnabled()) - { - TRACER.trace(ex); - } + handleException(ex); } } @@ -2465,11 +2468,7 @@ public class CDOEditor extends MultiPageEditorPart implements IEditingDomainProv } catch (Exception ex) { - if (TRACER.isEnabled()) - { - TRACER.trace(ex); - } - + handleException(ex); text = null; } @@ -2530,18 +2529,21 @@ public class CDOEditor extends MultiPageEditorPart implements IEditingDomainProv final IWorkbenchPage page = getSite().getPage(); MenuManager submenuManager = new MenuManager(Messages.getString("CDOEditor.23")); //$NON-NLS-1$ - NewRootMenuPopulator populator = new NewRootMenuPopulator(view.getSession().getPackageRegistry()) + if (showNewRootMenu()) { - @Override - protected IAction createAction(EObject object) + NewRootMenuPopulator populator = new NewRootMenuPopulator(view.getSession().getPackageRegistry()) { - return new CreateRootAction(object); - } - }; + @Override + protected IAction createAction(EObject object) + { + return new CreateRootAction(object); + } + }; - if (populator.populateMenu(submenuManager)) - { - menuManager.insertBefore("edit", submenuManager); //$NON-NLS-1$ + if (populator.populateMenu(submenuManager)) + { + menuManager.insertBefore("edit", submenuManager); //$NON-NLS-1$ + } } Resource resource = getSelectedResource(); @@ -2596,7 +2598,7 @@ public class CDOEditor extends MultiPageEditorPart implements IEditingDomainProv } } - if (SHOW_BULK_ADD_ACTION && !features.isEmpty()) + if (showBulkAddMenu() && !features.isEmpty()) { menuManager.insertBefore("edit", //$NON-NLS-1$ new LongRunningAction(page, Messages.getString("CDOEditor.26") + SafeAction.INTERACTIVE) //$NON-NLS-1$ @@ -2640,6 +2642,16 @@ public class CDOEditor extends MultiPageEditorPart implements IEditingDomainProv } } + protected boolean showNewRootMenu() + { + return true; + } + + protected boolean showBulkAddMenu() + { + return SHOW_BULK_ADD_ACTION; + } + /** * <!-- begin-user-doc --> <!-- end-user-doc --> * @generated @@ -2911,6 +2923,14 @@ public class CDOEditor extends MultiPageEditorPart implements IEditingDomainProv return null; } + protected void handleException(Exception ex) + { + if (TRACER.isEnabled()) + { + TRACER.trace(ex); + } + } + /** * @ADDED */ |