org.argouml.uml.diagram.ui
Class ModeCreateEdgeAndNode
java.lang.Object
org.tigris.gef.base.ModeImpl
org.tigris.gef.base.FigModifyingModeImpl
org.tigris.gef.base.ModeCreate
org.argouml.uml.diagram.ui.ModeCreateEdgeAndNode
- All Implemented Interfaces:
- java.util.EventListener, org.tigris.gef.base.FigModifyingMode, java.awt.event.KeyListener, org.tigris.gef.base.Mode, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.io.Serializable
- public class ModeCreateEdgeAndNode
- extends org.tigris.gef.base.ModeCreate
A Mode to interpret user input while creating an edge. Basically
mouse down starts creating an edge from a source port Fig, mouse
motion paints a rubberband line, mouse up finds the destination port
and finishes creating the edge and makes an FigEdge and sends
it to the back of the Layer.
The argument "edgeClass" determines the type if edge to suggest
that the Editor's GraphModel construct. The GraphModel is
responsible for acutally making an edge in the underlying model
and connecting it to other model elements.
- See Also:
- Serialized Form
Field Summary |
protected org.tigris.gef.presentation.FigEdge |
_fe
|
protected org.tigris.gef.presentation.FigNode |
_fn
|
protected org.tigris.gef.presentation.Handle |
_handle
The number of points added so far. |
protected boolean |
_postProcessEdge
|
protected static org.apache.log4j.Category |
cat
|
static int |
Drags_To_Existing
|
static int |
Drags_To_New
|
Fields inherited from class org.tigris.gef.base.ModeCreate |
_defaultHeight, _defaultWidth, _newItem, anchorX, anchorY |
Fields inherited from class org.tigris.gef.base.FigModifyingModeImpl |
editor |
Fields inherited from class org.tigris.gef.base.ModeImpl |
_args |
Method Summary |
org.tigris.gef.presentation.Fig |
createNewItem(java.awt.event.MouseEvent me,
int snapX,
int snapY)
Create the new item that will be drawn. |
void |
done()
|
java.lang.String |
instructions()
|
void |
keyTyped(java.awt.event.KeyEvent ke)
|
void |
mouseDragged(java.awt.event.MouseEvent me)
|
void |
mouseMoved(java.awt.event.MouseEvent me)
|
void |
mousePressed(java.awt.event.MouseEvent me)
On mousePressed determine what port the user is dragging from. |
void |
mouseReleased(java.awt.event.MouseEvent me)
On mouseReleased, find the destination port, ask the GraphModel
to connect the two ports. |
void |
postProcessEdge()
|
void |
setup(org.tigris.gef.presentation.FigNode fn,
java.lang.Object port,
int x,
int y,
boolean reverse)
|
Methods inherited from class org.tigris.gef.base.ModeCreate |
creationDrag, getInitialCursor, keyPressed, paint |
Methods inherited from class org.tigris.gef.base.FigModifyingModeImpl |
getEditor, isFigEnclosedIn, print, setCursor, setEditor |
Methods inherited from class org.tigris.gef.base.ModeImpl |
canExit, getArg, getArgs, init, keyReleased, mouseClicked, mouseEntered, mouseExited, setArg, setArgs, start |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.tigris.gef.base.Mode |
canExit, getArg, getArgs, init, setArg, setArgs, start |
cat
protected static org.apache.log4j.Category cat
Drags_To_Existing
public static int Drags_To_Existing
Drags_To_New
public static int Drags_To_New
_handle
protected org.tigris.gef.presentation.Handle _handle
- The number of points added so far.
_fn
protected org.tigris.gef.presentation.FigNode _fn
_fe
protected org.tigris.gef.presentation.FigEdge _fe
_postProcessEdge
protected boolean _postProcessEdge
ModeCreateEdgeAndNode
public ModeCreateEdgeAndNode()
ModeCreateEdgeAndNode
public ModeCreateEdgeAndNode(org.tigris.gef.base.Editor ed,
java.lang.Class edgeClass,
java.lang.Class nodeClass,
boolean post)
setup
public void setup(org.tigris.gef.presentation.FigNode fn,
java.lang.Object port,
int x,
int y,
boolean reverse)
instructions
public java.lang.String instructions()
createNewItem
public org.tigris.gef.presentation.Fig createNewItem(java.awt.event.MouseEvent me,
int snapX,
int snapY)
- Create the new item that will be drawn. In this case I would
rather create the FigEdge when I am done. Here I just
create a rubberband FigLine to show during dragging.
done
public void done()
mousePressed
public void mousePressed(java.awt.event.MouseEvent me)
- On mousePressed determine what port the user is dragging from.
The mousePressed event is sent via ModeSelect.
mouseReleased
public void mouseReleased(java.awt.event.MouseEvent me)
- On mouseReleased, find the destination port, ask the GraphModel
to connect the two ports. If that connection is allowed, then
construct a new FigEdge and add it to the Layer and send it to
the back.
mouseMoved
public void mouseMoved(java.awt.event.MouseEvent me)
mouseDragged
public void mouseDragged(java.awt.event.MouseEvent me)
keyTyped
public void keyTyped(java.awt.event.KeyEvent ke)
postProcessEdge
public void postProcessEdge()