org.argouml.uml.diagram.ui
Class FigMessage

java.lang.Object
  extended byorg.tigris.gef.presentation.Fig
      extended byorg.tigris.gef.presentation.FigGroup
          extended byorg.tigris.gef.presentation.FigNode
              extended byorg.argouml.uml.diagram.ui.FigNodeModelElement
                  extended byorg.argouml.uml.diagram.ui.FigMessage
All Implemented Interfaces:
ArgoEventListener, ArgoNotationEventListener, Cloneable, org.tigris.gef.presentation.Connecter, DelayedVChangeListener, EventListener, org.tigris.gef.ui.Highlightable, KeyListener, MouseListener, NotationContext, org.tigris.gef.ui.PopupGenerator, PropertyChangeListener, Serializable, VetoableChangeListener

public class FigMessage
extends FigNodeModelElement

Class to display graphics for a UML message in a diagram.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class org.argouml.uml.diagram.ui.FigNodeModelElement
FigNodeModelElement.ActionModifierAbstract, FigNodeModelElement.ActionModifierActive, FigNodeModelElement.ActionModifierLeaf, FigNodeModelElement.ActionModifierRoot, FigNodeModelElement.ActionVisibilityPrivate, FigNodeModelElement.ActionVisibilityProtected, FigNodeModelElement.ActionVisibilityPublic
 
Field Summary
private  int arrowDirection
          The current arrow direction set to constants above.
private static Vector arrowDirections
           
private static int EAST
           
private  org.tigris.gef.presentation.FigPoly figPoly
           
private static int NORTH
           
private static int SOUTH
           
private static int WEST
           
 
Fields inherited from class org.argouml.uml.diagram.ui.FigNodeModelElement
ABSTRACT, ACTIVE, LEAF, POPUP_ADD_OFFSET, ROOT, ROWHEIGHT, SHADOW_COLOR_ALPHA, SHADOW_COLOR_VALUE, STEREOHEIGHT
 
Fields inherited from class org.tigris.gef.presentation.FigNode
_blinkPorts, _highlight, ang135, ang225, ang315, ang45
 
Fields inherited from class org.tigris.gef.presentation.FigGroup
_dynObjects, _extraFrameSpace
 
Fields inherited from class org.tigris.gef.presentation.Fig
_allowsSaving, _context, _dashes, _dashPeriod, _dashStyle, _displayed, _fillColor, _filled, _group, _h, _layer, _lineColor, _lineWidth, _locked, _resource, _selected, _shown, _w, _x, _y, an, annotationOwner, annotationStatus, BORDER, MIN_SIZE
 
Constructor Summary
FigMessage()
          The main constructor
FigMessage(org.tigris.gef.graph.GraphModel gm, org.tigris.gef.base.Layer lay, Object node)
          The constructor that hooks the Fig into an existing UML element
 
Method Summary
 void addPathItemToFigAssociationRole(org.tigris.gef.base.Layer lay)
          Add the FigMessage to the Path Items of its FigAssociationRole.
 Object clone()
          After the base clone method has been called determine which child figs of the clone represent the name, stereotype and port.
 int getArrow()
           
static Vector getArrowDirections()
           
 Color getFillColor()
           
 boolean getFilled()
           
 Color getLineColor()
           
 int getLineWidth()
           
 Dimension getMinimumSize()
           
 void paint(Graphics g)
          Overridden to paint shadows.
 String placeString()
          Default Reply text to be shown while placing node in diagram.
 void renderingChanged()
          Rerenders the fig if needed.
 void setArrow(int direction)
           
 void setBounds(int x, int y, int w, int h)
          Override setBounds to keep shapes looking right
 void setFillColor(Color col)
           
 void setFilled(boolean f)
           
 void setLineColor(Color col)
           
 void setLineWidth(int w)
           
protected  void textEdited(org.tigris.gef.presentation.FigText ft)
          This method is called after the user finishes editing a text field that is in the FigNodeModelElement.
protected  void updateArrow()
          Determines the direction of the message arrow.
protected  void updateNameText()
          Updates the text of the name FigText.
 
