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, Connecter, DelayedVChangeListener, EventListener, org.tigris.gef.di.GraphicElement, org.tigris.gef.di.GraphNode, Highlightable, KeyListener, MouseListener, NotationContext, PathContainer, PopupGenerator, PropertyChangeListener, Serializable, VetoableChangeListener

public class FigMessage
extends FigNodeModelElement

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

See Also:
Serialized Form

Field Summary
protected  NotationProvider4 notationProvider
          The notation provider for the textfield.
 
Fields inherited from class org.argouml.uml.diagram.ui.FigNodeModelElement
ABSTRACT, ACTIVE, invisibleAllowed, LEAF, notationProviderName, 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.Fig
_allowsSaving, _context, _dashes, _dashPeriod, _dashStyle, _filled, _h, _w, _x, _y, an, annotationOwner, annotationStatus, BORDER, MIN_SIZE, plotter
 
Constructor Summary
FigMessage()
          The main constructor.
FigMessage(GraphModel gm, Layer lay, Object node)
          The constructor that hooks the Fig into an existing UML element
 
Method Summary
 void addPathItemToFigAssociationRole(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()
           
protected  void initNotationProviders(Object own)
          Create the NotationProviders.
 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.
 void setArrow(int direction)
           
protected  void setBoundsImpl(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(FigText ft)
          This method is called after the user finishes editing a text field that is in the FigNodeModelElement.
protected  void textEditStarted(FigText ft)
          This method is called when the user doubleclicked on the text field, and starts editing.
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
addElementListener, addElementListener, addElementListener, addEnclosedFig, allowRemoveFromDiagram, buildModifierPopUp, buildVisibilityPopUp, calcBounds, classNameAndBounds, createFeatureIn, damage, delayedVetoableChange, deleteFromModel, displace, elementOrdering, enableSizeChecking, finalize, forceRepaintShadow, getBigPort, getContextNotation, getDiElement, getEnclosedFigs, getEncloser, getEnclosingFig, getItalicLabelFont, getItemUID, getLabelFont, getName, getNameBounds, getNameFig, getPopUpActions, getPopupAddOffset, getRemoveDelegate, getShadowSize, getStereotypeFig, getTipString, hit, hitClarifier, isCheckSize, isDragConnectable, isEditable, isPartlyOwner, isPartlyOwner, isPathVisible, isReadyToEdit, keyPressed, keyReleased, keyTyped, makeSelection, modelChanged, mouseClicked, notationAdded, notationChanged, notationProviderAdded, notationProviderRemoved, notationRemoved, paintClarifiers, postLoad, propertyChange, removeAllElementListeners, removeElementListener, removeEnclosedFig, removeFromDiagram, removeFromDiagramImpl, setBigPort, setContextNotation, setDiElement, setEditable, setEncloser, setEnclosingFig, setItemUID, setLayer, setName, setNameFig, setOwner, setPathVisible, setReadyToEdit, setShadowSize, setShadowSizeFriend, setSuppressCalcBounds, setVisible, showHelp, updateBounds, updateListeners, updateStereotypeText, vetoableChange
 
Methods inherited from class org.tigris.gef.presentation.FigNode
addFigEdge, bindPort, cleanUp, contains, deepHitPort, dispose, endTrans, getFigEdges, getFigEdges, getHighlight, getPortFig, getPortFigs, getPortSector, hidePorts, hitPort, hitPort, isBlinkPorts, mouseEntered, mouseExited, mousePressed, mouseReleased, paint, removeFigEdge, removePort, setBlinkPorts, setHighlight, showPorts, superTranslate, translateImpl, updateEdges
 
Methods inherited from class org.tigris.gef.presentation.FigGroup
addFig, addFigs, deepSelect, elements, getDisplayedFigs, getExtraFrameSpace, getFigAt, getFigCount, getFigPosn, getFigs, getFont, getFontFamily, getFontSize, getPrivateData, 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, firePropChange, firePropChange, firePropChange, getAnnotationOwner, getAnnotationStrategy, getBounds, getBounds, getCenter, 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, getSize, getTrapRect, getUseTrapRect, getVisState, getWidth, getX, getXs, getY, getYs, hasFillColor, hasLineColor, initAnnotations, insertPoint, intersects, intersectsPerimeter, isAnnotation, isCopyable, isCutable, isLowerRightResizable, isMovable, isRemoveStarted, isResizable, isSelectable, isSelected, isVisible, pointAlongPerimeter, postSave, preSave, print, redraw, removeAnnotation, removePoint, removePropertyChangeListener, reorder, routingRect, savingAllowed, setAnnotationOwner, setAnnotationStatus, setAnnotationStrategy, setBounds, setBounds, setCenter, setContext, setDashed, setDashedString, setGroup, setHandleBox, setHeight, setLocation, setLocation, setLocked, setMovable, setNumPoints, setPoint, setPoint, setPoint, setPoint, setPoints, setResizable, setResource, setSavingAllowed, setSize, setSize, setWidth, setX, setXs, setY, setYs, stuffBounds, stuffPointAlongPerimeter, translate, translateAnnotations, unsetAnnotationOwner, updateAnnotationPositions, 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.argouml.cognitive.Highlightable
getHighlight, setHighlight
 
Methods inherited from interface org.tigris.gef.di.GraphicElement
getId, getOwner, routingRect
 

Field Detail

notationProvider

protected NotationProvider4 notationProvider
The notation provider for the textfield.

Constructor Detail

FigMessage

public FigMessage()
The main constructor.


FigMessage

public FigMessage(GraphModel gm,
                  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

initNotationProviders

protected void initNotationProviders(Object own)
Description copied from class: FigNodeModelElement
Create the NotationProviders.

Overrides:
initNotationProviders in class FigNodeModelElement
Parameters:
own - the current owner
See Also:
FigNodeModelElement.initNotationProviders(java.lang.Object)

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()

setBoundsImpl

protected void setBoundsImpl(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(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, and the stereotype, 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)

textEditStarted

protected void textEditStarted(FigText ft)
Description copied from class: FigNodeModelElement
This method is called when the user doubleclicked on the text field, and starts editing. Subclasses should overrule this field to e.g. supply help to the user about the used format.

It is also possible to alter the text to be edited already here, e.g. by adding the stereotype in front of the name, by calling notationProviderName.putValue("fullyHandleStereotypes", true);, but that seems not user-friendly. See issue 3838.

Overrides:
textEditStarted in class FigNodeModelElement
Parameters:
ft - the FigText that will be edited and contains the start-text
See Also:
FigNodeModelElement.textEditStarted(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(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.

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-2006ArgoUML HomepageArgoUML Developers' pageArgoUML Cookbook