Home

QtSignalTransition Class Reference
[QtCore module]

The QtSignalTransition class provides a transition based on a Qt signal. More...

 #include <QtSignalTransition>

Inherits QtTransition.

Public Functions

Additional Inherited Members


Detailed Description

The QtSignalTransition class provides a transition based on a Qt signal.

Typically you would use the overload of QtState::addTransition() that takes a sender and signal as arguments, rather than creating QtSignalTransition objects directly. QtSignalTransition is part of The State Machine Framework.

You can subclass QtSignalTransition and reimplement testCondition() to make a signal transition conditional; the event object passed to testCondition() will be a QtSignalEvent object. Example:

 class CheckedTransition : public QtSignalTransition
 {
 public:
     CheckedTransition(QCheckBox *check)
         : QtSignalTransition(check, SIGNAL(stateChanged(int))) {}
 protected:
     bool testCondition(QEvent *e) const {
         QtSignalEvent *se = static_cast<QtSignalEvent*>(e);
         return (se->arguments().at(0).toInt() == Qt::Checked)
             && QtSignalTransition::testCondition(e);
     }
 };

 ...

 QCheckBox *check = new QCheckBox();
 check->setTristate(true);

 QtState *s1 = new QtState();
 QtState *s2 = new QtState();
 s1->addTransition(new CheckedTransition(check), s2);

Member Function Documentation

QtSignalTransition::QtSignalTransition ( const QObject * sender, const char * signal )

Constructs a new signal transition associated with the given signal of the given sender.

See also QtState::addTransition().

QtSignalTransition::~QtSignalTransition ()

Destroys this signal transition.


Copyright © 2009 Nokia Trademarks
Qt Solutions