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

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.static_structure.ui.FigPackage
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
Direct Known Subclasses:
FigModel, FigSubsystem

public class FigPackage
extends FigNodeModelElement

Class to display graphics for a UML package in a class diagram.

See Also:
Serialized Form

Nested Class Summary
(package private)  class FigPackage.FigPackageFigText
           
 
Nested classes inherited from class org.argouml.uml.diagram.ui.FigNodeModelElement
 
Field Summary
private  org.tigris.gef.presentation.FigText body
           
private  int height
           
private  int indentX
           
private static Logger LOG
           
private  boolean showStereotype
          Flags that indicates if the stereotype should be shown even if it is specified or not.
private  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.
private  int textH
           
private  int width
           
private  int x
           
private  int y
           
 
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
FigPackage()
          The main constructor
FigPackage(org.tigris.gef.graph.GraphModel gm, Object node)
          Contructor that hooks the fig into the UML element
 
Method Summary
 Object clone()
          After the base clone method has been called determine which child figs of the clone represent the name, stereotype and port.
 Color getFillColor()
           
 boolean getFilled()
           
 Color getLineColor()
           
 int getLineWidth()
           
 Dimension getMinimumSize()
           
 Vector getPopUpActions(MouseEvent me)
          Build a collection of menu items relevant for a right-click popup menu on a Package.
 boolean getUseTrapRect()
           
 String placeString()
          Default Reply text to be shown while placing node in diagram.
 void renderingChanged()
          Rerenders the fig if needed.
 void setBounds(int xa, int ya, int w, int h)
          Sets the bounds, but the size will be at least the one returned by getMinimumSize().
 void setFillColor(Color col)
           
 void setFilled(boolean f)
           
 void setLineColor(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
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, getShadowSize, getStereotype, getStereotypeFig, getStereotypeFigText, getTipString, hit, hitClarifier, isCheckSize, isPartlyOwner, isPartlyOwner, isReadyToEdit, keyPressed, keyReleased, keyTyped, makeSelection, modelChanged, mouseClicked, notationAdded, notationChanged, notationProviderAdded, notationProviderRemoved, notationRemoved, paint, paintClarifiers, postLoad, propertyChange, redrawEnclosedFigs, removeEnclosedFig, removeFromDiagram, setBigPort, setEncloser, setEnclosingFig, setItemUID, setName, setNameFig, setOwner, setReadyToEdit, setShadowSize, setStereotype, setStereotypeFig, setSuppressCalcBounds, textEdited, updateBounds, updateFigGroupSize, updateListeners, updateNameText, 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, 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

LOG

private static final Logger LOG

x

private int x

y

private int y

width

private int width

height

private int height

indentX

private int indentX

textH

private int textH

body

private org.tigris.gef.presentation.FigText body

showStereotype

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


stereoLineBlinder

private 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()
The main constructor


FigPackage

public FigPackage(org.tigris.gef.graph.GraphModel gm,
                  Object node)
Contructor that hooks the fig into the UML element

Parameters:
gm - ignored
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()

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:
Called to update the graphics.

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
See Also:
FigNodeModelElement.updateStereotypeText()

getUseTrapRect

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

getMinimumSize

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

setBounds

public void setBounds(int xa,
                      int ya,
                      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.

Parameters:
xa - Desired X coordinate of upper left corner
ya - Desired Y coordinate of upper left corner
w - Desired width of the FigClass
h - Desired height of the FigClass

getPopUpActions

public Vector getPopUpActions(MouseEvent me)
Build a collection of menu items relevant for a right-click popup menu on a Package.

Specified by:
getPopUpActions in interface org.tigris.gef.ui.PopupGenerator
Overrides:
getPopUpActions in class FigNodeModelElement
Parameters:
me - a mouse event
Returns:
a collection of menu items
See Also:
PopupGenerator.getPopUpActions(java.awt.event.MouseEvent)


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