package org.csstudio.sds.ui.internal.runmode;
import java.beans.PropertyChangeListener;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import org.eclipse.draw2d.geometry.Point;
import org.eclipse.gef.AccessibleEditPart;
import org.eclipse.gef.EditDomain;
import org.eclipse.gef.EditPart;
import org.eclipse.gef.EditPartFactory;
import org.eclipse.gef.EditPartViewer;
import org.eclipse.gef.KeyHandler;
import org.eclipse.gef.RootEditPart;
import org.eclipse.gef.SelectionManager;
import org.eclipse.gef.dnd.TransferDragSourceListener;
import org.eclipse.gef.dnd.TransferDropTargetListener;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.resource.ResourceManager;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.swt.graphics.Cursor;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
/**
* A proxy for an {@link EditPartViewer}. The class is only used in a
* workarround to ensure that the wrapped EditPartViewer gets garbage
* collected when the shell is disposed.
*
* @author Sven Wende
*/
public class EditPartViewerProxy implements EditPartViewer {
private EditPartViewer _delegate;
public EditPartViewerProxy(EditPartViewer delegate) {
super();
_delegate = delegate;
}
/**
* Forge
*/
public void dispose() {
_delegate = null;
}
@Override
public void addDragSourceListener(TransferDragSourceListener listener) {
if (_delegate != null) {
_delegate.addDragSourceListener(listener);
}
}
@Override
public void addDragSourceListener(org.eclipse.jface.util.TransferDragSourceListener listener) {
if (_delegate != null) {
_delegate.addDragSourceListener(listener);
}
}
@Override
public void addDropTargetListener(TransferDropTargetListener listener) {
if (_delegate != null) {
_delegate.addDropTargetListener(listener);
}
}
@Override
public void addDropTargetListener(org.eclipse.jface.util.TransferDropTargetListener listener) {
if (_delegate != null) {
_delegate.addDropTargetListener(listener);
}
}
@Override
public void addPropertyChangeListener(PropertyChangeListener listener) {
if (_delegate != null) {
_delegate.addPropertyChangeListener(listener);
}
}
@Override
public void appendSelection(EditPart editpart) {
if (_delegate != null) {
_delegate.appendSelection(editpart);
}
}
@Override
public Control createControl(Composite composite) {
return _delegate != null ? _delegate.createControl(composite) : null;
}
@Override
public void deselect(EditPart editpart) {
if (_delegate != null) {
_delegate.deselect(editpart);
}
}
@Override
public void deselectAll() {
if (_delegate != null) {
_delegate.deselectAll();
}
}
@Override
public EditPart findObjectAt(Point location) {
return _delegate != null ? _delegate.findObjectAt(location) : null;
}
@Override
public EditPart findObjectAtExcluding(Point location, Collection exclusionSet) {
return _delegate != null ? _delegate.findObjectAtExcluding(location, exclusionSet) : null;
}
@Override
public EditPart findObjectAtExcluding(Point location, Collection exclusionSet, Conditional conditional) {
return _delegate != null ? _delegate.findObjectAtExcluding(location, exclusionSet, conditional) : null;
}
@Override
public void flush() {
if (_delegate != null) {
_delegate.flush();
}
}
@Override
public EditPart getContents() {
return _delegate != null ? _delegate.getContents() : null;
}
@Override
public MenuManager getContextMenu() {
return _delegate != null ? _delegate.getContextMenu() : null;
}
@Override
public Control getControl() {
return _delegate != null ? _delegate.getControl() : null;
}
@Override
public EditDomain getEditDomain() {
return _delegate != null ? _delegate.getEditDomain() : null;
}
@Override
public EditPartFactory getEditPartFactory() {
return _delegate != null ? _delegate.getEditPartFactory() : null;
}
@Override
public Map getEditPartRegistry() {
return _delegate != null ? _delegate.getEditPartRegistry() : null;
}
@Override
public EditPart getFocusEditPart() {
return _delegate != null ? _delegate.getFocusEditPart() : null;
}
@Override
public KeyHandler getKeyHandler() {
return _delegate != null ? _delegate.getKeyHandler() : null;
}
@Override
public Object getProperty(String key) {
return _delegate != null ? _delegate.getProperty(key) : null;
}
@Override
public ResourceManager getResourceManager() {
return _delegate != null ? _delegate.getResourceManager() : null;
}
@Override
public RootEditPart getRootEditPart() {
return _delegate != null ? _delegate.getRootEditPart() : null;
}
@Override
public List getSelectedEditParts() {
return _delegate != null ? _delegate.getSelectedEditParts() : null;
}
@Override
public ISelection getSelection() {
return _delegate != null ? _delegate.getSelection() : null;
}
@Override
public SelectionManager getSelectionManager() {
return _delegate != null ? _delegate.getSelectionManager() : null;
}
@Override
public Map getVisualPartMap() {
return _delegate != null ? _delegate.getVisualPartMap() : null;
}
@Override
public void registerAccessibleEditPart(AccessibleEditPart acc) {
if (_delegate != null) {
_delegate.registerAccessibleEditPart(acc);
}
}
@Override
public void removeDragSourceListener(TransferDragSourceListener listener) {
if (_delegate != null) {
_delegate.removeDragSourceListener(listener);
}
}
@Override
public void removeDragSourceListener(org.eclipse.jface.util.TransferDragSourceListener listener) {
if (_delegate != null) {
_delegate.removeDragSourceListener(listener);
}
}
@Override
public void removeDropTargetListener(TransferDropTargetListener listener) {
if (_delegate != null) {
_delegate.removeDropTargetListener(listener);
}
}
@Override
public void removeDropTargetListener(org.eclipse.jface.util.TransferDropTargetListener listener) {
if (_delegate != null) {
_delegate.removeDropTargetListener(listener);
}
}
@Override
public void removePropertyChangeListener(PropertyChangeListener listener) {
if (_delegate != null) {
_delegate.removePropertyChangeListener(listener);
}
}
@Override
public void reveal(EditPart editpart) {
if (_delegate != null) {
_delegate.reveal(editpart);
}
}
@Override
public void select(EditPart editpart) {
if (_delegate != null) {
_delegate.select(editpart);
}
}
@Override
public void setContents(EditPart editpart) {
if (_delegate != null) {
_delegate.setContents(editpart);
}
}
@Override
public void setContents(Object contents) {
if (_delegate != null) {
_delegate.setContents(contents);
}
}
@Override
public void setContextMenu(MenuManager contextMenu) {
if (_delegate != null) {
_delegate.setContextMenu(contextMenu);
}
}
@Override
public void setControl(Control control) {
if (_delegate != null) {
_delegate.setControl(control);
}
}
@Override
public void setCursor(Cursor cursor) {
if (_delegate != null) {
_delegate.setCursor(cursor);
}
}
@Override
public void setEditDomain(EditDomain domain) {
if (_delegate != null) {
_delegate.setEditDomain(domain);
}
}
@Override
public void setEditPartFactory(EditPartFactory factory) {
if (_delegate != null) {
_delegate.setEditPartFactory(factory);
}
}
@Override
public void setFocus(EditPart focus) {
if (_delegate != null) {
_delegate.setFocus(focus);
}
}
@Override
public void setKeyHandler(KeyHandler keyHandler) {
if (_delegate != null) {
_delegate.setKeyHandler(keyHandler);
}
}
@Override
public void setProperty(String propertyName, Object value) {
if (_delegate != null) {
_delegate.setProperty(propertyName, value);
}
}
@Override
public void setRootEditPart(RootEditPart root) {
if (_delegate != null) {
_delegate.setRootEditPart(root);
}
}
@Override
public void setRouteEventsToEditDomain(boolean value) {
if (_delegate != null) {
_delegate.setRouteEventsToEditDomain(value);
}
}
@Override
public void setSelectionManager(SelectionManager manager) {
if (_delegate != null) {
_delegate.setSelectionManager(manager);
}
}
@Override
public void unregisterAccessibleEditPart(AccessibleEditPart acc) {
if (_delegate != null) {
_delegate.unregisterAccessibleEditPart(acc);
}
}
@Override
public void addSelectionChangedListener(ISelectionChangedListener listener) {
if (_delegate != null) {
_delegate.addSelectionChangedListener(listener);
}
}
@Override
public void removeSelectionChangedListener(ISelectionChangedListener listener) {
if (_delegate != null) {
_delegate.removeSelectionChangedListener(listener);
}
}
@Override
public void setSelection(ISelection selection) {
if (_delegate != null) {
_delegate.setSelection(selection);
}
}
}