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

java.lang.Object
  extended byorg.tigris.gef.base.Diagram
      extended byorg.argouml.ui.ArgoDiagram
          extended byorg.argouml.uml.diagram.ui.UMLDiagram
              extended byorg.argouml.uml.diagram.state.ui.UMLStateDiagram
All Implemented Interfaces:
EventListener, org.tigris.gef.graph.GraphListener, PropertyChangeListener, Serializable

public class UMLStateDiagram
extends UMLDiagram

The correct name for this class is "UMLStatechartDiagram". See issue 2306.

See Also:
Serialized Form

Field Summary
private  Action actionBranchPseudoState
           
private  Action actionCompositeState
           
private  Action actionDeepHistoryPseudoState
           
private  Action actionFinalPseudoState
           
private  Action actionForkPseudoState
           
private  Action actionJoinPseudoState
           
private  Action actionJunctionPseudoState
           
private  Action actionShallowHistoryPseudoState
           
private  Action actionStartPseudoState
           
private  Action actionState
           
private  Action actionStubState
           
private  Action actionSubmachineState
           
private  Action actionSynchState
           
private  Action actionTransition
           
private static Logger LOG
          Logger.
private  Object theStateMachine
          this diagram needs to be deleted when its statemachine is deleted.
 
Fields inherited from class org.argouml.uml.diagram.ui.UMLDiagram
 
Fields inherited from class org.argouml.ui.ArgoDiagram
 
Fields inherited from class org.tigris.gef.base.Diagram
_comments, _name, _toolBar, NAME_KEY, SCALE_KEY
 
Constructor Summary
UMLStateDiagram()
          This constructor is used to build a dummy statechart diagram so that a project will load properly.
UMLStateDiagram(Object namespace, Object sm)
          Constructor.
 
Method Summary
protected  Action getActionBranchPseudoState()
           
protected  Action getActionCompositeState()
           
protected  Action getActionDeepHistoryPseudoState()
           
protected  Action getActionFinalPseudoState()
           
protected  Action getActionForkPseudoState()
           
protected  Action getActionJoinPseudoState()
           
protected  Action getActionJunctionPseudoState()
           
protected  Action getActionShallowHistoryPseudoState()
           
protected  Action getActionStartPseudoState()
           
protected  Action getActionState()
           
protected  Action getActionStubState()
           
protected  Action getActionSubmachineState()
           
protected  Action getActionSynchState()
           
protected  Action getActionTransition()
           
 String getLabelName()
           
protected  String getNewDiagramName()
          Creates a name for the diagram.
 Object getOwner()
          The owner of a statechart diagram is the statechart diagram it's showing.
 Object getStateMachine()
           
protected  Object[] getUmlActions()
          Get the actions from which to create a toolbar or equivalent graphic triggers.
 void initialize(Object o)
          Called by the PGML parser to initialize the statechart diagram.
 boolean needsToBeRemoved()
          This method shall indicate if the diagram needs to be removed because the modelelements on which it depends are removed.
 void setStateMachine(Object sm)
           
 void setup(Object namespace, Object sm)
          Method to perform a number of important initializations of a StateDiagram.
 
Methods inherited from class org.argouml.uml.diagram.ui.UMLDiagram
deselectAllTools, deselectOtherTools, getActions, getClassAndModelID, getJToolBar, getNamespace, getNextDiagramSerial, initToolBar, makeCreateAssociationAction, makeCreateEdgeAction, makeCreateNodeAction, propertyChange, removeAsTarget, resetDiagramSerial, setAsTarget, setNamespace
 
Methods inherited from class org.argouml.ui.ArgoDiagram
damage, getContainingFig, getEdges, getItemUID, getNodes, getVetoMessage, setItemUID, setName, toString
 
Methods inherited from class org.tigris.gef.base.Diagram
add, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, bringForward, bringToFront, countContained, edgeAdded, edgeRemoved, elements, elementsIn, firePropertyChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, getComments, getGraphController, getGraphModel, getLayer, getName, getScale, getShowSingleMultiplicity, getToolBar, graphChanged, hit, nodeAdded, nodeRemoved, postLoad, postSave, preSave, presentationFor, remove, remove, removeAll, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, reorder, sendBackward, sendToBack, setComments, setGraphModel, setLayer, setScale, setShowSingleMultiplicity, setToolBar
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

LOG

private static final Logger LOG
Logger.


theStateMachine

private Object theStateMachine
this diagram needs to be deleted when its statemachine is deleted.


actionStubState

private Action actionStubState

actionState

private Action actionState

actionSynchState

private Action actionSynchState

actionSubmachineState

private Action actionSubmachineState

actionCompositeState

private Action actionCompositeState

actionStartPseudoState

private Action actionStartPseudoState

actionFinalPseudoState

private Action actionFinalPseudoState

