org.argouml.uml.diagram.static_structure.ui
Class FigComment

java.lang.Object
  |
  +--FigNode
        |
        +--org.argouml.uml.diagram.ui.FigNodeModelElement
              |
              +--org.argouml.uml.diagram.static_structure.ui.FigComment
All Implemented Interfaces:
ArgoEventListener, ArgoNotationEventListener, DelayedVChangeListener, java.util.EventListener, java.awt.event.KeyListener, java.awt.event.MouseListener, NotationContext, java.beans.PropertyChangeListener, java.beans.VetoableChangeListener

public class FigComment
extends FigNodeModelElement
implements java.beans.VetoableChangeListener, DelayedVChangeListener, java.awt.event.MouseListener, java.awt.event.KeyListener, java.beans.PropertyChangeListener

Class to display a UML note in a diagram Since we don't need stereotypes for the note and an empty stereotype textfield causes problems with the note layout, I subclass FigNode instead of FigNodeModelElement.

See Also:
Serialized Form

Field Summary
protected  boolean _readyToEdit
           
protected static Category cat
           
 int gapY
           
 int height
           
static java.awt.Font ITALIC_LABEL_FONT
           
static java.awt.Font LABEL_FONT
           
 int MARGIN
           
 int width
           
 int x
           
 int y
           
 
Fields inherited from class org.argouml.uml.diagram.ui.FigNodeModelElement
_bigPort, _enclosedFigs, _encloser, _name, _shadowSize, _stereo, checkSize, ROWHEIGHT, STEREOHEIGHT, suppressCalcBounds
 
Constructor Summary
FigComment()
           
FigComment(GraphModel gm, java.lang.Object node)
          Construct a new note
FigComment(MModelElement element)
          Create a note for a given model element.
 
Method Summary
 java.lang.Object clone()
          Clone this figure.
 void delayedVetoableChange(java.beans.PropertyChangeEvent pce)
           
 java.awt.Color getFillColor()
           
 boolean getFilled()
           
 java.awt.Color getLineColor()
           
 int getLineWidth()
           
 java.awt.Dimension getMinimumSize()
          Get the minimum size for the note figure.
 boolean getUseTrapRect()
           
 void keyPressed(java.awt.event.KeyEvent ke)
           
 void keyReleased(java.awt.event.KeyEvent ke)
          not used, do nothing.
 void keyTyped(java.awt.event.KeyEvent ke)
           
protected  void modelChanged(MElementEvent mee)
          This is called aftern any part of the UML MModelElement has changed.
 void mouseClicked(java.awt.event.MouseEvent me)
          If the user double clicks on any part of this FigNode, pass it down to one of the internal Figs.
 java.lang.String placeString()
          Get the default text for this figure.
 void propertyChange(java.beans.PropertyChangeEvent pve)
           
 java.lang.String retrieveNote()
          Retrieve the note from the associated model element.
 void setBounds(int x, int y, int w, int h)
           
 void setEnclosingFig(Fig encloser)
          Updates the modelelement container if the fig is moved in or out another fig.
 void setFillColor(java.awt.Color col)
           
 void setFilled(boolean f)
           
 void setLineColor(java.awt.Color col)
           
 void setLineWidth(int w)
           
 void storeNote(java.lang.String note)
          Store a note in the associated model element.
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()
           
protected  void updateNameText()
          Updates the text of the name FigText.
 void vetoableChange(java.beans.PropertyChangeEvent pce)
           
 
Methods inherited from class org.argouml.uml.diagram.ui.FigNodeModelElement
calcBounds, createFeatureIn, damage, delete, dispose, elementOrdering, enableSizeChecking, finalize, getContextNotation, getEnclosedFigs, getEnclosingFig, getItemUID, getNameFig, getPopUpActions, getShadowSize, getTipString, getUpdatedSize, hit, hitClarifier, isPartlyOwner, isPartlyOwner, listRoleItemSet, makeSelection, notationAdded, notationChanged, notationProviderAdded, notationProviderRemoved, notationRemoved, paintClarifiers, postLoad, propertySet, recovered, removed, renderingChanged, roleAdded, roleRemoved, setItemUID, setOwner, setShadowSize, updateListeners, updateStereotypeText
 
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
 

Field Detail

cat

protected static Category cat

x

public int x

y

public int y

width

public int width

height

