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
public abstract class GraphicalNodeEditPolicy extends GraphicalEditPolicy
A GraphicalNodeEditPolicy is responsible for creating and reconnecting connections graphically. Created on :Nov 11, 2002- Since:
- 2.0
-
-
Field Summary
Fields Modifier and Type Field Description protected org.eclipse.draw2d.ConnectionconnectionFeedbackThe connection feedback displayed during createsprotected FeedbackHelperfeedbackHelperthe current FeedbackHelper-
Fields 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 Constructor Description GraphicalNodeEditPolicy()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected org.eclipse.draw2d.ConnectioncreateDummyConnection(Request req)Returns a connection to be used as feeback during creates.voiddeactivate()Does nothing by default.protected voideraseCreationFeedback(CreateConnectionRequest request)Erases connection feedback if necessary.voideraseSourceFeedback(Request request)CallseraseCreationFeedback(CreateConnectionRequest)when appropriate.protected voideraseTargetConnectionFeedback(DropRequest request)Override to erase target feedback.voideraseTargetFeedback(Request request)CallseraseTargetConnectionFeedback(DropRequest)when appropriate.CommandgetCommand(Request request)Factors the request into one of four abstract methods.protected abstract CommandgetConnectionCompleteCommand(CreateConnectionRequest request)Returns the Command that will create the connection.protected abstract CommandgetConnectionCreateCommand(CreateConnectionRequest request)Returns the command that represents the first half of creating a connection.protected org.eclipse.draw2d.ConnectionRoutergetDummyConnectionRouter(CreateConnectionRequest request)Returns the ConnectionRouter for the creation feedback's connection.protected FeedbackHelpergetFeedbackHelper(CreateConnectionRequest request)Returns the FeedbackHelper that is ready to use.protected abstract CommandgetReconnectSourceCommand(ReconnectRequest request)Returns theCommandto reconnect a connection's source end to the host.protected abstract CommandgetReconnectTargetCommand(ReconnectRequest request)Returns theCommandto reconnect a connection's target end to the host.protected org.eclipse.draw2d.ConnectionAnchorgetSourceConnectionAnchor(CreateConnectionRequest request)Called during the display of creation feedback to snap the feedback to the nearest source ConnectionAnchor.protected org.eclipse.draw2d.ConnectionAnchorgetTargetConnectionAnchor(CreateConnectionRequest request)Called during the display of creation feedback to snap the feedback to the nearest target ConnectionAnchor.EditPartgetTargetEditPart(Request request)Returns the host for the appropriateRequests.protected voidshowCreationFeedback(CreateConnectionRequest request)Shows feedback during a creation.voidshowSourceFeedback(Request request)callsshowCreationFeedback(CreateConnectionRequest)when appropriate.protected voidshowTargetConnectionFeedback(DropRequest request)Override to show target connection feedback.voidshowTargetFeedback(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 Detail
-
feedbackHelper
protected FeedbackHelper feedbackHelper
the current FeedbackHelper
-
connectionFeedback
protected org.eclipse.draw2d.Connection connectionFeedback
The connection feedback displayed during creates
-
-
Method Detail
-
createDummyConnection
protected org.eclipse.draw2d.Connection createDummyConnection(Request req)
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:AbstractEditPolicyDoes nothing by default.- Specified by:
deactivatein interfaceEditPolicy- Overrides:
deactivatein classAbstractEditPolicy- See Also:
EditPolicy.deactivate()
-
eraseCreationFeedback
protected void eraseCreationFeedback(CreateConnectionRequest request)
Erases connection feedback if necessary. Frees unused fields.- Parameters:
request- the CreateConnectionRequest
-
eraseSourceFeedback
public void eraseSourceFeedback(Request request)
CallseraseCreationFeedback(CreateConnectionRequest)when appropriate.- Specified by:
eraseSourceFeedbackin interfaceEditPolicy- Overrides:
eraseSourceFeedbackin classAbstractEditPolicy- Parameters:
request- the Request- See Also:
EditPolicy.eraseSourceFeedback(Request)
-
eraseTargetConnectionFeedback
protected void eraseTargetConnectionFeedback(DropRequest request)
Override to erase target feedback. Does nothing by default.- Parameters:
request- the DropRequest
-
eraseTargetFeedback
public void eraseTargetFeedback(Request request)
CallseraseTargetConnectionFeedback(DropRequest)when appropriate.- Specified by:
eraseTargetFeedbackin interfaceEditPolicy- Overrides:
eraseTargetFeedbackin classAbstractEditPolicy- Parameters:
request- the Request- See Also:
EditPolicy.eraseTargetFeedback(Request)
-
getCommand
public Command getCommand(Request request)
Factors the request into one of four abstract methods. Subclasses must implement these methods.- Specified by:
getCommandin interfaceEditPolicy- Overrides:
getCommandin classAbstractEditPolicy- Parameters:
request- the Request- Returns:
nullor a Command contribution- See Also:
EditPolicy.getCommand(Request)
-
getConnectionCompleteCommand
protected abstract Command getConnectionCompleteCommand(CreateConnectionRequest request)
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
protected abstract Command getConnectionCreateCommand(CreateConnectionRequest request)
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:
getConnectionCompleteCommand(CreateConnectionRequest)
-
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
protected FeedbackHelper getFeedbackHelper(CreateConnectionRequest request)
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
protected abstract Command getReconnectTargetCommand(ReconnectRequest request)
Returns theCommandto reconnect a connection's target end to the host.- Parameters:
request- the ReconnectRequest- Returns:
- a Command
-
getReconnectSourceCommand
protected abstract Command getReconnectSourceCommand(ReconnectRequest request)
Returns theCommandto 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:
nullor 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:
nullor the nearest target ConnectionAnchor
-
getTargetEditPart
public EditPart getTargetEditPart(Request request)
Returns the host for the appropriateRequests. Returnsnullotherwise.- Specified by:
getTargetEditPartin interfaceEditPolicy- Overrides:
getTargetEditPartin classAbstractEditPolicy- Parameters:
request- the Request- Returns:
nullor the appropriate targetEditPart- See Also:
EditPolicy.getTargetEditPart(Request)
-
showCreationFeedback
protected void showCreationFeedback(CreateConnectionRequest request)
Shows feedback during a creation.- Parameters:
request- CreateConnectionRequest
-
showSourceFeedback
public void showSourceFeedback(Request request)
callsshowCreationFeedback(CreateConnectionRequest)when appropriate.- Specified by:
showSourceFeedbackin interfaceEditPolicy- Overrides:
showSourceFeedbackin classAbstractEditPolicy- Parameters:
request- the Request- See Also:
EditPolicy.showSourceFeedback(Request)
-
showTargetConnectionFeedback
protected void showTargetConnectionFeedback(DropRequest request)
Override to show target connection feedback. Does nothing by default.- Parameters:
request- the DropRequest
-
showTargetFeedback
public void showTargetFeedback(Request request)
CallsshowTargetConnectionFeedback(DropRequest)when appropriate.- Specified by:
showTargetFeedbackin interfaceEditPolicy- Overrides:
showTargetFeedbackin classAbstractEditPolicy- Parameters:
request- the Request- See Also:
EditPolicy.showTargetFeedback(Request)
-
-