32#include <ArmarXCore/interface/statechart/StatechartIce.h>
54 class State :
public QObject,
public Logging,
public std::enable_shared_from_this<State>
60 explicit State(
const QString& uuid =
"");
65 void addReferences(
const QMap<QString, armarx::statechartmodel::StatePtr>& uuidStateMap);
158 const QString& transitionSourceName,
159 const QString& transitionDestinationName)
const;
220 void setSize(
const QSizeF& newSize);
228 QString instanceName =
"",
229 const QPointF& pos = QPointF());
231 const QString& remoteStateOffererName,
232 QString instanceName =
"",
233 const QPointF& pos = QPointF());
237 const QString& eventName,
238 const QPointF& pos = QPointF());
292 void setDirty(
bool dirty);
327 QPointF calcDetachedTransitionLastControlPoint(
StateInstancePtr instance)
const;
329 const QPointF& lastControlPoint)
const;
const StateInstanceMap & getSubstates() const
TransitionList transitions
State(const QString &uuid="")
void stateChanged(statechartmodel::SignalType signalType)
StateInstancePtr addRemoteSubstate(StatePtr newRemoteSubstate, const QString &remoteStateOffererName, QString instanceName="", const QPointF &pos=QPointF())
friend class StateInstance
void setTransitionMapping(TransitionCPtr transition, const ParameterMappingList &mappingToNextStateInput, const ParameterMappingList &mappingToParentLocal, const ParameterMappingList &mappingToParentOutput)
StateParameterMap outputParameters
QString getStateName() const
bool hasDescendant(statechartmodel::StatePtr state) const
bool checkTransition(TransitionPtr transition) const
void bendTransition(TransitionCPtr transition, int u, int v)
StateInstanceMap substates
void addTransition(TransitionPtr newTransition)
TransitionPtr getTransition(const QString &eventName, StateInstancePtr sourceInstance) const
void setLocalParameters(const StateParameterMap &newLocalParameters)
void outgoingTransitionChanged(const QString &eventName, statechartmodel::StatePtr stateClass, statechartmodel::SignalType signalType)
void setStartState(StateInstancePtr newStartState)
void setActiveSubstate(StateInstancePtr newActiveState)
void replaceSubstates(StateInstanceMap newSubstateList)
bool renameSubstate(QString oldName, QString newName)
void setEditable(bool editable)
void setStateName(const QString &newName)
void setInputParameters(const StateParameterMap &newInputParameters)
void updateTransitionDestination(TransitionCPtr transition, StateInstancePtr newDest, QPointList newSupportPoints=QPointList())
StateInstancePtr getStartState() const
StateInstancePtr replaceSubstate(QString stateInstanceName, StateInstancePtr newInstance)
void connectToSubclasses()
void substateChanged(statechartmodel::StateInstancePtr substate, statechartmodel::SignalType signalType)
virtual eStateType getType() const
const EventList & getOutgoingEvents() const
TransitionPtr findTransition(TransitionCPtr t) const
bool checkSubstate(StatePtr newState) const
const StateInstancePtr & getActiveSubstate() const
const StateParameterMap & getLocalParameters() const
static QString StateTypeToString(eStateType type)
ParameterMappingList getStartStateInputMapping() const
StateInstancePtr activeSubstate
EventList outgoingTransitions
void setTransitionSupportPoints(statechartmodel::TransitionCPtr transition, const SupportPoints &points, const QPointPtr &labelCenterPosition=QPointPtr(), const FloatPtr &labelFontPointSize=FloatPtr())
void setTransitionUserCodeEnabled(TransitionCPtr transition, bool enabled=true)
const QList< QString > getProxies() const
StateParameterMap localParameters
void addReferences(const QMap< QString, armarx::statechartmodel::StatePtr > &uuidStateMap)
Annotates the State object created by parseXml() before with references to other states.
void replaceTransitions(TransitionList newTransitionList)
void transitionChanged(statechartmodel::TransitionCPtr transition, statechartmodel::SignalType signalType)
void addSupportPoint(TransitionCPtr transition, QPointF supportPoint)
void setDescription(const QString &newDescription)
CTransitionList getTransitions(bool withStartTransition=false) const
void detachTransitionDestination(TransitionCPtr transition, QPointF floatingEndPoint)
const StateParameterMap & getInputParameters() const
StateInstancePtr addDynamicRemoteSubstate(StatePtr state, QString instanceName, const QPointF &pos)
void dirtyStatusChanged(bool newStatus)
const QString & getDescription() const
StateInstancePtr addEndSubstate(const QString &endstateName, const QString &eventName, const QPointF &pos=QPointF())
const StateParameterMap & getOutputParameters() const
void setOutgoingEvents(const EventList &outgoingEvents)
void stateDeleted()
stateDeleted Signals that the destructor of this state was called.
const StateParameterMap getInputAndLocalParameters() const
void addDetachedTransition(const QString &eventName, StateInstancePtr sourceState)
void setOutputParameters(const StateParameterMap &newOutputParameters)
void setTransitionActivated(TransitionCPtr transition)
void setStartStateInputMapping(const ParameterMappingList &newStartStateInputMapping)
StateParameterMap inputParameters
EventList getAllEvents() const
QList< StateInstancePtr > getInstances(statechartmodel::StatePtr stateClass) const
void setSize(const QSizeF &newSize)
bool removeTransition(TransitionPtr transition)
TransitionCPtr getStartTransition() const
bool removeSubstate(StateInstancePtr substate)
void setSubstateAreaSize(const QSizeF &newSize)
StateInstancePtr addSubstate(StateInstancePtr stateInstance)
void updateTransition(const QString &eventName, statechartmodel::StatePtr stateClass, statechartmodel::SignalType signalType)
void clearActiveSubstates()
std::shared_ptr< State > StatePtr
QMap< QString, StateParameterPtr > StateParameterMap
std::shared_ptr< StateInstance > StateInstancePtr
std::shared_ptr< DynamicRemoteStateClass > DynamicRemoteStateClassPtr
QList< ParameterMappingPtr > ParameterMappingList
QList< TransitionPtr > TransitionList
std::shared_ptr< const Transition > TransitionCPtr
SignalType
The SignalType enum.
QList< EventPtr > EventList
QList< TransitionCPtr > CTransitionList
std::shared_ptr< Transition > TransitionPtr
QMap< QString, StateInstancePtr > StateInstanceMap
std::shared_ptr< QPointF > QPointPtr
QList< QPointF > QPointList
std::shared_ptr< float > FloatPtr