| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
| |
These two classes were missing exports. Since the accessors are inline,
the bug would only be visible when someone tried to call the
constructors of the classes.
Reviewed-by: Kent Hansen
|
|
|
|
|
|
|
| |
Using the abbreviated "Dont" is consistent with other negated enum
names in Qt.
Reviewed-by: Kent Hansen
|
|
|
|
|
|
|
| |
The name "animated" is consistent with naming in Qt otherwise, as in
QTreeView::animated and QMainWindow::animated.
Reviewed-by: Kent Hansen
|
|
|
|
| |
Necessary since the SignalEvent class was moved to qstatemachine.h.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The priority specifies whether the event should be posted to what the
SCXML spec refers to as the "external" (NormalPriority) queue, or the
"internal" (HighPriority) queue.
Delayed events are now posted through a separate function,
postDelayedEvent(). That function returns an id that can be passed to
cancelDelayedEvent() to cancel it.
Reviewed-by: Eskil Abrahamsen Blomfeldt
|
|
|
|
|
|
|
|
|
| |
Those two classes are specific to the state machine framework, but
their names were so generic that we felt they were polluting the
Q-namespace. They are now QStateMachine::SignalEvent and
QStateMachine::WrappedEvent.
Reviewed-by: Eskil Abrahamsen Blomfeldt
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
| |
Reviewed-by: Thierry Bastian
|
|
|
|
| |
We won't release another Qt Solution, so the define is no longer needed.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
useful when using the RestoreProperties policy, because this is intended to
allow you to build a state machine without having each state consider all the
possible properties that may be set by some state at some point. Default
animations provide the same convenience for animated properties.
|
|
|