|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--y.view.ViewMode | +--y.view.CreateEdgeMode
This view mode is responsible for creating edges.
An edge is created with this mode in the following way:
CreateEdgeMode.setCancelKeyCode(int)
).
The default edge realizer of the Graph2D will be assigned to the newly created edge.
It is possible to allow and forbid the creation of bends in this mode.
This mode provides some hook methods that are meant to be overridden in order to influence the behaviour of this mode.
Field Summary |
Fields inherited from class y.view.ViewMode |
lastClickEvent, lastDragEvent, lastPressEvent, lastReleaseEvent, originalX, originalY, view |
Constructor Summary | |
CreateEdgeMode()
Instantiates a new CreateEdgeMode. |
|
CreateEdgeMode(ViewContainer view)
Instantiates a new CreateEdgeMode for a given ViewContainer |
Method Summary | |
protected boolean |
acceptBend(Node start,
Node hitNode,
double x,
double y)
Whether or not to accept the creation of a bend. |
protected boolean |
acceptSourceNode(Node source,
double x,
double y)
This method gets called right before someone wants to start creating an edge at location (x,y)
starting from node source .
|
protected boolean |
acceptTargetNode(Node target,
double x,
double y)
This method gets called right before someone wants to complete creating an edge at location (x,y)
by connecting to node target .
|
void |
allowBendCreation(boolean b)
Allows or disallows bend creation. |
void |
allowSelfloopCreation(boolean b)
Allows or disallows selfloop creation. |
protected void |
cancelEdgeCreation()
Calling this method cancels edge creation properly. |
protected EdgeRealizer |
createDummyEdgeRealizer()
Factory method, which creates the dummy EdgeRealizer which is used during the edge creation process. |
protected NodeRealizer |
createDummySourceNodeRealizer(NodeRealizer currentRealizer)
Creates a dummy node for the target node of the dummy edge By default, this method returns currentRealizer.createCopy(); |
protected NodeRealizer |
createDummyTargetNodeRealizer(double x,
double y)
Creates a dummy node for the other end of the edge. |
boolean |
doAllowBendCreation()
Returns true iff the creation of bends should be allowed.
|
boolean |
doAllowSelfloopCreation()
Returns true iff the creation of selfloops should be allowed.
|
protected void |
edgeCreated(Edge edge)
This method gets called after a new edge was completely created by this mode. |
protected void |
edgeMoved(double x,
double y)
This method gets called whenever the dummy endpoint of the to be created edge has changed it's location. |
int |
getCancelKeyCode()
Sets the virtual key code as defined in KeyEvent
which cancels the edge creation. |
protected EdgeRealizer |
getDummyEdgeRealizer()
Returns the dummy EdgeRealizer which is currently in use. |
protected NodeRealizer |
getDummySourceNodeRealizer()
Returns the currently used dummy node realizer for the source node of the dummy edge. |
protected NodeRealizer |
getDummyTargetNodeRealizer()
Returns the currently used dummy node realizer for the target node of the dummy edge. |
void |
init()
This method is called in a child mode when it gets installed in another mode. |
void |
mouseDraggedLeft(double x,
double y)
Moves the dummy end of the edge while the actual target node is unknown. |
void |
mouseMoved(double x,
double y)
Moves the dummy end of the edge while the actual target node is unknown. |
void |
mousePressedLeft(double x,
double y)
Initiates the creation of an edge. |
void |
mouseReleasedLeft(double x,
double y)
If a node was hit at the given coordinates, that node will be used as target node for the newly created edge. |
void |
mouseReleasedRight(double x,
double y)
Removes a bend if possible. otherwise cancels edge creation. |
void |
mouseShiftPressedLeft(double x,
double y)
Initiates the creation of an edge. |
void |
mouseShiftReleasedLeft(double x,
double y)
If a node was hit at the given coordinates, that node will be used as target node for the newly created edge. |
void |
reactivateParent()
The parent of this ViewMode is reactivated and this ViewMode is deactivated. |
void |
setCancelKeyCode(int cancelKeyCode)
Sets the virtual key code as defined in KeyEvent
which cancels the edge creation. |
protected void |
sourceNodeDeclined(Node target,
double x,
double y)
This method gets called in case method CreateEdgeMode.acceptSourceNode(Node, double, double)
returns false. |
protected void |
targetNodeDeclined(Node target,
double x,
double y)
This method gets called in case method CreateEdgeMode.acceptTargetNode(Node, double, double)
returns false. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public CreateEdgeMode(ViewContainer view)
public CreateEdgeMode()
Method Detail |
public void init()
ViewMode
init
in class ViewMode
ViewMode.setChild(ViewMode,MouseEvent,MouseEvent)
public void allowBendCreation(boolean b)
public boolean doAllowBendCreation()
true
iff the creation of bends should be allowed.
This mode will act according to the return value of this method.
public void allowSelfloopCreation(boolean b)
public boolean doAllowSelfloopCreation()
true
iff the creation of selfloops should be allowed.
This mode will act according to the return value of this method.
public void mousePressedLeft(double x, double y)
mousePressedLeft
in class ViewMode
x
- the x-coordinate of the mouse event in world coordinates.y
- the y-coordinate of the mouse event in world coordinates.public void mouseShiftPressedLeft(double x, double y)
mouseShiftPressedLeft
in class ViewMode
x
- the x-coordinate of the mouse event in world coordinates.y
- the y-coordinate of the mouse event in world coordinates.protected EdgeRealizer createDummyEdgeRealizer()
getGraph2D().getDefaultEdgeRealizer().createCopy();
protected EdgeRealizer getDummyEdgeRealizer()
IllegalStateException
- if the edge has not yet been createdprotected NodeRealizer createDummySourceNodeRealizer(NodeRealizer currentRealizer)
currentRealizer.createCopy();
protected NodeRealizer createDummyTargetNodeRealizer(double x, double y)
x
- the initial x coordinatey
- the initial y coordinate
protected NodeRealizer getDummyTargetNodeRealizer()
IllegalStateException
- if the edge has not yet been created
protected NodeRealizer getDummySourceNodeRealizer()
IllegalStateException
- if the edge has not yet been created
public void mouseReleasedRight(double x, double y)
mouseReleasedRight
in class ViewMode
x
- the x-coordinate of the mouse event in world coordinates.y
- the y-coordinate of the mouse event in world coordinates.public void mouseShiftReleasedLeft(double x, double y)
mouseShiftReleasedLeft
in class ViewMode
x
- the x-coordinate of the mouse event in world coordinates.y
- the y-coordinate of the mouse event in world coordinates.public void mouseReleasedLeft(double x, double y)
mouseReleasedLeft
in class ViewMode
x
- the x-coordinate of the mouse event in world coordinates.y
- the y-coordinate of the mouse event in world coordinates.protected boolean acceptBend(Node start, Node hitNode, double x, double y)
start
- the node from where edge creation startedhitNode
- the node that was hit at the given locationx
- the x-coordinate of the current locationy
- the y-coordinate of the current locationpublic void mouseDraggedLeft(double x, double y)
mouseDraggedLeft
in class ViewMode
x
- the x-coordinate of the mouse event in world coordinates.y
- the y-coordinate of the mouse event in world coordinates.public void mouseMoved(double x, double y)
mouseMoved
in class ViewMode
x
- the x-coordinate of the mouse event in world coordinates.y
- the y-coordinate of the mouse event in world coordinates.public void reactivateParent()
ViewMode
reactivateParent
in class ViewMode
protected void edgeMoved(double x, double y)
x
- the x-coordinate of the endpointy
- the y-coordinate of the endpointprotected void edgeCreated(Edge edge)
protected void cancelEdgeCreation()
protected boolean acceptSourceNode(Node source, double x, double y)
(x,y)
starting from node source
.
The return value of this method determines whether or not
creating an edge from that node will actually be initiated.
By default this method returns Subclasses may want to override this feature to forbid
edge creation starting from certain nodes.
true.
protected void targetNodeDeclined(Node target, double x, double y)
CreateEdgeMode.acceptTargetNode(Node, double, double)
returns false. Thi smethod os meant as a hook
to perform some post target declination code.
By default this method does nothing.
protected boolean acceptTargetNode(Node target, double x, double y)
(x,y)
by connecting to node target
.
The return value of this method determines whether or not
the creation of an edge to that node will be performed.
By default this method returns Subclasses may want to override this feature to forbid
connecting an edge to a certain node.
true.
protected void sourceNodeDeclined(Node target, double x, double y)
CreateEdgeMode.acceptSourceNode(Node, double, double)
returns false. This smethod os meant as a hook
to perform some post source declination code.
By default this method does nothing.
public int getCancelKeyCode()
KeyEvent
which cancels the edge creation. Negative values disable this feature.
Default is KeyEvent.VK_ESCAPE
.
public void setCancelKeyCode(int cancelKeyCode)
KeyEvent
which cancels the edge creation. Negative values disable this feature.
|
© Copyright 2000-2003, yWorks GmbH. All rights reserved. 2003 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |