Package org.eclipse.gef.editpolicies
Class GraphicalNodeEditPolicy
java.lang.Object
org.eclipse.gef.editpolicies.AbstractEditPolicy
org.eclipse.gef.editpolicies.GraphicalEditPolicy
org.eclipse.gef.editpolicies.GraphicalNodeEditPolicy
- All Implemented Interfaces:
EditPolicy
,RequestConstants
A GraphicalNodeEditPolicy is responsible for creating and reconnecting
connections graphically.
Created on :Nov 11, 2002
- Since:
- 2.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.eclipse.draw2d.Connection
The connection feedback displayed during createsprotected FeedbackHelper
the current FeedbackHelperFields inherited from interface org.eclipse.gef.EditPolicy
COMPONENT_ROLE, CONNECTION_BENDPOINTS_ROLE, CONNECTION_ENDPOINTS_ROLE, CONNECTION_ROLE, CONTAINER_ROLE, DIRECT_EDIT_ROLE, GRAPHICAL_NODE_ROLE, LAYOUT_ROLE, NODE_ROLE, PRIMARY_DRAG_ROLE, SELECTION_FEEDBACK_ROLE, TREE_CONTAINER_ROLE
Fields inherited from interface org.eclipse.gef.RequestConstants
REQ_ADD, REQ_ALIGN, REQ_ALIGN_CHILDREN, REQ_CLONE, REQ_CONNECTION_END, REQ_CONNECTION_START, REQ_CREATE, REQ_CREATE_BENDPOINT, REQ_DELETE, REQ_DELETE_DEPENDANT, REQ_DIRECT_EDIT, REQ_MOVE, REQ_MOVE_BENDPOINT, REQ_MOVE_CHILDREN, REQ_OPEN, REQ_ORPHAN, REQ_ORPHAN_CHILDREN, REQ_RECONNECT_SOURCE, REQ_RECONNECT_TARGET, REQ_RESIZE, REQ_RESIZE_CHILDREN, REQ_SELECTION, REQ_SELECTION_HOVER
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected org.eclipse.draw2d.Connection
Returns a connection to be used as feeback during creates.void
Does nothing by default.protected void
Erases connection feedback if necessary.void
eraseSourceFeedback
(Request request) CallseraseCreationFeedback(CreateConnectionRequest)
when appropriate.protected void
eraseTargetConnectionFeedback
(DropRequest request) Override to erase target feedback.void
eraseTargetFeedback
(Request request) CallseraseTargetConnectionFeedback(DropRequest)
when appropriate.getCommand
(Request request) Factors the request into one of four abstract methods.protected abstract Command
Returns the Command that will create the connection.protected abstract Command
Returns the command that represents the first half of creating a connection.protected org.eclipse.draw2d.ConnectionRouter
Returns the ConnectionRouter for the creation feedback's connection.protected FeedbackHelper
getFeedbackHelper
(CreateConnectionRequest request) Returns the FeedbackHelper that is ready to use.protected abstract Command
Returns theCommand
to reconnect a connection's source end to the host.protected abstract Command
Returns theCommand
to reconnect a connection's target end to the host.protected org.eclipse.draw2d.ConnectionAnchor
Called during the display of creation feedback to snap the feedback to the nearest source ConnectionAnchor.protected org.eclipse.draw2d.ConnectionAnchor
Called during the display of creation feedback to snap the feedback to the nearest target ConnectionAnchor.getTargetEditPart
(Request request) Returns the host for the appropriateRequests
.protected void
Shows feedback during a creation.void
showSourceFeedback
(Request request) callsshowCreationFeedback(CreateConnectionRequest)
when appropriate.protected void
showTargetConnectionFeedback
(DropRequest request) Override to show target connection feedback.void
showTargetFeedback
(Request request) CallsshowTargetConnectionFeedback(DropRequest)
when appropriate.Methods inherited from class org.eclipse.gef.editpolicies.GraphicalEditPolicy
addFeedback, getFeedbackLayer, getHostFigure, getLayer, removeFeedback
Methods inherited from class org.eclipse.gef.editpolicies.AbstractEditPolicy
activate, debugFeedback, getHost, setHost, toString, understandsRequest
-
Field Details
-
feedbackHelper
the current FeedbackHelper -
connectionFeedback
protected org.eclipse.draw2d.Connection connectionFeedbackThe connection feedback displayed during creates
-
-
Constructor Details
-
GraphicalNodeEditPolicy
public GraphicalNodeEditPolicy()
-
-
Method Details
-
createDummyConnection
Returns a connection to be used as feeback during creates.- Parameters:
req
- the operation being performed- Returns:
- a connection to use as feedback
-
deactivate
public void deactivate()Description copied from class:AbstractEditPolicy
Does nothing by default.- Specified by:
deactivate
in interfaceEditPolicy
- Overrides:
deactivate
in classAbstractEditPolicy
- See Also:
-
eraseCreationFeedback
Erases connection feedback if necessary. Frees unused fields.- Parameters:
request
- the CreateConnectionRequest
-
eraseSourceFeedback
CallseraseCreationFeedback(CreateConnectionRequest)
when appropriate.- Specified by:
eraseSourceFeedback
in interfaceEditPolicy
- Overrides:
eraseSourceFeedback
in classAbstractEditPolicy
- Parameters:
request
- the Request- See Also:
-
eraseTargetConnectionFeedback
Override to erase target feedback. Does nothing by default.- Parameters:
request
- the DropRequest
-
eraseTargetFeedback
CallseraseTargetConnectionFeedback(DropRequest)
when appropriate.- Specified by:
eraseTargetFeedback
in interfaceEditPolicy
- Overrides:
eraseTargetFeedback
in classAbstractEditPolicy
- Parameters:
request
- the Request- See Also:
-
getCommand
Factors the request into one of four abstract methods. Subclasses must implement these methods.- Specified by:
getCommand
in interfaceEditPolicy
- Overrides:
getCommand
in classAbstractEditPolicy
- Parameters:
request
- the Request- Returns:
null
or a Command contribution- See Also:
-
getConnectionCompleteCommand
Returns the Command that will create the connection. This is second part of creation.CreateConnectionRequest.getStartCommand()
is used here to obtain the contribution from the EditPart from which the User started the creation.- Parameters:
request
- the CreateConnectionRequest- Returns:
- the complete command to create a connection
-
getConnectionCreateCommand
Returns the command that represents the first half of creating a connection. In case the first half of the connection creation was successful (i.e. the returned start command is executable), the target edit part is then responsible of creating a Command that represents the entire creation. In case the target edit part needs to refer to the start command to achieve this, the start command may be registered on the passed in create request (seeCreateConnectionRequest.setStartCommand(Command)
) before returning it here.- Parameters:
request
- the CreateConnectionRequest- Returns:
- a Command representing half of a connection creation
- See Also:
-
getDummyConnectionRouter
protected org.eclipse.draw2d.ConnectionRouter getDummyConnectionRouter(CreateConnectionRequest request) Returns the ConnectionRouter for the creation feedback's connection.- Parameters:
request
- the create request- Returns:
- a connection router
- Since:
- 3.2
-
getFeedbackHelper
Returns the FeedbackHelper that is ready to use. The feedback helper must be configured with the connection that will be used to display feedback, and that connection must be added to the appropriate layer in the diagram.- Parameters:
request
- the CreateConnectionRequest- Returns:
- a FeedbackHelper
-
getReconnectTargetCommand
Returns theCommand
to reconnect a connection's target end to the host.- Parameters:
request
- the ReconnectRequest- Returns:
- a Command
-
getReconnectSourceCommand
Returns theCommand
to reconnect a connection's source end to the host.- Parameters:
request
- the ReconnectRequest- Returns:
- a Command
-
getSourceConnectionAnchor
protected org.eclipse.draw2d.ConnectionAnchor getSourceConnectionAnchor(CreateConnectionRequest request) Called during the display of creation feedback to snap the feedback to the nearest source ConnectionAnchor.- Parameters:
request
- CreateConnectionRequest- Returns:
null
or the nearest source ConnectionAnchor
-
getTargetConnectionAnchor
protected org.eclipse.draw2d.ConnectionAnchor getTargetConnectionAnchor(CreateConnectionRequest request) Called during the display of creation feedback to snap the feedback to the nearest target ConnectionAnchor.- Parameters:
request
- CreateConnectionRequest- Returns:
null
or the nearest target ConnectionAnchor
-
getTargetEditPart
Returns the host for the appropriateRequests
. Returnsnull
otherwise.- Specified by:
getTargetEditPart
in interfaceEditPolicy
- Overrides:
getTargetEditPart
in classAbstractEditPolicy
- Parameters:
request
- the Request- Returns:
null
or the appropriate targetEditPart
- See Also:
-
showCreationFeedback
Shows feedback during a creation.- Parameters:
request
- CreateConnectionRequest
-
showSourceFeedback
callsshowCreationFeedback(CreateConnectionRequest)
when appropriate.- Specified by:
showSourceFeedback
in interfaceEditPolicy
- Overrides:
showSourceFeedback
in classAbstractEditPolicy
- Parameters:
request
- the Request- See Also:
-
showTargetConnectionFeedback
Override to show target connection feedback. Does nothing by default.- Parameters:
request
- the DropRequest
-
showTargetFeedback
CallsshowTargetConnectionFeedback(DropRequest)
when appropriate.- Specified by:
showTargetFeedback
in interfaceEditPolicy
- Overrides:
showTargetFeedback
in classAbstractEditPolicy
- Parameters:
request
- the Request- See Also:
-