public int height

gapY

public int gapY

_readyToEdit

protected boolean _readyToEdit

LABEL_FONT

public static java.awt.Font LABEL_FONT

ITALIC_LABEL_FONT

public static java.awt.Font ITALIC_LABEL_FONT

MARGIN

public final int MARGIN
See Also:
Constant Field Values
Constructor Detail

FigComment

public FigComment()

FigComment

public FigComment(GraphModel gm,
                  java.lang.Object node)
Construct a new note

Parameters:
gm - The graphmodel
node - The underlying MComment node

FigComment

public FigComment(MModelElement element)
Create a note for a given model element.

Parameters:
element - The annotated model element.
Method Detail

placeString

public java.lang.String placeString()
Get the default text for this figure.

Overrides:
placeString in class FigNodeModelElement
Returns:
The default text for this figure.

clone

public java.lang.Object clone()
Clone this figure.

Returns:
The cloned figure.

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent me)
If the user double clicks on any 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 java.awt.event.MouseListener
Overrides:
mouseClicked in class FigNodeModelElement

vetoableChange

public void vetoableChange(java.beans.PropertyChangeEvent pce)
Specified by:
vetoableChange in interface java.beans.VetoableChangeListener
Overrides:
vetoableChange in class FigNodeModelElement

delayedVetoableChange

public void delayedVetoableChange(java.beans.PropertyChangeEvent pce)
Specified by:
delayedVetoableChange in interface DelayedVChangeListener
Overrides:
delayedVetoableChange in class FigNodeModelElement

propertyChange

public void propertyChange(java.beans.PropertyChangeEvent pve)
Specified by:
propertyChange in interface java.beans.PropertyChangeListener
Overrides:
propertyChange in class FigNodeModelElement

keyPressed

public void keyPressed(java.awt.event.KeyEvent ke)
Specified by:
keyPressed in interface java.awt.event.KeyListener
Overrides:
keyPressed in class FigNodeModelElement

keyReleased

public void keyReleased(java.awt.event.KeyEvent ke)
not used, do nothing.

Specified by:
keyReleased in interface java.awt.event.KeyListener
Overrides:
keyReleased in class FigNodeModelElement

keyTyped

public void keyTyped(java.awt.event.KeyEvent ke)
Specified by:
keyTyped in interface java.awt.event.KeyListener
Overrides:
keyTyped in class FigNodeModelElement

setLineColor

public void setLineColor(java.awt.Color col)

getLineColor

public java.awt.Color getLineColor()

setFillColor

public void setFillColor(java.awt.Color col)

getFillColor

public java.awt.Color getFillColor()

setFilled

public void setFilled(boolean f)

getFilled

public boolean getFilled()

setLineWidth

public void setLineWidth(int w)

getLineWidth

public int getLineWidth()

textEdited

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

setEnclosingFig

public void setEnclosingFig(Fig encloser)
Description copied from class: FigNodeModelElement
Updates the modelelement container if the fig is moved in or out another fig. If this fig doesn't have an enclosing fig anymore, the namespace of the diagram will be the owning modelelement. If this fig is moved inside another FigNodeModelElement the owner of that fignodemodelelement will be the owning modelelement.

Overrides:
setEnclosingFig in class FigNodeModelElement
See Also:
org.tigris.gef.presentation.Fig#setEnclosingFig(org.tigris.gef.presentation.Fig)

storeNote

public final void storeNote(java.lang.String note)
Store a note in the associated model element.

Parameters:
note - The note to store.

retrieveNote

public final java.lang.String retrieveNote()
Retrieve the note from the associated model element.

Returns:
The note from the associated model element.

getUseTrapRect

public boolean getUseTrapRect()

getMinimumSize

public java.awt.Dimension getMinimumSize()
Get the minimum size for the note figure.

Returns:
The minimum size for the note figure.

setBounds

public void setBounds(int x,
                      int y,
                      int w,
                      int h)

updateBounds

protected void updateBounds()
Overrides:
updateBounds in class FigNodeModelElement

modelChanged

protected final void modelChanged(MElementEvent mee)
This is called aftern any part of the UML MModelElement has changed. This method automatically updates the note FigText.

Overrides:
modelChanged in class FigNodeModelElement

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


ArgoUML © 1996-2003 (20040216)ArgoUML Project HomeArgoUML Cookbook