| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
The current value was udpated on setKeyValueAt, but not on setKeyValues
and this was leading to a semantic inconsistency.
Reviewed-by: janarve
|
|
|
|
|
|
|
| |
If we have less than 2 key values, we should neither try to interpolate
nor set the current value.
Reviewed-by: janarve
|
| |
|
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| |
| |
| | |
into kinetic-statemachine
Conflicts:
src/gui/graphicsview/qgraphicsitem.cpp
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
of the object
Task-number: 251763
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| |/
| |
| |
| | |
addHistoryState() is gone and onTransition() now takes an argument.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
the property should be restored to the value assigned by the ancestor state.
When restoreProperties is on, assigning a value in a state means it will have
that value as long as the state is active, unless an active state deeper in the
hierarchy assigns it a different value. This is basically a stack of "initial"
values, but implemented using the parent hierarchy of the state instead.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
potentially restored once the state that set it is exited. So if you have a
parent state P which sets 'foo' and then several child states of P, the property
should not be restored as long as P is active, regardless of which transitions
are taken inside P and what properties are being assigned there. Before, we would
restore the property when we entered a state that did not assign it, ignoring what
properties where being assigned in the parent.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
in SCXML it makes no sense for a <parallel> tag to be atomic, hence have no
children, whereas in a dynamic state machine you might set an atomic state as
parallel because this should govern the behavior if the state gets children
later. We decided that the most intuitive definition is that a state is
atomic if it has no children, regardless of whether it has the parallel child
mode. With the old definition, transitions from empty parallel states will
never be taken, as illustrated by the test.
|
| |\
| | |
| | |
| | |
| | | |
Conflicts:
examples/animation/sub-attaq/states.cpp
|
| | |
| | |
| | |
| | |
| | | |
QItemAnimation has disappeared and it's now better to start the
animation instead of pausing it
|
| | |
| | |
| | |
| | | |
Result of API review. Don't need them (for now).
|
| | |
| | |
| | |
| | |
| | | |
Result of API review. We don't have use cases for them yet.
We can add them back if valid use cases do turn up.
|
| | |
| | |
| | |
| | | |
Result of API review.
|
| | |
| | |
| | |
| | | |
Result of API review.
|
| | |
| | |
| | |
| | | |
applied after entering.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
the initial state. Done by No'am, integrated by me.
|
| | |
| | |
| | |
| | | |
Result of API review.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Decided in API review. The intention of QHistoryState not being
constructible was so that people wouldn't subclass it and reimplement
onEntry()/onExit(), thinking that those functions would actually get
called (which they won't). However, we recently added the entered()
signal to QAbstractState, so people are going to connect to it and
ask why they never get the signal for a QHistoryState. We might as
well make QHistoryState constructible and just document that it
doesn't make sense to subclass it.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This test checks for the behavior I expected, but that's apparently not how
it's defined in the SCXML algorithm. Currently it XFAILs, and we'll either have
to fix the algorithm or the test when we get word back on what the correct
semantics are.
|
| |/
| |
| |
| |
| | |
Not worth it having two public classes when the same can be achieved
by having a signal.
|
| |\
| | |
| | |
| | |
| | | |
Conflicts:
examples/animation/piemenu/qgraphicspiemenu_p.h
|
| | |
| | |
| | |
| | |
| | |
| | | |
use case for this, so it has been removed. If the requirement arises we can
add it back in later. Since it no longer makes sense to have it in
QAbstractState, the RestorePolicy enum has been moved to QStateMachine.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It just didn't give us that much.
Typically you just reimplement onEntry/onExit/onTransition
when you want to do something.
We go back to the signals-and-slots approach: states have
entered() and exited() signals that you can connect to.
It's still possible to have an action-based API, but then
you build it on top of the core API, which is OK.
Replacing 4 public classes (and one layer in the hierarchy)
with 2 signals feels good.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
precedence:
1. Specific animation for transition
2. Default animation for source state
3. Default animation for target state
4. Default animation
|
| | | |
|