diff options
Diffstat (limited to 'src/corelib/statemachine/qstate.cpp')
-rw-r--r-- | src/corelib/statemachine/qstate.cpp | 42 |
1 files changed, 39 insertions, 3 deletions
diff --git a/src/corelib/statemachine/qstate.cpp b/src/corelib/statemachine/qstate.cpp index f3b4c5f235..e9baddc569 100644 --- a/src/corelib/statemachine/qstate.cpp +++ b/src/corelib/statemachine/qstate.cpp @@ -309,7 +309,10 @@ void QState::setErrorState(QAbstractState *state) return; } - d->errorState = state; + if (d->errorState != state) { + d->errorState = state; + emit errorStateChanged(QState::QPrivateSignal()); + } } /*! @@ -491,7 +494,10 @@ void QState::setInitialState(QAbstractState *state) state, this); return; } - d->initialState = state; + if (d->initialState != state) { + d->initialState = state; + emit initialStateChanged(QState::QPrivateSignal()); + } } /*! @@ -509,7 +515,10 @@ QState::ChildMode QState::childMode() const void QState::setChildMode(ChildMode mode) { Q_D(QState); - d->childMode = mode; + if (d->childMode != mode) { + d->childMode = mode; + emit childModeChanged(QState::QPrivateSignal()); + } } /*! @@ -549,6 +558,33 @@ bool QState::event(QEvent *e) \sa QState::assignProperty(), QAbstractTransition::addAnimation() */ +/*! + \fn QState::childModeChanged() + \since 5.4 + + This signal is emitted when the childMode property is changed. + + \sa QState::childMode +*/ + +/*! + \fn QState::initialStateChanged() + \since 5.4 + + This signal is emitted when the initialState property is changed. + + \sa QState::initialState +*/ + +/*! + \fn QState::errorStateChanged() + \since 5.4 + + This signal is emitted when the errorState property is changed. + + \sa QState::errorState +*/ + QT_END_NAMESPACE #endif //QT_NO_STATEMACHINE |