Skip to content
Snippets Groups Projects
Commit 204fc960 authored by Florian Hölzl's avatar Florian Hölzl
Browse files

tooling.base.ui returned to YELLOW

refs 311
parent c87240ca
No related branches found
No related tags found
No related merge requests found
......@@ -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 */
......
/*--------------------------------------------------------------------------+
$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();
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment