uci.uml.visual
Class FigNodeModelElement

java.lang.Object
  |
  +--uci.gef.Fig
        |
        +--uci.gef.FigGroup
              |
              +--uci.gef.FigNode
                    |
                    +--uci.uml.visual.FigNodeModelElement
Direct Known Subclasses:
FigActionState, FigActor, FigClass, FigClassifierRole, FigInstance, FigInterface, FigMessage, FigNote, FigPackage, FigStateVertex, FigUseCase

public abstract class FigNodeModelElement
extends FigNode
implements VetoableChangeListener, DelayedVChangeListener, MouseListener, KeyListener, PropertyChangeListener

Abstract class to display diagram icons for UML ModelElements that look like nodes and that have editiable names and can be resized.

See Also:
Serialized Form

Field Summary
protected  Vector _enclosedFigs
           
protected  Fig _encloser
           
protected  FigText _name
           
protected  boolean _readyToEdit
           
static Font ITALIC_LABEL_FONT
           
static Font LABEL_FONT
           
 int MARGIN
           
 
Fields inherited from class uci.gef.FigNode
_blinkPorts, _figEdges, _highlight, ang135, ang225, ang315, ang45
 
Fields inherited from class uci.gef.FigGroup
_figs
 
Fields inherited from class uci.gef.Fig
_dashes, _fillColor, _filled, _group, _h, _layer, _lineColor, _lineWidth, _locked, _w, _x, _y, BORDER, DASH_ARRAYS, DASHED_CHOICES, MIN_SIZE
 
Constructor Summary
FigNodeModelElement()
           
FigNodeModelElement(GraphModel gm, Object node)
          Partially construct a new FigNode.
 
Method Summary
 void delayedVetoableChange(PropertyChangeEvent pce)
           
 Vector getEnclosedFigs()
           
 Fig getEnclosingFig()
           
 FigText getNameFig()
           
 Vector getPopUpActions(MouseEvent me)
           
 String getTipString(MouseEvent me)
           
 ToDoItem hitClarifier(int x, int y)
           
 void keyPressed(KeyEvent ke)
           
 void keyReleased(KeyEvent ke)
          not used, do nothing.
 void keyTyped(KeyEvent ke)
           
 Selection makeSelection()
           
protected  void modelChanged()
          This is called aftern any part of the UML ModelElement has changed.
 void mouseClicked(MouseEvent me)
          If the user double clicks on anu part of this FigNode, pass it down to one of the internal Figs.
 void paintClarifiers(Graphics g)
          Displays visual indications of pending ToDoItems.
 String placeString()
          Reply text to be shown while placing node in diagram
 void propertyChange(PropertyChangeEvent pve)
           
 void setEnclosingFig(Fig f)
           
 void setOwner(Object own)
           
protected  void textEdited(FigText ft)
          This method is called after the user finishes editing a text field that is in the FigNodeModelElement.
protected  void updateBounds()
           
 void vetoableChange(PropertyChangeEvent pce)
           
 
Methods inherited from class uci.gef.FigNode
addFigEdge, bindPort, cleanUp, clone, contains, deepHitPort, delete, dispose, endTrans, getBlinkPorts, getFigEdges, getHighlight, getPortFig, getPortFigs, getPortSector, hidePorts, hit, hitPort, hitPort, mouseEntered, mouseExited, mousePressed, mouseReleased, paint, postLoad, removeFigEdge, removePort, setBlinkPorts, setBounds, setHighlight, showPorts, startTrans, superTranslate, translate, updateEdges
 
Methods inherited from class uci.gef.FigGroup
addFig, calcBounds, elements, getFigs, getFillColor, getFilled, getFont, getFontFamily, getFontSize, getLineColor, getLineWidth, getTextColor, getTextFillColor, getTextFilled, hitFig, isReshapable, isResizable, isRotatable, removeAll, removeFig, setFigs, setFillColor, setFilled, setFont, setFontFamily, setFontSize, setLineColor, setLineWidth, setTextColor, setTextFillColor, setTextFilled
 
