diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editor/DiagramEditorBase.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editor/DiagramEditorBase.java index d59349dd1a53cd593268410fedace48f89e656e9..fc5b6c7812b6c11795777f92ec47a4ed09781c0c 100644 --- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editor/DiagramEditorBase.java +++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editor/DiagramEditorBase.java @@ -99,7 +99,7 @@ import org.fortiss.tooling.kernel.ui.util.EObjectSelectionUtils; * @author hoelzl * @author $Author$ * @version $Rev$ - * @ConQAT.Rating RED Hash: 1AF213EC6831AB5F151B961002C7183D + * @ConQAT.Rating YELLOW Hash: 7B15AF8EF35DA949FB4FCC3345C5988B */ public class DiagramEditorBase<T extends EObject> extends GEFEditorBase<T> implements IPostSelectionProvider, ContextMenuContextProvider { @@ -373,10 +373,6 @@ public class DiagramEditorBase<T extends EObject> extends GEFEditorBase<T> */ protected void registerEditActions() { registerSelectionAction(new DeleteAction((IWorkbenchPart) this)); - // TODO (FH): add copy paste actions for GEF - // registerSelectionAction(new CopyModelElementsAction()); - // registerSelectionAction(new CutModelElementsAction()); - // registerSelectionAction(new PasteModelElementAction()); } /** Registers and returns the id of the given selection action */ diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editor/TreeViewerEditorBase.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editor/TreeViewerEditorBase.java deleted file mode 100644 index 7e2baac7035842e031d0b997ba0c75041a594df8..0000000000000000000000000000000000000000 --- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editor/TreeViewerEditorBase.java +++ /dev/null @@ -1,130 +0,0 @@ -/*--------------------------------------------------------------------------+ -$Id$ -| | -| Copyright 2011 ForTISS GmbH | -| | -| Licensed under the Apache License, Version 2.0 (the "License"); | -| you may not use this file except in compliance with the License. | -| You may obtain a copy of the License at | -| | -| http://www.apache.org/licenses/LICENSE-2.0 | -| | -| Unless required by applicable law or agreed to in writing, software | -| distributed under the License is distributed on an "AS IS" BASIS, | -| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | -| See the License for the specific language governing permissions and | -| limitations under the License. | -+--------------------------------------------------------------------------*/ -package org.fortiss.tooling.base.ui.editor; - -import java.util.Collection; -import java.util.List; - -import org.eclipse.emf.common.notify.Adapter; -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.ecore.util.EContentAdapter; -import org.eclipse.jface.action.IMenuListener; -import org.eclipse.jface.action.IMenuManager; -import org.eclipse.jface.action.MenuManager; -import org.eclipse.jface.viewers.TreeViewer; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Menu; -import org.fortiss.tooling.base.ui.dnd.jface.ViewerElementCompositionDropAdapter; -import org.fortiss.tooling.kernel.ui.extension.base.EditorBase; -import org.fortiss.tooling.kernel.ui.util.EObjectSelectionUtils; - -/** - * An editor which only consists of a tree viewer. It uses {@link TreeViewer}, - * which also allows to define columns, i.e., use the tree and table at the same - * time. - * - * @author hoelzl - * @author $Author$ - * @version $Rev$ - * @ConQAT.Rating RED Hash: 075530364F7D00ECA0A780DCE4F64D3C - */ -public abstract class TreeViewerEditorBase<T extends EObject> extends - EditorBase<T> { - - /** Stores the {@link TreeViewer}. */ - private TreeViewer treeViewer; - - /** The adapter used for dealing with changes of the */ - private final Adapter editedObjectChanged = new EContentAdapter() { - @Override - public void notifyChanged(Notification notification) { - super.notifyChanged(notification); - if (notification.getEventType() != Notification.REMOVING_ADAPTER - && !treeViewer.getTree().isDisposed()) { - treeViewer.refresh(true); - } - } - }; - - /** {@inheritDoc} */ - @Override - public void createPartControl(Composite parent) { - treeViewer = new TreeViewer(parent); - - setupTreeViewer(treeViewer); - - ViewerElementCompositionDropAdapter dndAdapter = new ViewerElementCompositionDropAdapter( - treeViewer); - treeViewer.addDropSupport(dndAdapter.getSupportedDNDOperations(), - dndAdapter.getPreferredTransfers(), dndAdapter); - - treeViewer.setInput(editedObject); - getEditorSite().setSelectionProvider(treeViewer); - - editedObject.eAdapters().add(editedObjectChanged); - - initContextMenu(); - } - - /** - * Initializes context menu support. - */ - protected void initContextMenu() { - MenuManager menuManager = new MenuManager("#PopupMenu"); - menuManager.setRemoveAllWhenShown(true); - menuManager.addMenuListener(new IMenuListener() { - @Override - public void menuAboutToShow(IMenuManager manager) { - // TODO: add context menu support - } - }); - Menu menu = menuManager.createContextMenu(treeViewer.getTree()); - treeViewer.getTree().setMenu(menu); - getSite().registerContextMenu(menuManager, treeViewer); - } - - /** {@inheritDoc} */ - @Override - public void dispose() { - editedObject.eAdapters().remove(editedObjectChanged); - super.dispose(); - } - - /** Returns the elements currently selected in the tree. */ - protected Collection<EObject> getTreeSelection() { - List<EObject> result = EObjectSelectionUtils - .getEObjectElements(treeViewer.getSelection()); - if (result.isEmpty()) { - result.add(editedObject); - } - return result; - } - - /** - * This method is used to configure the tree viewer, e.g. set the content - * provider, and the label provider. - */ - protected abstract void setupTreeViewer(TreeViewer treeViewer); - - /** {@inheritDoc} */ - @Override - public void setFocus() { - treeViewer.getTree().setFocus(); - } -}