public abstract class AbstractEditPartViewer extends java.lang.Object implements EditPartViewer
EditPartViewer.Conditional| Modifier and Type | Field and Description |
|---|---|
protected java.util.List |
constantSelection
The unmodifiable list of selected editparts.
|
protected EditPart |
focusPart
Deprecated.
|
protected java.util.List |
selection
The raw list of selected editparts.
|
protected java.util.List |
selectionListeners
Deprecated.
|
| Constructor and Description |
|---|
AbstractEditPartViewer()
Constructs the viewer and calls
init(). |
| Modifier and Type | Method and Description |
|---|---|
void |
addDragSourceListener(TransferDragSourceListener listener)
Provided for compatibility with existing code.
|
void |
addDragSourceListener(TransferDragSourceListener listener)
Adds a
TransferDragSourceListener to this viewer. |
void |
addDropTargetListener(TransferDropTargetListener listener)
Provided for compatibility with existing code.
|
void |
addDropTargetListener(TransferDropTargetListener listener)
Adds a
TransferDropTargetListener to this viewer. |
void |
addPropertyChangeListener(java.beans.PropertyChangeListener listener)
Adds a listener to be notified of viewer property changes.
|
void |
addSelectionChangedListener(ISelectionChangedListener listener) |
void |
appendSelection(EditPart editpart)
Appends the specified
EditPart to the viewer's
selection. |
abstract Control |
createControl(Composite parent)
Optionally creates the default
Control using the default style. |
void |
deselect(EditPart editpart)
Removes the specified
EditPart from the current selection. |
void |
deselectAll()
Deselects all EditParts.
|
EditPart |
findObjectAt(Point pt)
Returns
null or the EditPart associated with
the specified location. |
EditPart |
findObjectAtExcluding(Point pt,
java.util.Collection exclude)
Returns
null or the EditPart at the specified
location, excluding the specified set. |
protected void |
fireSelectionChanged()
Fires selection changed to the registered listeners at the time called.
|
void |
flush()
Flushes all pending updates to the Viewer.
|
EditPart |
getContents()
Returns the contents of this Viewer.
|
MenuManager |
getContextMenu()
Returns
null or the MenuManager for this viewer. |
Control |
getControl()
Returns
null or the SWT Control for this
viewer. |
protected DelegatingDragAdapter |
getDelegatingDragAdapter()
Returns
null or the DelegatingDragAdapater. |
protected DelegatingDropAdapter |
getDelegatingDropAdapter()
Returns
null or the DelegatingDropAdapater. |
protected DragSource |
getDragSource()
Returns
null or the DragSource. |
protected DropTarget |
getDropTarget()
Returns
null or the DropTarget. |
EditDomain |
getEditDomain()
Returns the
EditDomain to which this viewer belongs. |
EditPartFactory |
getEditPartFactory()
Returns the
EditPartFactory for this viewer. |
java.util.Map |
getEditPartRegistry()
Returns the
Map for registering EditParts by
Keys. |
EditPart |
getFocusEditPart()
Returns the focus
EditPart. |
KeyHandler |
getKeyHandler()
Returns the
KeyHandler for this viewer. |
java.lang.Object |
getProperty(java.lang.String key)
Returns the value of the given property.
|
ResourceManager |
getResourceManager()
Returns
null, or the ResourceManager for this Viewer. |
RootEditPart |
getRootEditPart()
Returns the
RootEditPart. |
java.util.List |
getSelectedEditParts()
Returns an unmodifiable
List containing zero or more
selected editparts. |
ISelection |
getSelection()
Returns an ISelection containing a list of one or more EditPart.
|
SelectionManager |
getSelectionManager()
Returns the viewer's selection manager.
|
java.util.Map |
getVisualPartMap()
Returns the
Map for associating visual parts with their
EditParts. |
protected void |
handleDispose(DisposeEvent e)
Called if and when the
Control is disposed. |
protected void |
hookControl()
Called once the control has been set.
|
protected void |
hookDragSource()
Called whenever the
drag source is automatically
created. |
protected void |
hookDropTarget()
Called whenever the
drop target is automatically
created. |
protected void |
init()
Called from the constructor.
|
protected java.util.List |
primGetSelectedEditParts()
Returns the modifiable List of selected EditParts.
|
protected void |
refreshDragSourceAdapter()
Creates or disposes a DragSource as needed, and sets the supported
transfer types.
|
protected void |
refreshDropTargetAdapter()
Creates or disposes a DropTarget as needed, and sets the supported
transfer types.
|
void |
registerAccessibleEditPart(AccessibleEditPart acc)
Used for accessibility purposes.
|
void |
removeDragSourceListener(TransferDragSourceListener listener)
Deprecated.
|
void |
removeDragSourceListener(TransferDragSourceListener listener)
Removes the specified drag source listener.
|
void |
removeDropTargetListener(TransferDropTargetListener listener)
Deprecated.
|
void |
removeDropTargetListener(TransferDropTargetListener listener)
Removes the specified drop target listener.
|
void |
removePropertyChangeListener(java.beans.PropertyChangeListener listener)
removes the first instance of the specified property listener.
|
void |
removeSelectionChangedListener(ISelectionChangedListener l) |
void |
reveal(EditPart part)
Reveals the given EditPart if it is not visible.
|
void |
select(EditPart editpart)
Replaces the current selection with the specified
EditPart. |
void |
setContents(EditPart editpart)
Sets the contents for this Viewer.
|
void |
setContents(java.lang.Object contents)
Creates an
EditPart for the provided model object using the
EditPartFactory. |
void |
setContextMenu(MenuManager manager)
Sets the context
MenuManager for this viewer. |
void |
setControl(Control control)
Sets the
Control for this viewer. |
void |
setCursor(Cursor cursor)
Sets the cursor for the viewer's
Control. |
protected void |
setDragSource(DragSource source)
Sets the drag source.
|
protected void |
setDropTarget(DropTarget target)
Sets the drop target.
|
void |
setEditDomain(EditDomain editdomain)
Sets the
EditDomain for this viewer. |
void |
setEditPartFactory(EditPartFactory factory)
Sets the EditPartFactory.
|
void |
setFocus(EditPart part)
Sets the focus EditPart.
|
void |
setKeyHandler(KeyHandler handler)
Sets the
KeyHandler. |
void |
setProperty(java.lang.String key,
java.lang.Object value)
Sets a property on this viewer.
|
void |
setRootEditPart(RootEditPart editpart)
Sets the root of this viewer.
|
void |
setRouteEventsToEditDomain(boolean value)
Turns on/off the routing of events directly to the Editor.
|
void |
setSelection(ISelection newSelection)
Sets the selection to the given selection and fires selection changed.
|
void |
setSelectionManager(SelectionManager model)
Sets the selection manager for this viewer.
|
protected void |
unhookControl()
Called when the control is being set to
null, but before it
is null. |
void |
unregisterAccessibleEditPart(AccessibleEditPart acc)
Does nothing by default.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitfindObjectAtExcludingprotected final java.util.List selection
protected final java.util.List constantSelection
protected java.util.List selectionListeners
protected EditPart focusPart
null, the focus editpart is still implied to be the part
with primary selection. Subclasses should call the accessor:
getFocusEditPart() whenever possible.public AbstractEditPartViewer()
init().public void setSelectionManager(SelectionManager model)
EditPartViewersetSelectionManager in interface EditPartViewermodel - the new selection managerEditPartViewer.setSelectionManager(SelectionManager)public void addDragSourceListener(TransferDragSourceListener listener)
EditPartVieweraddDragSourceListener in interface EditPartViewerlistener - a drag source listenerEditPartViewer.addDragSourceListener(org.eclipse.gef.dnd.TransferDragSourceListener)public void addDragSourceListener(TransferDragSourceListener listener)
EditPartViewerTransferDragSourceListener to this viewer. This has
the side-effect of creating a DragSource on
the viewer's Control. A Control can only have a single DragSource.
Clients must not create their own DragSource when using this method.addDragSourceListener in interface EditPartViewerlistener - the listenerEditPartViewer.addDragSourceListener(TransferDragSourceListener)public void addDropTargetListener(TransferDropTargetListener listener)
EditPartVieweraddDropTargetListener in interface EditPartViewerlistener - the listenerEditPartViewer.addDropTargetListener(org.eclipse.gef.dnd.TransferDropTargetListener)public void addDropTargetListener(TransferDropTargetListener listener)
EditPartViewerTransferDropTargetListener to this viewer. This has
the side-effect of creating a DropTarget on
the viewer's Control. A Control can only have a single DropTarget.
Clients must not create their own DropTarget when using this method.addDropTargetListener in interface EditPartViewerlistener - the listenerEditPartViewer.addDropTargetListener(TransferDropTargetListener)public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
EditPartVieweraddPropertyChangeListener in interface EditPartViewerlistener - the listenerEditPartViewer.addPropertyChangeListener(PropertyChangeListener)public void addSelectionChangedListener(ISelectionChangedListener listener)
addSelectionChangedListener in interface ISelectionProviderISelectionProvider.addSelectionChangedListener(ISelectionChangedListener)public void appendSelection(EditPart editpart)
EditPartViewerEditPart to the viewer's
selection. The EditPart becomes the new primary selection. Fires
selection changed to all
ISelectionChangedListeners.appendSelection in interface EditPartViewereditpart - the EditPart to appendEditPartViewer.appendSelection(EditPart)public abstract Control createControl(Composite parent)
EditPartViewerControl using the default style. The Control can also be created
externally and then set into the Viewer.createControl in interface EditPartViewerparent - the parent in which create the SWT ControlEditPartViewer.createControl(Composite)public void deselect(EditPart editpart)
EditPartViewerEditPart from the current selection.
If the selection becomes empty, the viewer's contents becomes the current selected part. The last EditPart in the new
selection is made primary.
Fires selection changed to
ISelectionChangedListeners.
deselect in interface EditPartViewereditpart - the EditPart to deselectEditPartViewer.deselect(EditPart)public void deselectAll()
EditPartViewercontents
becomes the current selection. Fires selection changed to
ISelectionChangedListeners.deselectAll in interface EditPartViewerEditPartViewer.deselectAll()protected void handleDispose(DisposeEvent e)
Control is disposed. Subclasses may
extend this method to perform additional cleanup.e - the disposeeventpublic final EditPart findObjectAt(Point pt)
EditPartViewernull or the EditPart associated with
the specified location. The location is relative to the client area of
the Viewer's Control. An EditPart is not directly visible.
It is targeted using its visual part which it registered using the
visual part map. What constitutes a visual
part is viewer-specific. Examples include Figures and TreeItems.findObjectAt in interface EditPartViewerpt - The locationnull or an EditPartEditPartViewer.findObjectAt(Point)public final EditPart findObjectAtExcluding(Point pt, java.util.Collection exclude)
EditPartViewernull or the EditPart at the specified
location, excluding the specified set. This method behaves similarly to
EditPartViewer.findObjectAt(Point).findObjectAtExcluding in interface EditPartViewerpt - The mouse locationexclude - The set of EditParts to be excludednull or an EditPartEditPartViewer.findObjectAtExcluding(Point, Collection)protected void fireSelectionChanged()
public void flush()
EditPartViewerflush in interface EditPartViewerEditPartViewer.flush()public MenuManager getContextMenu()
EditPartViewernull or the MenuManager for this viewer. The menu
manager is set using EditPartViewer.setContextMenu(MenuManager).getContextMenu in interface EditPartViewernull or a MenuManagerEditPartViewer.getContextMenu()public EditPart getContents()
EditPartViewerThe Root of the Viewer is different. By constrast, the root is never selected or targeted, and does not correspond to something in the model.
getContents in interface EditPartViewerEditPartEditPartViewer.getContents()public Control getControl()
EditPartViewernull or the SWT Control for this
viewer. The control is either set explicitly or can be created by the
viewer.getControl in interface EditPartViewerControlEditPartViewer.getControl()protected DelegatingDragAdapter getDelegatingDragAdapter()
null or the DelegatingDragAdapater. The adapter is
created automatically when
addDragSourceListener(TransferDragSourceListener) is called.null or the adapterprotected DelegatingDropAdapter getDelegatingDropAdapter()
null or the DelegatingDropAdapater. The adapter is
created automatically when
addDropTargetListener(TransferDropTargetListener) is called.null or the adapterprotected DragSource getDragSource()
null or the DragSource. The drag source is created
automatically when
addDragSourceListener(TransferDragSourceListener) is called.null or the drag sourceprotected DropTarget getDropTarget()
null or the DropTarget. The drop target is created
automatically when
addDropTargetListener(TransferDropTargetListener) is called.null or the drop targetpublic EditDomain getEditDomain()
EditPartViewerEditDomain to which this viewer belongs.getEditDomain in interface EditPartViewerEditPartViewer.getEditDomain()public EditPartFactory getEditPartFactory()
EditPartViewerEditPartFactory for this viewer. The
EditPartFactory is used to create the contents EditPart when
EditPartViewer.setContents(Object) is called. It is made available so that
other EditParts can use it to create their children or connection
editparts.getEditPartFactory in interface EditPartViewerEditPartViewer.getEditPartFactory()public java.util.Map getEditPartRegistry()
EditPartViewerMap for registering EditParts by
Keys. EditParts may register themselves using any method, and may
register themselves with multiple keys. The purpose of such registration
is to allow an EditPart to be found by other EditParts, or by listeners
of domain notifiers. By default, EditParts are registered by their model.
Some models use a "domain" notification system, in which all changes are dispatched to a single listener. Such a listener might use this map to lookup editparts for a given model, and then ask the editpart to update.
getEditPartRegistry in interface EditPartViewerEditPartViewer.getEditPartRegistry()public EditPart getFocusEditPart()
EditPartViewerEditPart. Focus refers to keyboard
focus. This is the same concept as focus in a native Tree or Table. The
User can change focus using the keyboard without affecting the currently
selected objects. Never returns null.getFocusEditPart in interface EditPartViewerEditPartEditPartViewer.getFocusEditPart()public KeyHandler getKeyHandler()
EditPartViewerKeyHandler for this viewer. The KeyHandler is
sent KeyEvents by the currently active Tool. This is
important, because only the current tool knows if it is in a state in
which keys should be ignored, such as during a drag. By default, only the
SelectionTool forwards keysrokes. It does
not do so during a drag.getKeyHandler in interface EditPartViewernull or a KeyHandlerEditPartViewer.getKeyHandler()public java.lang.Object getProperty(java.lang.String key)
EditPartViewernull if the
property has not been set, or has been set to null.getProperty in interface EditPartViewerkey - the property's keynull.EditPartViewer.getProperty(String)public ResourceManager getResourceManager()
EditPartViewernull, or the ResourceManager for this Viewer. Once a
viewer has a Control, clients may access the viewer's resource manager.
Any resources constructed using this manager, but not freed, will be
freed when the viewer's control is disposed. This does not mean that
clients should be lazy about deallocating resources. If a resource is no
longer needed but the viewer is still in use, the client must deallocate
the resource.
Typical usage is by EditParts contained inside the viewer. EditParts
which are removed from the viewer should free their resources during
EditPart.removeNotify(). When the viewer is disposed,
removeNotify() is not called, but the viewer's resource
manager will be disposed anyway.
The viewer's default resource manager is linked to JFace's
global shared resources.
getResourceManager in interface EditPartViewerEditPartViewer.getResourceManager()public RootEditPart getRootEditPart()
EditPartViewerRootEditPart. The RootEditPart is a special
EditPart that serves as the parent to the contents editpart. The
root is never selected. The root does not correspond to anything
in the model. The User does not interact with the root.
The RootEditPart has a single child: the contents.
By defining the concept of "root", GEF allows the application's "real" EditParts to be more homogeneous. For example, all non-root EditParts have a parent. Also, it allows applications to change the type of root being used without affecting their own editpart implementation hierarchy.
getRootEditPart in interface EditPartViewerEditPartViewer.getRootEditPart()public java.util.List getSelectedEditParts()
EditPartViewerList containing zero or more
selected editparts. This list may be empty. In contrast, the inherited
method
ISelectionProvider.getSelection()
should not return an empty selection. When no editparts are selected,
generally the contents editpart is considered to be selected. This list
can be modified indirectly by calling other methods on the viewer.getSelectedEditParts in interface EditPartViewerEditPartViewer.getSelectedEditParts()public ISelection getSelection()
getSelectedEditParts() returns an empty list, the
contents editpart (getContents()) is returned as the
current selection.getSelection in interface EditPartViewergetSelection in interface ISelectionProviderISelectionProvider.getSelection()public SelectionManager getSelectionManager()
EditPartViewerISelection for the viewer, and manages all changes
to the current selection.getSelectionManager in interface EditPartViewerEditPartViewer.getSelectionManager()public java.util.Map getVisualPartMap()
EditPartViewerMap for associating visual parts with their
EditParts. This map is used for hit-testing. Hit testing is
performed by first determining which visual part is hit, and then mapping
that part to an EditPart. What consistutes a visual
part is viewer-specific. Examples include Figures and
TreeItems.getVisualPartMap in interface EditPartViewerEditPartViewer.getVisualPartMap()protected void hookControl()
unhookControl()protected void hookDragSource()
drag source is automatically
created.protected void hookDropTarget()
drop target is automatically
created.protected void init()
protected java.util.List primGetSelectedEditParts()
protected void refreshDragSourceAdapter()
protected void refreshDropTargetAdapter()
public void registerAccessibleEditPart(AccessibleEditPart acc)
EditPartViewerregisterAccessibleEditPart in interface EditPartVieweracc - the AccessibleEditPartEditPartViewer.registerAccessibleEditPart(AccessibleEditPart)public void removeDragSourceListener(TransferDragSourceListener listener)
EditPartViewerremoveDragSourceListener in interface EditPartViewerlistener - the listenerEditPartViewer.removeDragSourceListener(org.eclipse.gef.dnd.TransferDragSourceListener)public void removeDragSourceListener(TransferDragSourceListener listener)
EditPartViewerremoveDragSourceListener in interface EditPartViewerlistener - the listenerEditPartViewer.removeDragSourceListener(TransferDragSourceListener)public void removeDropTargetListener(TransferDropTargetListener listener)
EditPartViewerremoveDropTargetListener in interface EditPartViewerEditPartViewer.removeDropTargetListener(org.eclipse.gef.dnd.TransferDropTargetListener)public void removeDropTargetListener(TransferDropTargetListener listener)
EditPartViewerremoveDropTargetListener in interface EditPartViewerlistener - the listenerEditPartViewer.removeDropTargetListener(TransferDropTargetListener)public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
EditPartViewerremovePropertyChangeListener in interface EditPartViewerlistener - the listener to removeEditPartViewer.removePropertyChangeListener(PropertyChangeListener)public void removeSelectionChangedListener(ISelectionChangedListener l)
removeSelectionChangedListener in interface ISelectionProviderISelectionProvider.removeSelectionChangedListener(ISelectionChangedListener)public void reveal(EditPart part)
EditPartViewerreveal in interface EditPartViewerpart - the EditPart to revealEditPartViewer.reveal(EditPart)public void select(EditPart editpart)
EditPartViewerEditPart.
That part becomes the primary selection. Fires selection changed to
ISelectionChangedListeners.select in interface EditPartViewereditpart - the new selectionEditPartViewer.select(EditPart)public void setContextMenu(MenuManager manager)
EditPartViewerMenuManager for this viewer. The
MenuManager will be asked to create a Menu, which will be used as the
context menu for this viewer's Control.setContextMenu in interface EditPartViewermanager - the ContextMenuProviderEditPartViewer.setContextMenu(MenuManager)public void setContents(EditPart editpart)
EditPartViewerEditPartViewer.setContents(Object).setContents in interface EditPartViewereditpart - the contentsEditPartViewer.setContents(EditPart)public void setContents(java.lang.Object contents)
EditPartViewerEditPart for the provided model object using the
EditPartFactory. That EditPart is then added to the
RootEditPart, and becomes the viewer's
contents editpart.setContents in interface EditPartViewercontents - the contents model objectEditPartViewer.setContents(Object)public void setControl(Control control)
EditPartViewerControl for this viewer. The viewer's control is
also set automatically if EditPartViewer.createControl(Composite) is called.setControl in interface EditPartViewercontrol - the ControlEditPartViewer.setControl(Control)public void setCursor(Cursor cursor)
EditPartViewerControl. This method should
only be called by Tools. null can be used to
indicate that the default cursor should be restored.setCursor in interface EditPartViewercursor - null or a CursorEditPartViewer.setCursor(Cursor)protected void setDragSource(DragSource source)
refreshDragSourceAdapter().source - null or a drag sourceprotected void setDropTarget(DropTarget target)
refreshDropTargetAdapter().target - dropTarget null or a drop targetpublic void setEditDomain(EditDomain editdomain)
EditPartViewerEditDomain for this viewer. The Viewer will route
all mouse and keyboard events to the EditDomain.setEditDomain in interface EditPartViewereditdomain - The EditDomainEditPartViewer.setEditDomain(EditDomain)public void setEditPartFactory(EditPartFactory factory)
EditPartViewersetEditPartFactory in interface EditPartViewerfactory - the factoryEditPartViewer.setEditPartFactory(org.eclipse.gef.EditPartFactory)public void setFocus(EditPart part)
EditPartViewersetFocus in interface EditPartViewerpart - the FocusPart.EditPartViewer.setFocus(EditPart)public void setKeyHandler(KeyHandler handler)
EditPartViewerKeyHandler.setKeyHandler in interface EditPartViewerhandler - the KeyHandlerEditPartViewer.setKeyHandler(KeyHandler)public void setProperty(java.lang.String key,
java.lang.Object value)
EditPartViewerEditPartViewer.addPropertyChangeListener(PropertyChangeListener). A
null value will remove the property from the viewer.setProperty in interface EditPartViewerkey - a unique string identifying the propertyvalue - the properties new value or null to removeEditPartViewer.setProperty(String, Object)public void setRootEditPart(RootEditPart editpart)
EditPartViewersetRootEditPart in interface EditPartViewereditpart - the RootEditPartEditPartViewer.setRootEditPart(RootEditPart)public void setRouteEventsToEditDomain(boolean value)
EditPartViewerEditDomain rather than handled in the default way.setRouteEventsToEditDomain in interface EditPartViewervalue - true if the viewer should route events to the EditDomainEditPartViewer.setRouteEventsToEditDomain(boolean)public void setSelection(ISelection newSelection)
IStructuredSelection or it will be
ignored.setSelection in interface ISelectionProviderISelectionProvider.setSelection(ISelection)protected void unhookControl()
null, but before it
is null.public void unregisterAccessibleEditPart(AccessibleEditPart acc)
unregisterAccessibleEditPart in interface EditPartVieweracc - the accessible partEditPartViewer.unregisterAccessibleEditPart(AccessibleEditPart)Copyright (c) IBM Corp. and others 2000, 2011. All Rights Reserved.