org.argouml.uml.diagram.state.ui
Class FigState

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.state.ui.FigStateVertex
                      extended byorg.argouml.uml.diagram.state.ui.FigState
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:
FigCompositeState, FigConcurrentRegion, FigSimpleState, FigSubmachineState

public abstract class FigState
extends FigStateVertex

The fig hierarchy should comply as much as possible to the hierarchy of the UML metamodel. Reason for this is to make sure that events from the model are not missed by the figs. The hierarchy of the states was not compliant to this. This resulted in a number of issues (issue 1430 for example). Therefore introduced a FigState and made FigCompositeState and FigSimpleState subclasses of this state.

Since:
Dec 30, 2002
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class org.argouml.uml.diagram.ui.FigNodeModelElement
 
Field Summary
private  org.tigris.gef.presentation.FigText internal
          the text inside the state
 
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
FigState()
          Constructor for FigState.
FigState(org.tigris.gef.graph.GraphModel gm, Object node)
          Constructor for FigState, used when an UML elm already exists.
 
Method Summary
protected abstract  int getInitialHeight()
           
protected abstract  int getInitialWidth()
           
protected abstract  int getInitialX()
           
protected abstract  int getInitialY()
           
protected  org.tigris.gef.presentation.FigText getInternal()
           
protected  void modelChanged(PropertyChangeEvent mee)
          This is called after any part of the UML MModelElement has changed.
protected  void setInternal(org.tigris.gef.presentation.FigText theInternal)
           
 void setOwner(Object node)
           
protected  void updateInternal()
          Updates the text inside the state
protected  void updateListeners(Object newOwner)
          Implementations of this method should register/unregister the fig for all (model)events.
 
Methods inherited from class org.argouml.uml.diagram.state.ui.FigStateVertex
makeSelection, setEnclosingFig
 
Methods inherited from class org.argouml.uml.diagram.ui.FigNodeModelElement
addEnclosedFig, addFig, allowRemoveFromDiagram, buildModifierPopUp, buildVisibilityPopUp, calcBounds, classNameAndBounds, clone, createFeatureIn, damage, delayedVetoableChange, deleteFromModel, displace, elementOrdering, enableSizeChecking, finalize, getBigPort, getContextNotation, getEnclosedFigs, getEncloser, getEnclosingFig, getItalicLabelFont, getItemUID, getLabelFont, getName, getNameFig, getPopUpActions, getShadowSize, getStereotype, getStereotypeFig, getStereotypeFigText, getTipString, hit, hitClarifier, isCheckSize, isPartlyOwner, isPartlyOwner, isReadyToEdit, keyPressed, keyReleased, keyTyped, mouseClicked, notationAdded, notationChanged, notationProviderAdded, notationProviderRemoved, notationRemoved, paint, paintClarifiers, placeString, postLoad, propertyChange, redrawEnclosedFigs, removeEnclosedFig, removeFromDiagram, renderingChanged, setBigPort, setEncloser, setItemUID, setName, setNameFig, setReadyToEdit, setShadowSize, setStereotype, setStereotypeFig, setSuppressCalcBounds, textEdited, updateBounds, updateFigGroupSize, updateNameText, updateStereotypeText, 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, setBounds, 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, setFillColor, setFilled, setFont, setFontFamily, setFontSize, setLineColor, setLineWidth, 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, getFillColor, getFilled, getFilled01, getFirstPoint, getGravityPoints, getGroup, getHalfHeight, getHalfWidth, getHandleBox, getHeight, getId, getLastPoint, getLayer, getLineColor, getLineWidth, getLocation, getLocked, getMinimumSize, getNumPoints, getOwner, getPerimeterLength, getPoint, getPoints, getPreferredSize, getResource, getSingle, getTrapRect, getUseTrapRect, 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

internal

private org.tigris.gef.presentation.FigText internal
the text inside the state

Constructor Detail

FigState

public FigState()
Constructor for FigState.


FigState

public FigState(org.tigris.gef.graph.GraphModel gm,
                Object node)
Constructor for FigState, used when an UML elm already exists.

Parameters:
gm - ignored
node - the UML element
Method Detail

setOwner

public void setOwner(Object node)
Overrides:
setOwner in class FigNodeModelElement
See Also:
Fig.setOwner(java.lang.Object)

modelChanged

protected void modelChanged(PropertyChangeEvent mee)
Description copied from class: FigNodeModelElement
This is called after any part of the UML MModelElement has changed. This method automatically updates the name FigText. Subclasses should override and update other parts.

Overrides:
modelChanged in class FigNodeModelElement
Parameters:
mee - the ModelElementEvent that caused the change
See Also:
FigNodeModelElement.modelChanged(java.beans.PropertyChangeEvent)

updateListeners

protected void updateListeners(Object newOwner)
Description copied from class: FigNodeModelElement
Implementations of this method should register/unregister the fig for all (model)events. For FigNodeModelElement only the fig itself is registred as listening to events fired by the owner itself. But for, for example, FigClass the fig must also register for events fired by the operations and attributes of the owner.

Overrides:
updateListeners in class FigNodeModelElement
Parameters:
newOwner - the new owner for the listeners
See Also:
FigNodeModelElement.updateListeners(java.lang.Object)

updateInternal

protected void updateInternal()
Updates the text inside the state


getInitialX

protected abstract int getInitialX()
Returns:
the initial X

getInitialY

protected abstract int getInitialY()
Returns:
the initial Y

getInitialWidth

protected abstract int getInitialWidth()
Returns:
the initial width

getInitialHeight

protected abstract int getInitialHeight()
Returns:
the initial height

setInternal

protected void setInternal(org.tigris.gef.presentation.FigText theInternal)
Parameters:
theInternal - The internal to set.

getInternal

protected org.tigris.gef.presentation.FigText getInternal()
Returns:
Returns the internal.


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