Methods inherited from class uci.gef.Fig
addPoint, addPropertyChangeListener, align, center, classNameAndBounds, connectionPoint, contains, contains, countCornersContained, createDrag, damage, drawDashedLine, drawDashedPerimeter, firePropChange, firePropChange, firePropChange, getBounds, getClosestPoint, getDashed, getDashed01, getDashedString, getFilled01, getFirstPoint, getGravityPoints, getGroup, getHalfHeight, getHalfWidth, getHeight, getId, getLastPoint, getLayer, getLocation, getLocked, getMinimumSize, getNumPoints, getOwner, getPerimeterLength, getPoints, getPoints, getPreferedSize, getSize, getTrapRect, getUseTrapRect, getWidth, getX, getXs, getY, getYs, insertPoint, intersects, isLowerRightResizable, isMovable, OK, pointAlongPerimeter, postSave, preSave, print, removePoint, removePropertyChangeListener, reorder, routingRect, setBounds, setDashed, setDashedString, setGroup, setHeight, setLayer, setLocation, setLocation, setLocked, setNumPoints, setPoints, setPoints, setPoints, setPoints, setPoints, setSize, setSize, setWidth, setX, setXs, setY, setYs, stuffBounds, stuffPointAlongPerimeter, within
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LABEL_FONT

public static Font LABEL_FONT

ITALIC_LABEL_FONT

public static Font ITALIC_LABEL_FONT

MARGIN

public final int MARGIN

_name

protected FigText _name

_enclosedFigs

protected Vector _enclosedFigs

_encloser

protected Fig _encloser

_readyToEdit

protected boolean _readyToEdit
Constructor Detail

FigNodeModelElement

public FigNodeModelElement()

FigNodeModelElement

public FigNodeModelElement(GraphModel gm,
                           Object node)
Partially construct a new FigNode. This method creates the _name element that holds the name of the model element and adds itself as a listener.
Method Detail

placeString

public String placeString()
Reply text to be shown while placing node in diagram

getNameFig

public FigText getNameFig()

getPopUpActions

public Vector getPopUpActions(MouseEvent me)
Overrides:
getPopUpActions in class Fig

getEnclosingFig

public Fig getEnclosingFig()
Overrides:
getEnclosingFig in class Fig

setEnclosingFig

public void setEnclosingFig(Fig f)
Overrides:
setEnclosingFig in class FigNode

getEnclosedFigs

public Vector getEnclosedFigs()
Overrides:
getEnclosedFigs in class Fig

makeSelection

public Selection makeSelection()
Overrides:
makeSelection in class Fig

paintClarifiers

public void paintClarifiers(Graphics g)
Displays visual indications of pending ToDoItems. Please note that the list of advices (ToDoList) is not the same as the list of element known by the FigNode (_figs). Therefore, it is necessary to check if the graphic item exists before drawing on it. See ClAttributeCompartment for an example.
See Also:
ClAttributeCompartment

hitClarifier

public ToDoItem hitClarifier(int x,
                             int y)

getTipString

public String getTipString(MouseEvent me)
Overrides:
getTipString in class Fig

vetoableChange

public void vetoableChange(PropertyChangeEvent pce)
Specified by:
vetoableChange in interface VetoableChangeListener

delayedVetoableChange

public void delayedVetoableChange(PropertyChangeEvent pce)
Specified by:
delayedVetoableChange in interface DelayedVChangeListener

updateBounds

protected void updateBounds()

propertyChange

public void propertyChange(PropertyChangeEvent pve)
Specified by:
propertyChange in interface PropertyChangeListener
Overrides:
propertyChange in class FigNode

textEdited

protected void textEdited(FigText ft)
                   throws PropertyVetoException
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.

mouseClicked

public void mouseClicked(MouseEvent me)
If the user double clicks on anu part of this FigNode, pass it down to one of the internal Figs. This allows the user to initiate direct text editing.
Specified by:
mouseClicked in interface MouseListener
Overrides:
mouseClicked in class FigNode

keyPressed

public void keyPressed(KeyEvent ke)
Specified by:
keyPressed in interface KeyListener

keyReleased

public void keyReleased(KeyEvent ke)
not used, do nothing.
Specified by:
keyReleased in interface KeyListener

keyTyped

public void keyTyped(KeyEvent ke)
Specified by:
keyTyped in interface KeyListener

modelChanged

protected void modelChanged()
This is called aftern any part of the UML ModelElement has changed. This method automatically updates the name FigText. Subclasses should override and update other parts.

setOwner

public void setOwner(Object own)
Overrides:
setOwner in class FigNode