Qt 4.8
Public Types | Signals | Public Functions | Protected Functions | Properties | List of all members
QState Class Reference

The QState class provides a general-purpose state for QStateMachine. More...

#include <qstate.h>

Inheritance diagram for QState:
QAbstractState QObject QStateMachine

Public Types

enum  ChildMode { ExclusiveStates, ParallelStates }
 This enum specifies how a state's child states are treated. More...
 

Signals

void finished ()
 This signal is emitted when a final child state of this state is entered. More...
 
void propertiesAssigned ()
 This signal is emitted when all properties have been assigned their final value. More...
 
- Signals inherited from QAbstractState
void entered ()
 This signal is emitted when the state has been entered (after onEntry() has been called). More...
 
void exited ()
 This signal is emitted when the state has been exited (after onExit() has been called). More...
 
- Signals inherited from QObject
void destroyed (QObject *=0)
 This signal is emitted immediately before the object obj is destroyed, and can not be blocked. More...
 

Public Functions

void addTransition (QAbstractTransition *transition)
 Adds the given transition. More...
 
QSignalTransitionaddTransition (QObject *sender, const char *signal, QAbstractState *target)
 Adds a transition associated with the given signal of the given sender object, and returns the new QSignalTransition object. More...
 
QAbstractTransitionaddTransition (QAbstractState *target)
 Adds an unconditional transition from this state to the given target state, and returns then new transition object. More...
 
void assignProperty (QObject *object, const char *name, const QVariant &value)
 Instructs this state to set the property with the given name of the given object to the given value when the state is entered. More...
 
ChildMode childMode () const
 
QAbstractStateerrorState () const
 
QAbstractStateinitialState () const
 
 QState (QState *parent=0)
 Constructs a new state with the given parent state. More...
 
 QState (ChildMode childMode, QState *parent=0)
 Constructs a new state with the given childMode and the given parent state. More...
 
void removeTransition (QAbstractTransition *transition)
 Removes the given transition from this state. More...
 
void setChildMode (ChildMode mode)
 Sets the child mode of this state. More...
 
void setErrorState (QAbstractState *state)
 Sets this state's error state to be the given state. More...
 
void setInitialState (QAbstractState *state)
 Sets this state's initial state to be the given state. More...
 
QList< QAbstractTransition * > transitions () const
 Returns this state's outgoing transitions (i. More...
 
 ~QState ()
 Destroys this state. More...
 
- Public Functions inherited from QAbstractState
QStateMachinemachine () const
 Returns the state machine that this state is part of, or 0 if the state is not part of a state machine. More...
 
QStateparentState () const
 Returns this state's parent state, or 0 if the state has no parent state. More...
 
 ~QAbstractState ()
 Destroys this state. More...
 
- Public Functions inherited from QObject
bool blockSignals (bool b)
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). More...
 
const QObjectListchildren () const
 Returns a list of child objects. More...
 
bool connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=0, const QObject *receiver=0, const char *member=0)
 
bool disconnect (const QObject *receiver, const char *member=0)
 
void dumpObjectInfo ()
 Dumps information about signal connections, etc. More...
 
void dumpObjectTree ()
 Dumps a tree of children to the debug output. More...
 
QList< QByteArraydynamicPropertyNames () const
 Returns the names of all properties that were dynamically added to the object using setProperty(). More...
 
virtual bool eventFilter (QObject *, QEvent *)
 Filters events if this object has been installed as an event filter for the watched object. More...
 
template<typename T >
findChild (const QString &aName=QString()) const
 Returns the child of this object that can be cast into type T and that is called name, or 0 if there is no such object. More...
 
template<typename T >
QList< T > findChildren (const QString &aName=QString()) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. More...
 
template<typename T >
QList< T > findChildren (const QRegExp &re) const
 
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false. More...
 
void installEventFilter (QObject *)
 Installs an event filter filterObj on this object. More...
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false. More...
 
void killTimer (int id)
 Kills the timer with timer identifier, id. More...
 