actionBranchPseudoState

private Action actionBranchPseudoState

actionForkPseudoState

private Action actionForkPseudoState

actionJoinPseudoState

private Action actionJoinPseudoState

actionShallowHistoryPseudoState

private Action actionShallowHistoryPseudoState

actionDeepHistoryPseudoState

private Action actionDeepHistoryPseudoState

actionTransition

private Action actionTransition

actionJunctionPseudoState

private Action actionJunctionPseudoState
Constructor Detail

UMLStateDiagram

public UMLStateDiagram()
This constructor is used to build a dummy statechart diagram so that a project will load properly.


UMLStateDiagram

public UMLStateDiagram(Object namespace,
                       Object sm)
Constructor.

Parameters:
namespace - the NameSpace for the new diagram
sm - the StateMachine
Method Detail

getOwner

public Object getOwner()
The owner of a statechart diagram is the statechart diagram it's showing.

Overrides:
getOwner in class UMLDiagram
Returns:
the namespace
See Also:
UMLDiagram.getOwner()

initialize

public void initialize(Object o)
Called by the PGML parser to initialize the statechart diagram. First the parser creates a statechart diagram via the default constructor. Then this method is called.

Overrides:
initialize in class UMLDiagram
See Also:
Diagram.initialize(Object)

setup

public void setup(Object namespace,
                  Object sm)
Method to perform a number of important initializations of a StateDiagram.

Each diagram type has a similar UMLxxxDiagram class.

Changed lay from LayerPerspective to LayerPerspectiveMutable. This class is a child of LayerPerspective and was implemented to correct some difficulties in changing the model. lay is used mainly in LayerManager(GEF) to control the adding, changing and deleting layers on the diagram...

Parameters:
namespace - Class from the UML model...connects the class to the Statechart diagram.
sm - StateMachine from the UML model

getStateMachine

public Object getStateMachine()
Returns:
the StateMachine belonging to this diagram

setStateMachine

public void setStateMachine(Object sm)
Parameters:
sm - Set the StateMachine for this diagram.

getUmlActions

protected Object[] getUmlActions()
Get the actions from which to create a toolbar or equivalent graphic triggers.

Specified by:
getUmlActions in class UMLDiagram
Returns:
the actions structure
See Also:
UMLDiagram.getUmlActions()

getNewDiagramName

protected String getNewDiagramName()
Creates a name for the diagram.

Returns:
the new diagram name

getLabelName

public String getLabelName()
Specified by:
getLabelName in class UMLDiagram
Returns:
a string that can be used as a label for this kind of diagram
See Also:
UMLDiagram.getLabelName()

getActionBranchPseudoState

protected Action getActionBranchPseudoState()
Returns:
Returns the actionBranchPseudoState.

getActionCompositeState

protected Action getActionCompositeState()
Returns:
Returns the actionCompositeState.

getActionDeepHistoryPseudoState

protected Action getActionDeepHistoryPseudoState()
Returns:
Returns the actionDeepHistoryPseudoState.

getActionFinalPseudoState

protected Action getActionFinalPseudoState()
Returns:
Returns the actionFinalPseudoState.

getActionForkPseudoState

protected Action getActionForkPseudoState()
Returns:
Returns the actionForkPseudoState.

getActionJoinPseudoState

protected Action getActionJoinPseudoState()
Returns:
Returns the actionJoinPseudoState.

getActionJunctionPseudoState

protected Action getActionJunctionPseudoState()
Returns:
Returns the actionJunctionPseudoState.

getActionShallowHistoryPseudoState

protected Action getActionShallowHistoryPseudoState()
Returns:
Returns the actionShallowHistoryPseudoState.

getActionStartPseudoState

protected Action getActionStartPseudoState()
Returns:
Returns the actionStartPseudoState.

getActionState

protected Action getActionState()
Returns:
Returns the actionState.

getActionSynchState

protected Action getActionSynchState()
Returns:
Returns the actionSynchState.

getActionSubmachineState

protected Action getActionSubmachineState()
Returns:
Returns the actionSubmachineState.

getActionStubState

protected Action getActionStubState()
Returns:
Returns the actionSubmachineState.

getActionTransition

protected Action getActionTransition()
Returns:
Returns the actionTransition.

needsToBeRemoved

public boolean needsToBeRemoved()
Description copied from class: UMLDiagram
This method shall indicate if the diagram needs to be removed because the modelelements on which it depends are removed. The default implementation is applicable to e.g. a ClassDiagram, which only depends on its namespace.

Matters get more complicated for e.g. a Statechart Diagram, which also depends on its context (the represented modelelement). Hence such a diagram needs to override this method.

Overrides:
needsToBeRemoved in class UMLDiagram
Returns:
true if the diagram needs to be removed
See Also:
UMLDiagram.needsToBeRemoved()


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