Package ptolemy.vergil.modal
Class FSMGraphModel
- java.lang.Object
-
- diva.graph.AbstractGraphModel
-
- diva.graph.modular.ModularGraphModel
-
- ptolemy.vergil.basic.AbstractBasicGraphModel
-
- ptolemy.vergil.modal.FSMGraphModel
-
- All Implemented Interfaces:
GraphModel,ChangeListener
- Direct Known Subclasses:
GTFrameController.GTFSMGraphModel
public class FSMGraphModel extends AbstractBasicGraphModel
A graph model for graphically manipulating ptolemy FSM models.- Since:
- Ptolemy II 8.0
- Version:
- $Id$
- Author:
- Steve Neuendorffer
- Pt.AcceptedRating:
- Red (johnr)
- Pt.ProposedRating:
- Yellow (neuendor)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classFSMGraphModel.ArcModelThe model for arcs between states.classFSMGraphModel.PortModelThe model for external ports.classFSMGraphModel.StateModelThe model for an icon that represent states.
-
Field Summary
-
Fields inherited from class diva.graph.AbstractGraphModel
_graphListeners
-
-
Constructor Summary
Constructors Constructor Description FSMGraphModel(CompositeEntity composite)Construct a new graph model whose root is the given composite entity.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean_update()Update the graph model.voiddisconnectEdge(java.lang.Object eventSource, java.lang.Object edge)Disconnect an edge from its two endpoints and notify graph listeners with an EDGE_HEAD_CHANGED and an EDGE_TAIL_CHANGED event whose source is the given source.FSMGraphModel.ArcModelgetArcModel()Get the arc model.java.lang.StringgetDeleteEdgeMoML(java.lang.Object edge)Return a MoML String that will delete the given edge from the Ptolemy model.java.lang.StringgetDeleteNodeMoML(java.lang.Object node)Return a MoML String that will delete the given node from the Ptolemy model.EdgeModelgetEdgeModel(java.lang.Object edge)Return the model for the given edge object.NodeModelgetNodeModel(java.lang.Object node)Return the node model for the given object.FSMGraphModel.PortModelgetPortModel()Get the port model.java.lang.ObjectgetSemanticObject(java.lang.Object element)Return the semantic object corresponding to the given node, edge, or composite.FSMGraphModel.StateModelgetStateModel()Get the state model.voidremoveNode(java.lang.Object eventSource, java.lang.Object node)Delete a node from its parent graph and notify graph listeners with a NODE_REMOVED event.-
Methods inherited from class ptolemy.vergil.basic.AbstractBasicGraphModel
_getLocation, changeExecuted, changeFailed, getCompositeModel, getProperty, getPtolemyModel, isNode, removeListeners, setProperty, setSemanticObject
-
Methods inherited from class diva.graph.modular.ModularGraphModel
containsNode, getHead, getNodeCount, getParent, getRoot, getTail, inEdges, isComposite, isDirected, isEdge, nodes, nodesAfterEdges, nodesBeforeEdges, outEdges
-
Methods inherited from class diva.graph.AbstractGraphModel
addGraphListener, dispatchGraphEvent, removeGraphListener, setDispatchEnabled
-
-
-
-
Constructor Detail
-
FSMGraphModel
public FSMGraphModel(CompositeEntity composite)
Construct a new graph model whose root is the given composite entity.- Parameters:
composite- The top-level composite entity for the model.
-
-
Method Detail
-
disconnectEdge
public void disconnectEdge(java.lang.Object eventSource, java.lang.Object edge)Disconnect an edge from its two endpoints and notify graph listeners with an EDGE_HEAD_CHANGED and an EDGE_TAIL_CHANGED event whose source is the given source.- Specified by:
disconnectEdgein classAbstractBasicGraphModel- Parameters:
eventSource- The source of the event that will be dispatched, e.g. the view that made this call.edge- The edge.
-
getDeleteEdgeMoML
public java.lang.String getDeleteEdgeMoML(java.lang.Object edge)
Return a MoML String that will delete the given edge from the Ptolemy model.- Specified by:
getDeleteEdgeMoMLin classAbstractBasicGraphModel- Parameters:
edge- The edge.- Returns:
- A valid MoML string.
-
getDeleteNodeMoML
public java.lang.String getDeleteNodeMoML(java.lang.Object node)
Return a MoML String that will delete the given node from the Ptolemy model.- Specified by:
getDeleteNodeMoMLin classAbstractBasicGraphModel- Parameters:
node- The node.- Returns:
- A valid MoML string.
-
getEdgeModel
public EdgeModel getEdgeModel(java.lang.Object edge)
Return the model for the given edge object. If the object is not an edge, then return null.- Specified by:
getEdgeModelin classModularGraphModel- Parameters:
edge- An object which is assumed to be in this graph model.- Returns:
- An instance of ArcModel if the object is an Arc. Otherwise return null.
-
getNodeModel
public NodeModel getNodeModel(java.lang.Object node)
Return the node model for the given object. If the object is not a node, then return null.- Overrides:
getNodeModelin classAbstractBasicGraphModel- Parameters:
node- An object which is assumed to be in this graph model.- Returns:
- The node model for the specified node, or null if there is none.
-
getSemanticObject
public java.lang.Object getSemanticObject(java.lang.Object element)
Return the semantic object corresponding to the given node, edge, or composite. A "semantic object" is an object associated with a node in the graph. In this case, if the node is icon, the semantic object is the entity containing the icon. If it is an arc, then the semantic object is the arc's relation.- Specified by:
getSemanticObjectin interfaceGraphModel- Overrides:
getSemanticObjectin classAbstractBasicGraphModel- Parameters:
element- A graph element.- Returns:
- The semantic object associated with this element, or null if the object is not recognized.
- See Also:
AbstractBasicGraphModel.setSemanticObject(Object, Object)
-
removeNode
public void removeNode(java.lang.Object eventSource, java.lang.Object node)Delete a node from its parent graph and notify graph listeners with a NODE_REMOVED event.- Specified by:
removeNodein classAbstractBasicGraphModel- Parameters:
eventSource- The source of the event that will be dispatched, e.g. the view that made this call.node- The node to be removed.
-
getPortModel
public FSMGraphModel.PortModel getPortModel()
Get the port model.- Returns:
- The port model.
-
getStateModel
public FSMGraphModel.StateModel getStateModel()
Get the state model.- Returns:
- The state model.
-
getArcModel
public FSMGraphModel.ArcModel getArcModel()
Get the arc model.- Returns:
- The acr model.
-
_update
protected boolean _update()
Update the graph model. This is called whenever a change request is executed. In this class the internal set of link objects is verified to be correct.- Overrides:
_updatein classAbstractBasicGraphModel- Returns:
- True if the graph model changes (always true in this base class).
-
-