| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
examples/opengl/samplebuffers/glwidget.cpp
src/corelib/io/qfsfileengine_unix.cpp
src/corelib/kernel/qobject.cpp
src/corelib/tools/qsharedpointer.cpp
src/gui/gui.pro
tests/auto/qhttp/tst_qhttp.cpp
tests/auto/qkeyevent/tst_qkeyevent.cpp
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| |
| |
| |
| |
| | |
Apparently Nokia X86 compiler is not able to use templated qCompare
when given arguments have different different type but same base class.
This error should be isolated and reported to Nokia X86 team.
See task: 259508
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
tests/auto/qfilesystemmodel/qfilesystemmodel.pro
tests/auto/qfontdialog/tst_qfontdialog.cpp
tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
tests/auto/qgraphicslayout/tst_qgraphicslayout.cpp
tests/auto/qsqldriver/qsqldriver.pro
tests/auto/qsqlquery/qsqlquery.pro
tests/auto/qsqlrelationaltablemodel/qsqlrelationaltablemodel.pro
tests/auto/qsqltablemodel/qsqltablemodel.pro
tests/auto/qsqlthread/qsqlthread.pro
tests/auto/qstatemachine/tst_qstatemachine.cpp
tests/auto/qtcpsocket/tst_qtcpsocket.cpp
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
The constructors that take a list of target states produce
hard-to-read code, and they're rarely useful in practice since
99% of transitions take a single target state; so it's better
to enforce that setTarget{State,States}() be used instead.
|
| |
| |
| |
| | |
Needed for Declarative UI integration.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This removes the need for a "root state" in the machine; or rather,
the machine _is_ the root state.
User code can now pass in a QStateMachine directly to the QState
constructor, instead of machine->rootState().
This also means we could get rid of the "proxying" from the machine
to the root state for things like properties (initialState et al),
finished() signal and auto-reparenting of states (the ChildAdded
event hack).
A fun little side-effect of this change is that it's now possible
to embed state machines within state machines. We can't think of
a good use case yet where you would rather embed a stand-alone
state machine (with its own event processing etc.) rather than
having just a regular nested state, but it's neat and it works.
Reviewed-by: Eskil Abrahamsen Blomfeldt
|
| | |
|
| |
| |
| |
| |
| |
| | |
It's not supported because the root state has no ancestor,
which is a requirement for the state machine's transition
selection algorithm.
|
|/
|
|
|
|
|
|
|
|
|
|
| |
-developer-build, part 2.
Some autotests use private (unexported) code, either because they're
testing private classes or because that's the easiest way to test
the public classes. Configuring Qt with `-developer-build' is needed
for these tests.
This commit fixes the tests so configuring without `-developer-build'
only builds the tests which strictly use public API.
|
|
|
|
|
|
|
|
|
| |
Having an implicit default error state in the graph which the user
has not added is unintuitive and ugly. Rather than have a default error
state, we stop execution of the machine and print an error message when
the machine has run-time errors. If a user wishes to prevent errors
from stopping the machine, you can set one or more error states
explicitly.
|
|
|
|
|
|
| |
Formatting of pointers in sprintf() is platform dependent. Use
QString::sprintf() instead to make sure warnings match the actual
warnings emitted.
|
|
|
|
| |
Make state->addTransition(foo, SIGNAL( bar( ) ), ...) work.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
If the machine's initial state is nested, a set of states will
be entered, and we need to do the property assignments of all
of them.
|
|
|
|
|
|
| |
It's been requested by several users. Since we have
QAbstractState::{entered,exited}() signals, we should have this one
as well.
|
| |
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
| |
Just as with the QSignalTransition::signal property, this makes it
possible to use the function from language bindings (e.g. QtScript).
|
|
|
|
| |
Trying to get coverage up to 100%
|
| |
|
| |
|
|
|
|
|
|
| |
When the signal or senderObject is changed while the state is active,
the transition needs to be unregistered _before_ either property is
changed, only _then_ can it be re-registered.
|
|
|
|
|
|
| |
When the eventType or eventObject is changed while the state is active,
the transition needs to be unregistered _before_ either property is
changed, only _then_ can it be re-registered.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Since QTest::ignoreMessage() already exists, we should use this instead
of implementing an ad hoc solution that does the same.
|
|
|
|
|
| |
Give some objects parents and allocate some objects on the stack to
avoid leaking them.
|
|
|
|
|
| |
We decided to remove the const of the eventTest() since some transitions
have dynamic conditions and need to update when eventTest() is called.
|
|
|
|
|
|
| |
The event filter was not removed at the right time. We now store the
number of active event transitions for a particular (object,event)
and only remove the filtering when the count drops to zero.
|
|
|
|
|
|
| |
The signal was not disconnected at the right time. We now store the
number of active signal transitions for a particular (object,signal)
and only disconnect when the count drops to zero.
|
|
|
|
|
|
|
| |
We're testing if both animations actually run and finish, so we need to make
sure one of the polished signals is emitted last, and then react to this. I've
done this by setting the duration of the animation which animated the property
set by s2Child, so that it's sufficient to listen to this polished signal.
|
|
|
|
| |
Warning about animating non-existent properties.
|
|
|
|
|
| |
They added a warning when you animate a non-existent property, so we make sure
the properties are defined.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
as error state
Since the root state has no ancestors, it cannot be source or target in
transitions since there will be no LCA for the transition, which is required for
the algorithm of enterStates and exitStates. In SCXML the root state cannot be
target or source of a transition. By the same logic, it cannot be an error
state. The root state will always have a valid machine, since it's added to
a machine immediately, which makes this code possible.
|
| |
|
|
|
|
|
|
| |
consistency
The other error values have Error in the name for namespacing purposes.
|
|
|
|
|
|
|
|
|
|
|
| |
The SCXML algorithm depends on the guarantee that there is always an LCA
regardless of the state list. The case where the targets are in a different
tree than the source (e.g. if you have not given the target state a parent) is
a bug. The fix is to set an error when this happens in exitStates() and exit
states as if the pending error states were the target states. In enterStates
we will detect the error and skip the step of selecting states to enter, and
instead just enter the pending error states. This breaks transitions to and
from the root state, which is not supported by the SCXML algorithm.
|
|
|
|
|
|
| |
Change expectation for entering the root state. We should never have the
root state in the configuration. Also fix the expected error message in
historyStateHasNowhereToGo since this has changed along with the API.
|
|
|
|
|
|
|
|
|
| |
Accessing the event can be useful. E.g., onEntry() can do some
common event processing regardless of which transition caused the
state to be entered; onTransition() can be used in combination
with eventTest(), where eventTest() would first check that the
input matches some criteria, and then the actual processing of that
input would be done in onTransition.
|
| |
|