virtual const QMetaObjectmetaObject () const
 Returns a pointer to the meta-object of this object. More...
 
void moveToThread (QThread *thread)
 Changes the thread affinity for this object and its children. More...
 
QString objectName () const
 
QObjectparent () const
 Returns a pointer to the parent object. More...
 
QVariant property (const char *name) const
 Returns the value of the object's name property. More...
 
Q_INVOKABLE QObject (QObject *parent=0)
 Constructs an object with parent object parent. More...
 
void removeEventFilter (QObject *)
 Removes an event filter object obj from this object. More...
 
void setObjectName (const QString &name)
 
void setParent (QObject *)
 Makes the object a child of parent. More...
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value. More...
 
void setUserData (uint id, QObjectUserData *data)
 
bool signalsBlocked () const
 Returns true if signals are blocked; otherwise returns false. More...
 
int startTimer (int interval)
 Starts a timer and returns a timer identifier, or returns zero if it could not start a timer. More...
 
QThreadthread () const
 Returns the thread in which the object lives. More...
 
QObjectUserDatauserData (uint id) const
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects. More...
 

Protected Functions

bool event (QEvent *e)
 Reimplemented Function More...
 
void onEntry (QEvent *event)
 Reimplemented Function More...
 
void onExit (QEvent *event)
 Reimplemented Function More...
 
 QState (QStatePrivate &dd, QState *parent)
 
- Protected Functions inherited from QAbstractState
 QAbstractState (QState *parent=0)
 Constructs a new state with the given parent state. More...
 
 QAbstractState (QAbstractStatePrivate &dd, QState *parent)
 
- Protected Functions inherited from QObject
virtual void childEvent (QChildEvent *)
 This event handler can be reimplemented in a subclass to receive child events. More...
 
virtual void connectNotify (const char *signal)
 This virtual function is called when something has been connected to signal in this object. More...
 
virtual void customEvent (QEvent *)
 This event handler can be reimplemented in a subclass to receive custom events. More...
 
virtual void disconnectNotify (const char *signal)
 This virtual function is called when something has been disconnected from signal in this object. More...
 
 QObject (QObjectPrivate &dd, QObject *parent=0)
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal. More...
 
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns 0. More...
 
int senderSignalIndex () const
 
virtual void timerEvent (QTimerEvent *)
 This event handler can be reimplemented in a subclass to receive timer events for the object. More...
 

Properties

ChildMode childMode
 the child mode of this state More...
 
QAbstractStateerrorState
 the error state of this state More...
 
QAbstractStateinitialState
 the initial state of this state (one of its child states) More...
 

Additional Inherited Members

- Public Slots inherited from QObject
void deleteLater ()
 Schedules this object for deletion. More...
 
- Static Public Functions inherited from QObject
static bool connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 Creates a connection of the given type from the signal in the sender object to the method in the receiver object. More...
 
static bool connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 Disconnects signal in object sender from method in object receiver. More...
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static uint registerUserData ()
 
static QString tr (const char *sourceText, const char *comment=0, int n=-1)
 
static QString trUtf8 (const char *sourceText, const char *comment=0, int n=-1)
 
- Static Public Variables inherited from QObject
static const QMetaObject staticMetaObject
 This variable stores the meta-object for the class. More...
 
- Protected Variables inherited from QObject
QScopedPointer< QObjectDatad_ptr
 
- Static Protected Variables inherited from QObject
static const QMetaObject staticQtMetaObject
 

Detailed Description

The QState class provides a general-purpose state for QStateMachine.

Since
4.6

QState objects can have child states, and can have transitions to other states. QState is part of The State Machine Framework.

The addTransition() function adds a transition. The removeTransition() function removes a transition. The transitions() function returns the state's outgoing transitions.

The assignProperty() function is used for defining property assignments that should be performed when a state is entered.

Top-level states must be passed a QStateMachine object as their parent state, or added to a state machine using QStateMachine::addState().

States with Child States

