Interface ConnectionEditPart
-
- All Superinterfaces:
EditPart
,GraphicalEditPart
,IAdaptable
- All Known Implementing Classes:
AbstractConnectionEditPart
public interface ConnectionEditPart extends GraphicalEditPart
A specialization ofGraphicalEditPart
for representing connections. ConnectionEditParts must join a source and target EditPart. Its Figure is typically a line between two "nodes", with possible decorations on that line.In GEF, ConnectionEditParts are structural features of their source and target "nodes", which are EditParts. However, the model does not have this requirement. The application may store the connection model in any way, or there may even be no real model. The burden is on the source and target EditPart to obtain their appropriate connections in the methods
getModelSourceConnections()
andgetModelTargetConnections()
. How this is done is application specific.Since ConnectionEditParts are features of their node EditPart, it is those EditParts that must create and manage the connection. Creation is performed by whichever end happens to "intialize" itself first. Therefore an end always looks first in the
EditPartRegistry
to see if the connection was already created by the other end.ConnectionEditParts are EditParts, and therefore can have children. This is a common way to implement labels and other selectable decorations on connections. Similarly, a ConnectionEditPart can also be a "node", meaning it can serve as the source or target of some other ConnectionEditPart. This makes connection to connection possible.
IMPORTANT: The need to display something as a line does not automatically mean that a ConnectionEditPart is required. There are several situations in which ConnectionEditParts should not be used. You should use ConnectionEditParts in general if:
- The connection should be selectable by the user independant of its "nodes".
- The connection can be deleted, leaving the source and target intact.
- The connection cannot exist without a source and target. A instance of when this is not true is assocations. Associations are top-level object that are children of the diagram. They are probably only valid if they have a source and target, but many applications allow you to create things in any order.
-
-
Field Summary
-
Fields inherited from interface org.eclipse.gef.EditPart
SELECTED, SELECTED_NONE, SELECTED_PRIMARY
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description EditPart
getSource()
EditPart
getTarget()
void
setSource(EditPart source)
Sets the source of this connection.void
setTarget(EditPart target)
Sets thetarget of this connection.-
Methods inherited from interface org.eclipse.gef.EditPart
activate, addEditPartListener, addNotify, deactivate, eraseSourceFeedback, eraseTargetFeedback, getChildren, getCommand, getDragTracker, getEditPolicy, getModel, getParent, getRoot, getSelected, getTargetEditPart, getViewer, hasFocus, installEditPolicy, isActive, isSelectable, performRequest, refresh, removeEditPartListener, removeEditPolicy, removeNotify, setFocus, setModel, setParent, setSelected, showSourceFeedback, showTargetFeedback, understandsRequest
-
Methods inherited from interface org.eclipse.gef.GraphicalEditPart
addNodeListener, getContentPane, getFigure, getSourceConnections, getTargetConnections, removeNodeListener, setLayoutConstraint
-
Methods inherited from interface org.eclipse.core.runtime.IAdaptable
getAdapter
-
-
-
-
Method Detail
-
getSource
EditPart getSource()
- Returns:
- the EditPart at the source end of this connection.
-
getTarget
EditPart getTarget()
- Returns:
- the EditPart at the target end of this connection.
-
setSource
void setSource(EditPart source)
Sets the source of this connection.- Parameters:
source
- the source of this connection
-
setTarget
void setTarget(EditPart target)
Sets thetarget of this connection.- Parameters:
target
- the target of this connection
-
-