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

java.lang.Object
  |
  +--org.tigris.gef.presentation.Fig
        |
        +--org.tigris.gef.presentation.FigGroup
              |
              +--org.tigris.gef.presentation.FigNode
                    |
                    +--org.argouml.uml.diagram.ui.FigNodeModelElement
                          |
                          +--org.argouml.uml.diagram.static_structure.ui.FigPackage
All Implemented Interfaces:
ArgoEventListener, ArgoNotationEventListener, java.lang.Cloneable, DelayedVChangeListener, java.util.EventListener, org.tigris.gef.ui.Highlightable, java.awt.event.KeyListener, ru.novosoft.uml.MElementListener, java.awt.event.MouseListener, NotationContext, org.tigris.gef.ui.PopupGenerator, java.beans.PropertyChangeListener, java.io.Serializable, java.beans.VetoableChangeListener

public class FigPackage
extends FigNodeModelElement

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

See Also:
Serialized Form

Field Summary
protected  int _radius
           
protected  boolean _showStereotype
          Flags that indicates if the stereotype should be shown even if it is specified or not.
protected  org.tigris.gef.presentation.FigRect _stereoLineBlinder
          A rectangle to blank out the line that would otherwise appear at the bottom of the stereotype text box.
protected static org.apache.log4j.Category cat
           
 int height
           
 int indentX
           
 int indentY
           
 int MARGIN
           
 int textH
           
 int width
           
 int x
           
 int y
           
 
Fields inherited from class org.argouml.uml.diagram.ui.FigNodeModelElement
_bigPort, _enclosedFigs, _encloser, _name, _readyToEdit, _shadowSize, _stereo, checkSize, ITALIC_LABEL_FONT, LABEL_FONT, ROWHEIGHT, STEREOHEIGHT, suppressCalcBounds
 
Fields inherited from class org.tigris.gef.presentation.FigNode
_blinkPorts, _figEdges, _highlight, ang135, ang225, ang315, ang45
 
Fields inherited from class org.tigris.gef.presentation.FigGroup
_dynObjects, _figs
 
Fields inherited from class org.tigris.gef.presentation.Fig
_allowsSaving, _context, _dashes, _displayed, _fillColor, _filled, _group, _h, _layer, _lineColor, _lineWidth, _locked, _resource, _shown, _w, _x, _y, an, annotationOwner, annotationStatus, BORDER, DASH_ARRAYS, DASHED_CHOICES, MIN_SIZE
 
Constructor Summary
FigPackage()
           
FigPackage(org.tigris.gef.graph.GraphModel gm, java.lang.Object node)
           
 
Method Summary
 java.lang.Object clone()
           
 java.awt.Color getFillColor()
           
 boolean getFilled()
           
 java.awt.Color getLineColor()
           
 int getLineWidth()
           
 java.awt.Dimension getMinimumSize()
           
 java.util.Vector getPopUpActions(java.awt.event.MouseEvent me)
          Build a collection of menu items relevant for a right-click popup menu on a Package.
 boolean getUseTrapRect()
           
 java.lang.String placeString()
          Reply text to be shown while placing node in diagram
 void renderingChanged()
          Called to update the graphics.
 void setBounds(int x, int y, int w, int h)
          Sets the bounds, but the size will be at least the one returned by getMinimumSize(). If the required height is bigger, then the additional height is equally distributed among all figs (i.e. compartments), such that the cumulated height of all visible figs equals the demanded height.
 void setEnclosingFig(org.tigris.gef.presentation.Fig encloser)
           
 void setFillColor(java.awt.Color col)
           
 void setFilled(boolean f)
           
 void setLineColor(java.awt.Color col)
           
 void setLineWidth(int w)
           
protected  void updateStereotypeText()
          Updates the text of the sterotype FigText.
 
Methods inherited from class org.argouml.uml.diagram.ui.FigNodeModelElement
calcBounds, createFeatureIn, damage, delayedVetoableChange, delete, dispose, elementOrdering, enableSizeChecking, finalize, getContextNotation, getEnclosedFigs, getEnclosingFig, getItemUID, getNameFig, getShadowSize, getTipString, getUpdatedSize, hit, hitClarifier, isPartlyOwner, isPartlyOwner, keyPressed, keyReleased, keyTyped, listRoleItemSet, makeSelection, modelChanged, mouseClicked, notationAdded, notationChanged, notationProviderAdded, notationProviderRemoved, notationRemoved, paintClarifiers, propertyChange, propertySet, recovered, removed, roleAdded, roleRemoved, setItemUID, setOwner, setShadowSize, textEdited, updateBounds, updateListeners, updateNameText, vetoableChange
 
Methods inherited from class org.tigris.gef.presentation.FigNode
addFigEdge, bindPort, cleanUp, contains, deepHitPort, endTrans, getBlinkPorts, getFigEdges, getHighlight, getPortFig, getPortFigs, getPortSector, hidePorts, hitPort, hitPort, mouseEntered, mouseExited, mousePressed, mouseReleased, paint, postLoad, removeFigEdge, removePort, setBlinkPorts, setHighlight, showPorts, startTrans, superTranslate, translate, updateEdges
 
Methods inherited from class org.tigris.gef.presentation.FigGroup
addFig, elements, getDisplayedFigs, getFigs, getFont, getFontFamily, getFontSize, getPrivateData, getTextColor, getTextFillColor, getTextFilled, hitFig, isReshapable, isResizable, isRotatable, parseDynObjects, removeAll, removeFig, setFigs, setFont, setFontFamily, setFontSize, setPrivateData, setTextColor, setTextFillColor, setTextFilled
 