The childMode property determines how child states are treated. For non-parallel state groups, the setInitialState() function must be called to set the initial state. The child states are mutually exclusive states, and the state machine needs to know which child state to enter when the parent state is the target of a transition.

The state emits the QState::finished() signal when a final child state (QFinalState) is entered.

The setErrorState() sets the state's error state. The error state is the state that the state machine will transition to if an error is detected when attempting to enter the state (e.g. because no initial state has been set).

Definition at line 61 of file qstate.h.

Enumerations

◆ ChildMode

This enum specifies how a state's child states are treated.

  • ExclusiveStates The child states are mutually exclusive and an initial state must be set by calling QState::setInitialState().
  • ParallelStates The child states are parallel. When the parent state is entered, all its child states are entered in parallel.
Enumerator
ExclusiveStates 
ParallelStates 

Definition at line 69 of file qstate.h.

Constructors and Destructors

◆ QState() [1/3]

QState::QState ( QState parent = 0)

Constructs a new state with the given parent state.

Definition at line 168 of file qstate.cpp.

169  : QAbstractState(*new QStatePrivate, parent)
170 {
171 }
QAbstractState(QState *parent=0)
Constructs a new state with the given parent state.

◆ QState() [2/3]

QState::QState ( ChildMode  childMode,
QState parent = 0 
)

Constructs a new state with the given childMode and the given parent state.

Definition at line 177 of file qstate.cpp.

