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

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
                          extended byorg.argouml.uml.diagram.state.ui.FigSubmachineState
All Implemented Interfaces:
ArgoEventListener, ArgoNotationEventListener, Cloneable, Connecter, DelayedVChangeListener, EventListener, org.tigris.gef.di.GraphicElement, org.tigris.gef.di.GraphNode, Highlightable, KeyListener, MouseListener, NotationContext, PathContainer, PopupGenerator, PropertyChangeListener, Serializable, VetoableChangeListener

public class FigSubmachineState
extends FigState

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

See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.argouml.uml.diagram.state.ui.FigState
DIVIDER_Y, MARGIN, notationProviderBody, SPACE_BOTTOM, SPACE_MIDDLE, SPACE_TOP
 
Fields inherited from class org.argouml.uml.diagram.ui.FigNodeModelElement
ABSTRACT, ACTIVE, invisibleAllowed, LEAF, notationProviderName, 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.Fig
_allowsSaving, _context, _dashes, _dashPeriod, _dashStyle, _filled, _h, _w, _x, _y, an, annotationOwner, annotationStatus, BORDER, MIN_SIZE, plotter
 
Constructor Summary
FigSubmachineState()
          The constructor.
FigSubmachineState(GraphModel gm, Object node)
          The constructor.
 
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()
           
protected  int getInitialHeight()
           
protected  int getInitialWidth()
           
protected  int getInitialX()
           
protected  int getInitialY()
           
 Color getLineColor()
           
 int getLineWidth()
           
 Dimension getMinimumSize()
           
 boolean getUseTrapRect()
           
protected  void modelChanged(PropertyChangeEvent mee)
          Update the text labels and listeners.
protected  void setBoundsImpl(int x, int y, int w, int h)
          Override setBounds to keep shapes looking right.
 void setFillColor(Color col)
           
 void setFilled(boolean f)
           
 void setLineColor(Color col)
           
 void setLineWidth(int w)
           
 void setOwner(Object node)
          In ArgoUML, for every Fig, this setOwner() function may only be called twice: Once after the fig is created, with a non-null argument, and once at end-of-life of the Fig, with a null argument.