Methods inherited from class org.argouml.uml.diagram.ui.FigNodeModelElement
addEnclosedFig, addFig, allowRemoveFromDiagram, buildModifierPopUp, buildVisibilityPopUp, calcBounds, classNameAndBounds, createFeatureIn, damage, delayedVetoableChange, deleteFromModel, displace, elementOrdering, enableSizeChecking, finalize, getBigPort, getContextNotation, getEnclosedFigs, getEncloser, getEnclosingFig, getItalicLabelFont, getItemUID, getLabelFont, getName, getNameFig, getPopUpActions, getShadowSize, getStereotype, getStereotypeFig, getStereotypeFigText, getTipString, hit, hitClarifier, isCheckSize, isPartlyOwner, isPartlyOwner, isReadyToEdit, keyPressed, keyReleased, keyTyped, makeSelection, modelChanged, mouseClicked, notationAdded, notationChanged, notationProviderAdded, notationProviderRemoved, notationRemoved, paintClarifiers, postLoad, propertyChange, redrawEnclosedFigs, removeEnclosedFig, removeFromDiagram, setBigPort, setEncloser, setEnclosingFig, setItemUID, setName, setNameFig, setOwner, setReadyToEdit, setShadowSize, setStereotype, setStereotypeFig, setSuppressCalcBounds, updateBounds, updateFigGroupSize, updateListeners, updateStereotypeText, vetoableChange
 
Methods inherited from class org.tigris.gef.presentation.FigNode
addFigEdge, bindPort, cleanUp, contains, deepHitPort, delete, dispose, endTrans, getBlinkPorts, getFigEdges, getFigEdges, getHighlight, getPortFig, getPortFigs, getPortSector, hidePorts, hitPort, hitPort, isBlinkPorts, isDragConnectable, mouseEntered, mouseExited, mousePressed, mouseReleased, removeFigEdge, removePort, setBlinkPorts, setHighlight, showPorts, superTranslate, translate, updateEdges
 
Methods inherited from class org.tigris.gef.presentation.FigGroup
addFigs, deepSelect, elements, getDisplayedFigs, getExtraFrameSpace, getFigAt, getFigs, getFigs, getFont, getFontFamily, getFontSize, getPrivateData, getSize, getSubFigBounds, getTextColor, getTextFillColor, getTextFilled, hitFig, isReshapable, isRotatable, iterator, parseDynObjects, removeAll, removeFig, setExtraFrameSpace, setFigs, setFigs, setFont, setFontFamily, setFontSize, setPrivateData, setTextColor, setTextFillColor, setTextFilled
 
Methods inherited from class org.tigris.gef.presentation.Fig
addAnnotation, addPoint, addPropertyChangeListener, align, center, connectionPoint, contains, contains, countCornersContained, createDrag, drawDashedLine, drawDashedPerimeter, firePropChange, firePropChange, firePropChange, getAnnotationOwner, getAnnotationStrategy, getBounds, getBounds, getClosestPoint, getContext, getDashed, getDashed01, getDashedString, getFilled01, getFirstPoint, getGravityPoints, getGroup, getHalfHeight, getHalfWidth, getHandleBox, getHeight, getId, getLastPoint, getLayer, getLocation, getLocked, getNumPoints, getOwner, getPerimeterLength, getPoint, getPoints, getPreferredSize, getResource, getSingle, getTrapRect, getUseTrapRect, getVisState, getWidth, getX, getXs, getY, getYs, hasFillColor, hasLineColor, initAnnotations, insertPoint, intersects, intersectsPerimeter, isAnnotation, isCopieable, isCopyable, isCutable, isDisplayed, isLowerRightResizable, isMovable, isResizable, isSelected, isVisible, OK, pointAlongPerimeter, postSave, preSave, print, redraw, removeAnnotation, removeAnnotation, removePoint, removePropertyChangeListener, reorder, routingRect, savingAllowed, setAnnotationOwner, setAnnotationStatus, setAnnotationStrategy, setBounds, setCenter, setContext, setDashed, setDashedString, setDisplayed, setGroup, setHandleBox, setHeight, setLayer, setLocation, setLocation, setLocked, setMovable, setNumPoints, setPoint, setPoint, setPoint, setPoint, setPoints, setPoints, setPoints, setPoints, setPoints, setResizable, setResource, setSavingAllowed, setSelected, setSingle, setSize, setSize, setVisible, setVisState, setWidth, setX, setXs, setY, setYs, stuffBounds, stuffPointAlongPerimeter, translateAnnotations, unsetAnnotationOwner, updateAnnotationPositions, updateVisState, within
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.awt.event.MouseListener
mouseEntered, mouseExited, mousePressed, mouseReleased
 
Methods inherited from interface org.tigris.gef.ui.Highlightable
addPropertyChangeListener, removePropertyChangeListener
 

Field Detail

arrowDirections

private static Vector arrowDirections

figPoly

private org.tigris.gef.presentation.FigPoly figPoly

SOUTH

private static final int SOUTH
See Also:
Constant Field Values

EAST

private static final int EAST
See Also:
Constant Field Values

WEST