178  : QAbstractState(*new QStatePrivate, parent)
179 {
180  Q_D(QState);
181  d->childMode = childMode;
182 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
QAbstractState(QState *parent=0)
Constructs a new state with the given parent state.
The QState class provides a general-purpose state for QStateMachine.
Definition: qstate.h:61
ChildMode childMode() const

◆ ~QState()

QState::~QState ( )

Destroys this state.

Definition at line 195 of file qstate.cpp.

196 {
197 }

◆ QState() [3/3]

QState::QState ( QStatePrivate dd,
QState parent 
)
protected
Warning
This function is not part of the public interface.

Definition at line 187 of file qstate.cpp.

188  : QAbstractState(dd, parent)
189 {
190 }
QAbstractState(QState *parent=0)
Constructs a new state with the given parent state.

Functions

◆ addTransition() [1/3]

void QState::addTransition ( QAbstractTransition transition)

Adds the given transition.

The transition has this state as the source. This state takes ownership of the transition.

Definition at line 308 of file qstate.cpp.

Referenced by QStateMachinePrivate::_q_start(), addTransition(), and QStateMachinePrivate::goToState().

309 {
310  Q_D(QState);
311  if (!transition) {
312  qWarning("QState::addTransition: cannot add null transition");
313  return ;
314  }
315 
316  transition->setParent(this);
318  for (int i = 0; i < targets.size(); ++i) {
319  QAbstractState *t = targets.at(i).data();
320  if (!t) {
321  qWarning("QState::addTransition: cannot add transition to null state");
322  return ;
323  }
324  if ((QAbstractStatePrivate::get(t)->machine() != d->machine())
325  && QAbstractStatePrivate::get(t)->machine() && d->machine()) {
326  qWarning("QState::addTransition: cannot add transition "
327  "to a state in a different state machine");
328  return ;
329  }
330  }
331  if (machine() != 0 && machine()->configuration().contains(this))
333 }
double d
Definition: qnumeric_p.h:62
QStateMachine * machine() const
Returns the state machine that this state is part of, or 0 if the state is not part of a state machin...
#define Q_D(Class)
Definition: qglobal.h:2482
The QState class provides a general-purpose state for QStateMachine.
Definition: qstate.h:61
void registerTransitions(QAbstractState *state)
void setParent(QObject *)
Makes the object a child of parent.
Definition: qobject.cpp:1950
static QStateMachinePrivate * get(QStateMachine *q)
The QAbstractState class is the base class of states of a QStateMachine.
static QAbstractTransitionPrivate * get(QAbstractTransition *q)
const T & at(int i) const
Returns the item at index position i in the list.
Definition: qlist.h:468
Q_CORE_EXPORT void qWarning(const char *,...)
QStateMachine * machine() const
static QAbstractStatePrivate * get(QAbstractState *q)
QList< QWeakPointer< QAbstractState > > targetStates
int size() const
Returns the number of items in the list.
Definition: qlist.h:137
return(isPopup||isToolTip)
The QList class is a template class that provides lists.
Definition: qdatastream.h:62

◆ addTransition() [2/3]

QSignalTransition * QState::addTransition ( QObject sender,
const char *  signal,
QAbstractState target 
)

Adds a transition associated with the given signal of the given sender object, and returns the new QSignalTransition object.

The transition has this state as the source, and the given target as the target state.

Definition at line 340 of file qstate.cpp.

342 {
343  if (!sender) {
344  qWarning("QState::addTransition: sender cannot be null");
345  return 0;
346  }
347  if (!signal) {
348  qWarning("QState::addTransition: signal cannot be null");
349  return 0;
350  }
351  if (!target) {
352  qWarning("QState::addTransition: cannot add transition to null state");
353  return 0;
354  }
355  int offset = (*signal == '0'+QSIGNAL_CODE) ? 1 : 0;
356  const QMetaObject *meta = sender->metaObject();
357  if (meta->indexOfSignal(signal+offset) == -1) {
358  if (meta->indexOfSignal(QMetaObject::normalizedSignature(signal+offset)) == -1) {
359  qWarning("QState::addTransition: no such signal %s::%s",
360  meta->className(), signal+offset);
361  return 0;
362  }
363  }
364  QSignalTransition *trans = new QSignalTransition(sender, signal);
365  trans->setTargetState(target);
366  addTransition(trans);
367  return trans;
368 }
The QMetaObject class contains meta-information about Qt objects.
Definition: qobjectdefs.h:304
static QByteArray normalizedSignature(const char *method)
Normalizes the signature of the given method.
The QSignalTransition class provides a transition based on a Qt signal.
Q_CORE_EXPORT void qWarning(const char *,...)
int indexOfSignal(const char *signal) const
Finds signal and returns its index; otherwise returns -1.
void setTargetState(QAbstractState *target)
Sets the target state of this transition.
#define QSIGNAL_CODE
Definition: qobjectdefs.h:244
const char * className() const
Returns the class name.
Definition: qobjectdefs.h:491
void addTransition(QAbstractTransition *transition)
Adds the given transition.
Definition: qstate.cpp:308
virtual const QMetaObject * metaObject() const
Returns a pointer to the meta-object of this object.

◆ addTransition() [3/3]

QAbstractTransition * QState::addTransition ( QAbstractState target)

Adds an unconditional transition from this state to the given target state, and returns then new transition object.

Definition at line 390 of file qstate.cpp.

391 {
392  if (!target) {
393  qWarning("QState::addTransition: cannot add transition to null state");
394  return 0;
395  }
396  UnconditionalTransition *trans = new UnconditionalTransition(target);
397  addTransition(trans);
398  return trans;
399 }
Q_CORE_EXPORT void qWarning(const char *,...)
void addTransition(QAbstractTransition *transition)
Adds the given transition.
Definition: qstate.cpp:308

◆ assignProperty()

void QState::assignProperty ( QObject object,
const char *  name,
const QVariant value 
)

Instructs this state to set the property with the given name of the given object to the given value when the state is entered.

See also
propertiesAssigned()

Definition at line 250 of file qstate.cpp.

252 {
253  Q_D(QState);
254  if (!object) {
255  qWarning("QState::assignProperty: cannot assign property '%s' of null object", name);
256  return;
257  }
258  for (int i = 0; i < d->propertyAssignments.size(); ++i) {
259  QPropertyAssignment &assn = d->propertyAssignments[i];
260  if ((assn.object == object) && (assn.propertyName == name)) {
261  assn.value = value;
262  return;
263  }
264  }
265  d->propertyAssignments.append(QPropertyAssignment(object, name, value));
266 }
double d
Definition: qnumeric_p.h:62
QVariant value
Definition: qstate_p.h:74
#define Q_D(Class)
Definition: qglobal.h:2482
QObject * object
Definition: qstate_p.h:72
The QState class provides a general-purpose state for QStateMachine.
Definition: qstate.h:61
const char * name
Q_CORE_EXPORT void qWarning(const char *,...)
QByteArray propertyName
Definition: qstate_p.h:73

◆ childMode()

ChildMode QState::childMode ( ) const

Referenced by QState(), and setInitialState().

◆ errorState()

QAbstractState* QState::errorState ( ) const

Referenced by assignProperty().

◆ event()

bool QState::event ( QEvent e)
protectedvirtual

Reimplemented Function

Reimplemented from QAbstractState.

Reimplemented in QStateMachine.

Definition at line 509 of file qstate.cpp.

Referenced by QStateMachine::event().

510 {
511  Q_D(QState);
512  if ((e->type() == QEvent::ChildAdded) || (e->type() == QEvent::ChildRemoved)) {
513  d->childStatesListNeedsRefresh = true;
514  d->transitionsListNeedsRefresh = true;
515  }
516  return QAbstractState::event(e);
517 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QState class provides a general-purpose state for QStateMachine.
Definition: qstate.h:61
bool event(QEvent *e)
Reimplemented Function
Type type() const
Returns the event type.
Definition: qcoreevent.h:303

◆ finished

QState::finished ( )
signal

This signal is emitted when a final child state of this state is entered.

See also
QFinalState

◆ initialState()

QAbstractState* QState::initialState ( ) const

Referenced by onExit(), and QStateMachine::start().

◆ onEntry()

void QState::onEntry ( QEvent event)
protectedvirtual

Reimplemented Function

Implements QAbstractState.

Reimplemented in QStateMachine.

Definition at line 446 of file qstate.cpp.

Referenced by QStateMachine::onEntry().

447 {
448  Q_UNUSED(event);
449 }
#define Q_UNUSED(x)
Indicates to the compiler that the parameter with the specified name is not used in the body of a fun...
Definition: qglobal.h:1729

◆ onExit()

void QState::onExit ( QEvent event)
protectedvirtual

Reimplemented Function

Implements QAbstractState.

Reimplemented in QStateMachine.

Definition at line 454 of file qstate.cpp.

Referenced by QStateMachine::onExit().

455 {
456  Q_UNUSED(event);
457 }
#define Q_UNUSED(x)
Indicates to the compiler that the parameter with the specified name is not used in the body of a fun...
Definition: qglobal.h:1729

◆ propertiesAssigned

QState::propertiesAssigned ( )
signal

This signal is emitted when all properties have been assigned their final value.

If the state assigns a value to one or more properties for which an animation exists (either set on the transition or as a default animation on the state machine), then the signal will not be emitted until all such animations have finished playing.

If there are no relevant animations, or no property assignments defined for the state, then the signal will be emitted immediately before the state is entered.

See also
QState::assignProperty(), QAbstractTransition::addAnimation()

◆ removeTransition()

void QState::removeTransition ( QAbstractTransition transition)

Removes the given transition from this state.

The state releases ownership of the transition.

See also
addTransition()

Definition at line 407 of file qstate.cpp.

408 {
409  Q_D(QState);
410  if (!transition) {
411  qWarning("QState::removeTransition: cannot remove null transition");
412  return;
413  }
414  if (transition->sourceState() != this) {
415  qWarning("QState::removeTransition: transition %p's source state (%p)"
416  " is different from this state (%p)",
417  transition, transition->sourceState(), this);
418  return;
419  }
421  if (mach)
422  mach->unregisterTransition(transition);
423  transition->setParent(0);
424 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QState class provides a general-purpose state for QStateMachine.
Definition: qstate.h:61
void setParent(QObject *)
Makes the object a child of parent.
Definition: qobject.cpp:1950
static QStateMachinePrivate * get(QStateMachine *q)
Q_CORE_EXPORT void qWarning(const char *,...)
QState * sourceState
the source state (parent) of this transition
void unregisterTransition(QAbstractTransition *transition)

◆ setChildMode()

void QState::setChildMode ( ChildMode  mode)

Sets the child mode of this state.

Definition at line 500 of file qstate.cpp.

501 {
502  Q_D(QState);
503  d->childMode = mode;
504 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QState class provides a general-purpose state for QStateMachine.
Definition: qstate.h:61

◆ setErrorState()

void QState::setErrorState ( QAbstractState state)

Sets this state's error state to be the given state.

If the error state is not set, or if it is set to 0, the state will inherit its parent's error state recursively. If no error state is set for the state itself or any of its ancestors, an error will cause the machine to stop executing and an error will be printed to the console.

Definition at line 288 of file qstate.cpp.

289 {
290  Q_D(QState);
291  if (state != 0 && qobject_cast<QStateMachine*>(state)) {
292  qWarning("QStateMachine::setErrorState: root state cannot be error state");
293  return;
294  }
295  if (state != 0 && (!state->machine() || ((state->machine() != machine()) && !qobject_cast<QStateMachine*>(this)))) {
296  qWarning("QState::setErrorState: error state cannot belong "
297  "to a different state machine");
298  return;
299  }
300 
301  d->errorState = state;
302 }
double d
Definition: qnumeric_p.h:62
QStateMachine * machine() const
Returns the state machine that this state is part of, or 0 if the state is not part of a state machin...
#define Q_D(Class)
Definition: qglobal.h:2482
The QState class provides a general-purpose state for QStateMachine.
Definition: qstate.h:61
Q_CORE_EXPORT void qWarning(const char *,...)

◆ setInitialState()

void QState::setInitialState ( QAbstractState state)

Sets this state's initial state to be the given state.

state has to be a child of this state.

Definition at line 472 of file qstate.cpp.

473 {
474  Q_D(QState);
475  if (d->childMode == QState::ParallelStates) {
476  qWarning("QState::setInitialState: ignoring attempt to set initial state "
477  "of parallel state group %p", this);
478  return;
479  }
480  if (state && (state->parentState() != this)) {
481  qWarning("QState::setInitialState: state %p is not a child of this state (%p)",
482  state, this);
483  return;
484  }
485  d->initialState = state;
486 }
double d
Definition: qnumeric_p.h:62
QState * parentState() const
Returns this state&#39;s parent state, or 0 if the state has no parent state.
#define Q_D(Class)
Definition: qglobal.h:2482
The QState class provides a general-purpose state for QStateMachine.
Definition: qstate.h:61
Q_CORE_EXPORT void qWarning(const char *,...)

◆ transitions()

QList< QAbstractTransition * > QState::transitions ( ) const

Returns this state's outgoing transitions (i.

Since
4.7

e. transitions where this state is the source state), or an empty list if this state has no outgoing transitions.

See also
addTransition()

Definition at line 437 of file qstate.cpp.

438 {
439  Q_D(const QState);
440  return d->transitions();
441 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QState class provides a general-purpose state for QStateMachine.
Definition: qstate.h:61

Properties

◆ childMode

QState::ChildMode QState::childMode
private

the child mode of this state

Returns the child mode of this state.

The default value of this property is QState::ExclusiveStates.

Definition at line 66 of file qstate.h.

◆ errorState

QAbstractState * QState::errorState
private

the error state of this state

Returns this state's error state.

See also
QStateMachine::error()

Definition at line 65 of file qstate.h.

Referenced by QStateMachinePrivate::findErrorState().

◆ initialState

QAbstractState * QState::initialState
private

the initial state of this state (one of its child states)

Returns this state's initial state, or 0 if the state has no initial state.

Definition at line 64 of file qstate.h.

Referenced by QStateMachinePrivate::_q_start(), and QStateMachinePrivate::addStatesToEnter().


The documentation for this class was generated from the following files: