|
Modelers | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.gef.editpolicies.AbstractEditPolicy
org.eclipse.gef.editpolicies.GraphicalEditPolicy
org.eclipse.gef.editpolicies.LayoutEditPolicy
org.eclipse.gef.editpolicies.ConstrainedLayoutEditPolicy
org.eclipse.gef.editpolicies.XYLayoutEditPolicy
org.topcased.modeler.edit.policies.ModelerLayoutEditPolicy
public abstract class ModelerLayoutEditPolicy
Basic Edit policy for XY layout objects.
Add drag'n drop from outline support.
Add Autolayout support.
creation : 1 juil. 2005
Field Summary |
---|
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 | |
---|---|
ModelerLayoutEditPolicy()
|
Method Summary | |
---|---|
protected int |
borderToAttach(GraphNode node)
Gives the border to attach to. |
protected int |
calculateChildAttachment(GraphNode node,
org.eclipse.draw2d.geometry.Point loc,
org.eclipse.draw2d.geometry.Rectangle container)
Calculate the nearest border where the graphNode should be attached at the creation depending on its location ( Point ) and its container (Rectangle ) |
protected org.eclipse.draw2d.geometry.Point |
calculateChildPosition(org.eclipse.draw2d.geometry.Rectangle constraint,
org.eclipse.gef.GraphicalEditPart parent)
Calculate the Point where to create the child node |
protected org.eclipse.gef.commands.Command |
createAddCommand(org.eclipse.gef.EditPart child,
java.lang.Object constraint)
|
protected org.eclipse.gef.commands.Command |
createChangeConstraintCommand(org.eclipse.gef.requests.ChangeBoundsRequest request,
org.eclipse.gef.EditPart child,
java.lang.Object constraint)
|
protected org.eclipse.gef.commands.Command |
createChangeConstraintCommand(org.eclipse.gef.EditPart child,
java.lang.Object constraint)
Check if the node (child) is always in the diagram bounds |
protected org.eclipse.gef.commands.Command |
createChangeConstraintCommand(org.eclipse.gef.EditPart child,
java.lang.Object constraint,
boolean checkConstraint)
Create the command to change the constraints of the EditPart. |
protected org.eclipse.gef.EditPolicy |
createChildEditPolicy(org.eclipse.gef.EditPart child)
|
protected org.eclipse.draw2d.IFigure |
createFeedbackFigure()
Creates the default feedback figure |
void |
deactivate()
|
protected void |
eraseLayoutTargetFeedback(org.eclipse.gef.Request request)
|
protected org.eclipse.draw2d.geometry.Point |
getAbsoluteMouseLocation(org.eclipse.draw2d.geometry.Point relativeLocation)
Get the absolute coordinates from relative coordinates given by the pointer Location |
protected org.eclipse.gef.commands.Command |
getAutoLayoutCommand(AutoLayoutRequest request)
Create the AutoLayout Command for the given request |
org.eclipse.gef.commands.Command |
getCommand(org.eclipse.gef.Request request)
Factors out AUTOLAYOUT, otherwise calls super . |
protected java.lang.Object |
getConstraintFor(org.eclipse.gef.requests.ChangeBoundsRequest request,
org.eclipse.gef.GraphicalEditPart child)
Overridden to prevent sizes from becoming too small, and to prevent preferred sizes from getting lost. |
protected java.lang.Object |
getConstraintFor(org.eclipse.gef.requests.CreateRequest request)
|
protected org.eclipse.gef.commands.Command |
getCreateCommand(org.eclipse.gef.requests.CreateRequest request)
|
protected org.eclipse.gef.commands.Command |
getCreateCommand(org.eclipse.gef.EditDomain domain,
GraphNode newObject,
GraphNode newParent,
EObject newContainerParent,
org.eclipse.draw2d.geometry.Point location,
org.eclipse.draw2d.geometry.Dimension dimension,
int attach,
java.util.List featuresList,
boolean needModelUpdate)
Generate the command. |
protected org.eclipse.gef.commands.Command |
getCreateCommand(GraphNode parent,
GraphNode child,
org.eclipse.draw2d.geometry.Point loc,
org.eclipse.draw2d.geometry.Dimension dim,
int pos,
boolean needModelUpdate)
Returns the command for the GraphElement creation |
protected org.eclipse.draw2d.geometry.Rectangle |
getCurrentConstraintFor(org.eclipse.gef.GraphicalEditPart child)
Retrieves the child's current constraint from the LayoutManager . |
protected org.eclipse.gef.commands.Command |
getDeleteDependantCommand(org.eclipse.gef.Request request)
|
protected org.eclipse.draw2d.IFigure |
getFeedbackFigure(org.eclipse.gef.GraphicalEditPart child)
Lazily creates and returns the feedback figure used during drags. |
protected org.eclipse.draw2d.IFigure |
getFeedbackLayer()
Returns the layer used for displaying feedback. |
protected EObject |
getParentContainerEObject(GraphElement parent,
DiagramElement child)
By default, it is the model object associated with the parent node that should contain the child |
protected boolean |
isAttachedToBorder(GraphNode node)
Determine if the object must be attached to the nearest border. |
protected boolean |
isExternalObjectAllowed(GraphNode parent,
GraphNode child)
Returns true if an external object can be displayed in this container. |
protected boolean |
isSeveralDisplayAllowed(GraphNode parent,
GraphNode child,
boolean needModelUpdate)
Returns true if an model object can be displayed several time in the same diagram. |
protected boolean |
isValid(EObject child,
EObject parent)
Check if the current EObject is a valid child for the parent EObject. |
protected boolean |
isValidConstraint(org.eclipse.gef.GraphicalEditPart parent,
org.eclipse.draw2d.geometry.Rectangle constraint)
Check if the given constraint location is valid for a child of this editpart |
protected void |
showLayoutTargetFeedback(org.eclipse.gef.Request request)
|
Methods inherited from class org.eclipse.gef.editpolicies.XYLayoutEditPolicy |
---|
getConstraintFor, getConstraintFor, getLayoutOrigin, getMinimumSizeFor, getXYLayout, setXyLayout, showSizeOnDropFeedback |
Methods inherited from class org.eclipse.gef.editpolicies.ConstrainedLayoutEditPolicy |
---|
getAddCommand, getAlignChildrenCommand, getConstraintForClone, getMoveChildrenCommand, getResizeChildrenCommand, translateToModelConstraint |
Methods inherited from class org.eclipse.gef.editpolicies.LayoutEditPolicy |
---|
activate, createListener, createSizeOnDropFeedback, decorateChild, decorateChildren, eraseSizeOnDropFeedback, eraseTargetFeedback, getCloneCommand, getCreationFeedbackOffset, getLayoutContainer, getOrphanChildrenCommand, getSizeOnDropFeedback, getSizeOnDropFeedback, getTargetEditPart, setListener, showTargetFeedback, undecorateChild, undecorateChildren |
Methods inherited from class org.eclipse.gef.editpolicies.GraphicalEditPolicy |
---|
addFeedback, getHostFigure, getLayer, removeFeedback |
Methods inherited from class org.eclipse.gef.editpolicies.AbstractEditPolicy |
---|
debugFeedback, eraseSourceFeedback, getHost, setHost, showSourceFeedback, toString, understandsRequest |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public ModelerLayoutEditPolicy()
Method Detail |
---|
protected boolean isExternalObjectAllowed(GraphNode parent, GraphNode child)
true
if an external object can be displayed in this container. External objects are
objects included in a different container.
parent
- The containerchild
- the child GraphNode
false
protected boolean isSeveralDisplayAllowed(GraphNode parent, GraphNode child, boolean needModelUpdate)
true
if an model object can be displayed several time in the same diagram.
parent
- The containerchild
- the child GraphNodeneedModelUpdate
- true
if the model is modified by the command
false
protected org.eclipse.gef.commands.Command getCreateCommand(org.eclipse.gef.requests.CreateRequest request)
getCreateCommand
in class org.eclipse.gef.editpolicies.LayoutEditPolicy
LayoutEditPolicy.getCreateCommand(org.eclipse.gef.requests.CreateRequest)
protected boolean isAttachedToBorder(GraphNode node)
node
- the GraphNode that is created
protected int borderToAttach(GraphNode node)
node
- the GraphNode that is created
PositionConstants
protected int calculateChildAttachment(GraphNode node, org.eclipse.draw2d.geometry.Point loc, org.eclipse.draw2d.geometry.Rectangle container)
Point
) and its container (Rectangle
)
node
- the graphNode that is createdloc
- the location where the user has clicked in the container coordinates.container
- the container Figure
PositionConstant
protected org.eclipse.gef.commands.Command getCreateCommand(GraphNode parent, GraphNode child, org.eclipse.draw2d.geometry.Point loc, org.eclipse.draw2d.geometry.Dimension dim, int pos, boolean needModelUpdate)
parent
- The containerchild
- The child to addloc
- The positiondim
- The selected areapos
- Specify eventually the attachment of the GraphNodeneedModelUpdate
- true
if the model must be updated with this children, false
if we only went to add its graphical representation.
protected org.eclipse.gef.commands.Command getCreateCommand(org.eclipse.gef.EditDomain domain, GraphNode newObject, GraphNode newParent, EObject newContainerParent, org.eclipse.draw2d.geometry.Point location, org.eclipse.draw2d.geometry.Dimension dimension, int attach, java.util.List featuresList, boolean needModelUpdate)
domain
- the EditDomain (used to init the name)newObject
- the node to createnewParent
- the parentNode nodenewContainerParent
- the model object that should contain the new childNode objectlocation
- the location of the created nodedimension
- the size of the created nodeattach
- the newAttachment of the created nodefeaturesList
- the avalaible model element feature of the parentNode node where the model element of the
childNode node can be addedneedModelUpdate
- true
if the model must be modified during this command, false
if objects already exist in the mode.
protected EObject getParentContainerEObject(GraphElement parent, DiagramElement child)
parent
- the parent node
protected boolean isValid(EObject child, EObject parent)
child
- the child EObjectparent
- the parent EObject
protected org.eclipse.draw2d.geometry.Point calculateChildPosition(org.eclipse.draw2d.geometry.Rectangle constraint, org.eclipse.gef.GraphicalEditPart parent)
constraint
- the rectangle constraintparent
- the parent zone were graph node will be created
protected org.eclipse.draw2d.IFigure getFeedbackLayer()
getFeedbackLayer
in class org.eclipse.gef.editpolicies.GraphicalEditPolicy
protected org.eclipse.gef.commands.Command getAutoLayoutCommand(AutoLayoutRequest request)
request
- the autolayout request
public org.eclipse.gef.commands.Command getCommand(org.eclipse.gef.Request request)
super
.
getCommand
in interface org.eclipse.gef.EditPolicy
getCommand
in class org.eclipse.gef.editpolicies.ConstrainedLayoutEditPolicy
EditPolicy.getCommand(Request)
protected org.eclipse.gef.commands.Command createChangeConstraintCommand(org.eclipse.gef.requests.ChangeBoundsRequest request, org.eclipse.gef.EditPart child, java.lang.Object constraint)
createChangeConstraintCommand
in class org.eclipse.gef.editpolicies.ConstrainedLayoutEditPolicy
ConstrainedLayoutEditPolicy.createChangeConstraintCommand(org.eclipse.gef.requests.ChangeBoundsRequest,
org.eclipse.gef.EditPart, java.lang.Object)
protected java.lang.Object getConstraintFor(org.eclipse.gef.requests.ChangeBoundsRequest request, org.eclipse.gef.GraphicalEditPart child)
XYLayoutEditPolicy.getMinimumSizeFor(GraphicalEditPart)
and the current Attachment is preserved.
getConstraintFor
in class org.eclipse.gef.editpolicies.XYLayoutEditPolicy
XYLayoutEditPolicy.getConstraintFor(org.eclipse.gef.requests.ChangeBoundsRequest,
org.eclipse.gef.GraphicalEditPart)
protected java.lang.Object getConstraintFor(org.eclipse.gef.requests.CreateRequest request)
getConstraintFor
in class org.eclipse.gef.editpolicies.ConstrainedLayoutEditPolicy
ConstrainedLayoutEditPolicy.getConstraintFor(org.eclipse.gef.requests.CreateRequest)
protected org.eclipse.draw2d.geometry.Point getAbsoluteMouseLocation(org.eclipse.draw2d.geometry.Point relativeLocation)
relativeLocation
-
protected org.eclipse.draw2d.geometry.Rectangle getCurrentConstraintFor(org.eclipse.gef.GraphicalEditPart child)
LayoutManager
.
getCurrentConstraintFor
in class org.eclipse.gef.editpolicies.XYLayoutEditPolicy
child
- the child
protected org.eclipse.gef.commands.Command createChangeConstraintCommand(org.eclipse.gef.EditPart child, java.lang.Object constraint)
createChangeConstraintCommand
in class org.eclipse.gef.editpolicies.ConstrainedLayoutEditPolicy
ConstrainedLayoutEditPolicy.createChangeConstraintCommand(org.eclipse.gef.EditPart,
java.lang.Object)
protected org.eclipse.gef.commands.Command createChangeConstraintCommand(org.eclipse.gef.EditPart child, java.lang.Object constraint, boolean checkConstraint)
child
- the EditPart to moveconstraint
- the new constraintscheckConstraint
- if true
the command is created only if the bounds are in the parent client
area.
protected boolean isValidConstraint(org.eclipse.gef.GraphicalEditPart parent, org.eclipse.draw2d.geometry.Rectangle constraint)
parent
- the parent editpartconstraint
- the child constraint
true
if these constraints are validprotected org.eclipse.gef.commands.Command createAddCommand(org.eclipse.gef.EditPart child, java.lang.Object constraint)
createAddCommand
in class org.eclipse.gef.editpolicies.ConstrainedLayoutEditPolicy
ConstrainedLayoutEditPolicy.createAddCommand(org.eclipse.gef.EditPart,
java.lang.Object)
protected org.eclipse.gef.commands.Command getDeleteDependantCommand(org.eclipse.gef.Request request)
getDeleteDependantCommand
in class org.eclipse.gef.editpolicies.LayoutEditPolicy
LayoutEditPolicy.getDeleteDependantCommand(org.eclipse.gef.Request)
protected org.eclipse.gef.EditPolicy createChildEditPolicy(org.eclipse.gef.EditPart child)
createChildEditPolicy
in class org.eclipse.gef.editpolicies.ConstrainedLayoutEditPolicy
LayoutEditPolicy.createChildEditPolicy(org.eclipse.gef.EditPart)
protected void showLayoutTargetFeedback(org.eclipse.gef.Request request)
showLayoutTargetFeedback
in class org.eclipse.gef.editpolicies.LayoutEditPolicy
LayoutEditPolicy.showLayoutTargetFeedback(org.eclipse.gef.Request)
protected org.eclipse.draw2d.IFigure createFeedbackFigure()
protected org.eclipse.draw2d.IFigure getFeedbackFigure(org.eclipse.gef.GraphicalEditPart child)
child
- the edit part to show the feedback for
protected void eraseLayoutTargetFeedback(org.eclipse.gef.Request request)
eraseLayoutTargetFeedback
in class org.eclipse.gef.editpolicies.LayoutEditPolicy
LayoutEditPolicy.eraseLayoutTargetFeedback(org.eclipse.gef.Request)
public void deactivate()
deactivate
in interface org.eclipse.gef.EditPolicy
deactivate
in class org.eclipse.gef.editpolicies.LayoutEditPolicy
LayoutEditPolicy.deactivate()
|
Modelers | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright (c) 2005 TOPCASED Contributors 2005 - 2007. All rights reserved.