Methods inherited from class org.tigris.gef.presentation.Fig
addAnnotation, addPoint, addPropertyChangeListener, align, center, classNameAndBounds, connectionPoint, contains, contains, countCornersContained, createDrag, drawDashedLine, drawDashedPerimeter, firePropChange, firePropChange, firePropChange, getAnnotationOwner, getAnnotationStrategy, getBounds, getClosestPoint, getContext, getDashed, getDashed01, getDashedString, getFilled01, getFirstPoint, getGravityPoints, getGroup, getHalfHeight, getHalfWidth, getHandleBox, getHeight, getId, getLastPoint, getLayer, getLocation, getLocked, getNumPoints, getOwner, getPerimeterLength, getPoints, getPoints, getPreferedSize, getResource, getSize, getTrapRect, getVisState, getWidth, getX, getXs, getY, getYs, initAnnotations, insertPoint, intersects, isAnnotation, isDisplayed, isLowerRightResizable, isMovable, OK, pointAlongPerimeter, postSave, preSave, print, removeAnnotation, removeAnnotation, removePoint, removePropertyChangeListener, reorder, routingRect, savingAllowed, setAnnotationOwner, setAnnotationStatus, setAnnotationStrategy, setBounds, setCenter, setContext, setDashed, setDashedString, setDisplayed, setGroup, setHandleBox, setHeight, setLayer, setLocation, setLocation, setLocked, setNumPoints, setPoints, setPoints, setPoints, setPoints, setPoints, setResource, setSavingAllowed, setSize, setSize, setVisState, setWidth, setX, setXs, setY, setYs, stuffBounds, stuffPointAlongPerimeter, 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

cat

protected static org.apache.log4j.Category cat

MARGIN

public final int MARGIN

x

public int x

y

public int y

width

public int width

height

public int height

indentX

public int indentX

indentY

public int indentY

textH

public int textH

_radius

protected int _radius

_showStereotype

protected boolean _showStereotype
Flags that indicates if the stereotype should be shown even if it is specified or not.

_stereoLineBlinder

protected org.tigris.gef.presentation.FigRect _stereoLineBlinder

A rectangle to blank out the line that would otherwise appear at the bottom of the stereotype text box.

Constructor Detail

FigPackage

public FigPackage()

FigPackage

public FigPackage(org.tigris.gef.graph.GraphModel gm,
                  java.lang.Object node)
Method Detail

placeString

public java.lang.String placeString()
Description copied from class: FigNodeModelElement
Reply text to be shown while placing node in diagram
Overrides:
placeString in class FigNodeModelElement

clone

public java.lang.Object clone()
Overrides:
clone in class org.tigris.gef.presentation.FigNode

setLineColor

public void setLineColor(java.awt.Color col)
Overrides:
setLineColor in class org.tigris.gef.presentation.FigGroup

getLineColor

public java.awt.Color getLineColor()
Overrides:
getLineColor in class org.tigris.gef.presentation.FigGroup

setFillColor

public void setFillColor(java.awt.Color col)
Overrides:
setFillColor in class org.tigris.gef.presentation.FigGroup

getFillColor

public java.awt.Color getFillColor()
Overrides:
getFillColor in class org.tigris.gef.presentation.FigGroup

setFilled

public void setFilled(boolean f)
Overrides:
setFilled in class org.tigris.gef.presentation.FigGroup

getFilled

public boolean getFilled()
Overrides:
getFilled in class org.tigris.gef.presentation.FigGroup

setLineWidth

public void setLineWidth(int w)
Overrides:
setLineWidth in class org.tigris.gef.presentation.FigGroup

getLineWidth

public int getLineWidth()
Overrides:
getLineWidth in class org.tigris.gef.presentation.FigGroup

renderingChanged

public void renderingChanged()
Called to update the graphics.
Overrides:
renderingChanged in class FigNodeModelElement

updateStereotypeText

protected void updateStereotypeText()
Description copied from class: FigNodeModelElement
Updates the text of the sterotype FigText. Override in subclasses to get wanted behaviour. TODO remove all 'misuses' of the stereotype figtexts (like in FigInterface)
Overrides:
updateStereotypeText in class FigNodeModelElement

setEnclosingFig

public void setEnclosingFig(org.tigris.gef.presentation.Fig encloser)
Overrides:
setEnclosingFig in class FigNodeModelElement

getUseTrapRect

public boolean getUseTrapRect()
Overrides:
getUseTrapRect in class org.tigris.gef.presentation.Fig

getMinimumSize

public java.awt.Dimension getMinimumSize()
Overrides:
getMinimumSize in class org.tigris.gef.presentation.Fig

setBounds

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

Sets the bounds, but the size will be at least the one returned by getMinimumSize().

If the required height is bigger, then the additional height is equally distributed among all figs (i.e. compartments), such that the cumulated height of all visible figs equals the demanded height

.

Some of this has "magic numbers" hardcoded in. In particular there is a knowledge that the minimum height of a name compartment is 21 pixels.

Overrides:
setBounds in class org.tigris.gef.presentation.FigNode
Parameters:
x - Desired X coordinate of upper left corner
y - Desired Y coordinate of upper left corner
w - Desired width of the FigClass
h - Desired height of the FigClass

getPopUpActions

public java.util.Vector getPopUpActions(java.awt.event.MouseEvent me)
Build a collection of menu items relevant for a right-click popup menu on a Package.
Overrides:
getPopUpActions in class FigNodeModelElement
Parameters:
me - a mouse event
Returns:
a collection of menu items


ArgoUML (c) 1996-2002
ArgoUML Project Home
ArgoUML Cookbook