protected  void updateListeners(Object oldOwner, 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.FigState
getInternal, initNotationProviders, renderingChanged, setInternal, textEdited, textEditStarted
 
Methods inherited from class org.argouml.uml.diagram.state.ui.FigStateVertex
makeSelection, redrawEnclosedFigs, setEnclosingFig
 
Methods inherited from class org.argouml.uml.diagram.ui.FigNodeModelElement
addElementListener, addElementListener, addElementListener, addEnclosedFig, allowRemoveFromDiagram, buildModifierPopUp, buildVisibilityPopUp, calcBounds, classNameAndBounds, createFeatureIn, damage, delayedVetoableChange, deleteFromModel, displace, elementOrdering, enableSizeChecking, finalize, forceRepaintShadow, getBigPort, getContextNotation, getDiElement, getEnclosedFigs, getEncloser, getEnclosingFig, getItalicLabelFont, getItemUID, getLabelFont, getName, getNameBounds, getNameFig, getPopUpActions, getPopupAddOffset, getRemoveDelegate, getShadowSize, getStereotypeFig, getTipString, hit, hitClarifier, isCheckSize, isDragConnectable, isEditable, isPartlyOwner, isPartlyOwner, isPathVisible, isReadyToEdit, keyPressed, keyReleased, keyTyped, mouseClicked, notationAdded, notationChanged, notationProviderAdded, notationProviderRemoved, notationRemoved, paint, paintClarifiers, placeString, postLoad, propertyChange, removeAllElementListeners, removeElementListener, removeEnclosedFig, removeFromDiagram, removeFromDiagramImpl, setBigPort, setContextNotation, setDiElement, setEditable, setEncloser, setItemUID, setLayer, setName, setNameFig, setPathVisible, setReadyToEdit, setShadowSize, setShadowSizeFriend, setSuppressCalcBounds, setVisible, showHelp, updateBounds, updateNameText, updateStereotypeText, vetoableChange
 
Methods inherited from class org.tigris.gef.presentation.FigNode
addFigEdge, bindPort, cleanUp, contains, deepHitPort, dispose, endTrans, getFigEdges, getFigEdges, getHighlight, getPortFig, getPortFigs, getPortSector, hidePorts, hitPort, hitPort, isBlinkPorts, mouseEntered, mouseExited, mousePressed, mouseReleased, paint, removeFigEdge, removePort, setBlinkPorts, setHighlight, showPorts, superTranslate, translateImpl, updateEdges
 
Methods inherited from class org.tigris.gef.presentation.FigGroup
addFig, addFigs, deepSelect, elements, getDisplayedFigs, getExtraFrameSpace, getFigAt, getFigCount, getFigPosn, getFigs, getFont, getFontFamily, getFontSize, getPrivateData, 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, firePropChange, firePropChange, firePropChange, getAnnotationOwner, getAnnotationStrategy, getBounds, getBounds, getCenter, 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, getSize, getTrapRect, getVisState, getWidth, getX, getXs, getY, getYs, hasFillColor, hasLineColor, initAnnotations, insertPoint, intersects, intersectsPerimeter, isAnnotation, isCopyable, isCutable, isLowerRightResizable, isMovable, isRemoveStarted, isResizable, isSelectable, isSelected, isVisible, pointAlongPerimeter, postSave, preSave, print, redraw, removeAnnotation, removePoint, removePropertyChangeListener, reorder, routingRect, savingAllowed, setAnnotationOwner, setAnnotationStatus, setAnnotationStrategy, setBounds, setBounds, setCenter, setContext, setDashed, setDashedString, setGroup, setHandleBox, setHeight, setLocation, setLocation, setLocked, setMovable, setNumPoints, setPoint, setPoint, setPoint, setPoint, setPoints, setResizable, setResource, setSavingAllowed, setSize, setSize, setWidth, setX, setXs, setY, setYs, stuffBounds, stuffPointAlongPerimeter, translate, translateAnnotations, unsetAnnotationOwner, updateAnnotationPositions, 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.argouml.cognitive.Highlightable
getHighlight, setHighlight
 
Methods inherited from interface org.tigris.gef.di.GraphicElement
getId, getOwner, routingRect
 

Constructor Detail

FigSubmachineState

public FigSubmachineState()
The constructor.


FigSubmachineState

public FigSubmachineState(GraphModel gm,
                          Object node)
The constructor.

Parameters:
gm - (ignored)
node - the owner UML object
Method Detail

setOwner

public void setOwner(Object node)
Description copied from class: FigNodeModelElement
In ArgoUML, for every Fig, this setOwner() function may only be called twice: Once after the fig is created, with a non-null argument, and once at end-of-life of the Fig, with a null argument. It is not allowed in ArgoUML to change the owner of a fig in any other way.

Hence, during the lifetime of this Fig object, the owner shall go from null to some UML object, and to null again.

Overrides:
setOwner in class FigState
See Also:
Fig.setOwner(java.lang.Object)

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

getMinimumSize

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

getUseTrapRect

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

setBoundsImpl

protected void setBoundsImpl(int x,
                             int y,
                             int w,
                             int h)
Override setBounds to keep shapes looking right.

See Also:
Fig.setBoundsImpl(int, int, int, int)

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

modelChanged

protected void modelChanged(PropertyChangeEvent mee)
Update the text labels and listeners.

Overrides:
modelChanged in class FigState
See Also:
FigNodeModelElement.modelChanged(java.beans.PropertyChangeEvent)

updateListeners

protected void updateListeners(Object oldOwner,
                               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 registered 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.

An explanation of the original purpose of this method is given in issue 1321.

This function is used in UMLDiagram, which removes all listeners to all Figs when a diagram is not displayed, and restore them when it becomes visible again.

In this case, it is imperative that indeed ALL listeners are updated, since they are ALL removed by the call to removeElementListener.

Additionally, this function may be used by the modelChanged() function.

In this case, it is also imperative that all listeners get removed / added.

Overrides:
updateListeners in class FigState
See Also:
org.argouml.uml.diagram.ui.FigNodeModelElement#updateListeners(java.lang.Object)

getInitialHeight

protected int getInitialHeight()
Specified by:
getInitialHeight in class FigState
Returns:
the initial height
See Also:
FigState.getInitialHeight()

getInitialWidth

protected int getInitialWidth()
Specified by:
getInitialWidth in class FigState
Returns:
the initial width
See Also:
FigState.getInitialWidth()

getInitialX

protected int getInitialX()
Specified by:
getInitialX in class FigState
Returns:
the initial X
See Also:
FigState.getInitialX()

getInitialY

protected int getInitialY()
Specified by:
getInitialY in class FigState
Returns:
the initial Y
See Also:
FigState.getInitialY()


ArgoUML © 1996-2006ArgoUML HomepageArgoUML Developers' pageArgoUML Cookbook