private static final int WEST
See Also:
Constant Field Values

NORTH

private static final int NORTH
See Also:
Constant Field Values

arrowDirection

private int arrowDirection
The current arrow direction set to constants above.

Constructor Detail

FigMessage

public FigMessage()
The main constructor


FigMessage

public FigMessage(org.tigris.gef.graph.GraphModel gm,
                  org.tigris.gef.base.Layer lay,
                  Object node)
The constructor that hooks the Fig into an existing UML element

Parameters:
gm - ignored
lay - the layer
node - the UML element
Method Detail

placeString

public String placeString()
Description copied from class: FigNodeModelElement
Default Reply text to be shown while placing node in diagram. Overrule this when the text is not "new [UMLClassName]".

Overrides:
placeString in class FigNodeModelElement
Returns:
the text to be shown while placing node in diagram
See Also:
FigNodeModelElement.placeString()

clone

public Object clone()
Description copied from class: FigNodeModelElement
After the base clone method has been called determine which child figs of the clone represent the name, stereotype and port.

The clone function is used by Copy/Paste operations.

Overrides:
clone in class FigNodeModelElement
See Also:
Object.clone()

setLineColor

public void setLineColor(Color col)
See Also:
Fig.setLineColor(java.awt.Color)

getLineColor

public Color getLineColor()
See Also:
Fig.getLineColor()

setFillColor

public void setFillColor(Color col)
See Also:
Fig.setFillColor(java.awt.Color)

getFillColor

public Color getFillColor()
See Also:
Fig.getFillColor()

setFilled

public void setFilled(boolean f)
See Also:
Fig.setFilled(boolean)

getFilled

public boolean getFilled()
See Also:
Fig.getFilled()

setLineWidth

public void setLineWidth(int w)
See Also:
Fig.setLineWidth(int)

getLineWidth

public int getLineWidth()
See Also:
Fig.getLineWidth()

setArrow

public void setArrow(int direction)
Parameters:
direction - for the arrow FigMessage.SOUTH FigMessage.EAST FigMessage.WEST FigMessage.NORTH

getArrow

public int getArrow()
Returns:
the arrow direction

getMinimumSize

public Dimension getMinimumSize()
See Also:
Fig.getMinimumSize()

setBounds

public void setBounds(int x,
                      int y,
                      int w,
                      int h)
Override setBounds to keep shapes looking right

See Also:
Fig.setBounds(int, int, int, int)

textEdited

protected void textEdited(org.tigris.gef.presentation.FigText ft)
                   throws PropertyVetoException
Description copied from class: FigNodeModelElement
This method is called after the user finishes editing a text field that is in the FigNodeModelElement. Determine which field and update the model. This class handles the name, subclasses should override to handle other text elements.

Overrides:
textEdited in class FigNodeModelElement
Parameters:
ft - the FigText that has been edited and contains the new text
Throws:
PropertyVetoException - thrown when new text represents an unacceptable value
See Also:
FigNodeModelElement.textEdited(org.tigris.gef.presentation.FigText)

updateArrow

protected void updateArrow()
Determines the direction of the message arrow. Deetermination of the type of arrow happens in modelchanged


addPathItemToFigAssociationRole

public void addPathItemToFigAssociationRole(org.tigris.gef.base.Layer lay)
Add the FigMessage to the Path Items of its FigAssociationRole.

Parameters:
lay - the Layer

paint

public void paint(Graphics g)
Description copied from class: FigNodeModelElement
Overridden to paint shadows. This method supports painting shadows for any FigNodeModelElement. Any Figs that are nested within the FigNodeModelElement will be shadowed.

TODO: If g is not a Graphics2D shadows cannot be painted. This is a problem when saving the diagram as SVG.

Overrides:
paint in class FigNodeModelElement
Parameters:
g - is a Graphics that we paint this object on.
See Also:
Fig.paint(Graphics)

updateNameText

protected void updateNameText()
Description copied from class: FigNodeModelElement
Updates the text of the name FigText.

Overrides:
updateNameText in class FigNodeModelElement
See Also:
FigNodeModelElement.updateNameText()

renderingChanged

public void renderingChanged()
Description copied from class: FigNodeModelElement
Rerenders the fig if needed. This functionality was originally the functionality of modelChanged but modelChanged takes the event now into account.

Overrides:
renderingChanged in class FigNodeModelElement
See Also:
FigNodeModelElement.renderingChanged()

getArrowDirections

public static Vector getArrowDirections()
Returns:
Returns the arrowDirections.


ArgoUML © 1996-2004 (20050222)ArgoUML HomepageArgoUML Developers' pageArgoUML Cookbook