summaryrefslogtreecommitdiffstats
path: root/src/corelib/statemachine/qstatemachine.h
Commit message (Collapse)AuthorAgeFilesLines
* Update license headers to release version.Jason McDonald2010-10-181-13/+13
|
* Update copyright year to 2010Jason McDonald2010-01-061-1/+1
| | | | Reviewed-by: Trust Me
* Export QStateMachine::WrappedEvent and QStateMachine::SignalEventEskil Abrahamsen Blomfeldt2009-11-181-2/+2
| | | | | | | | 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
* Change name of DoNotRestoreProperties enum to DontRestorePropertiesEskil Abrahamsen Blomfeldt2009-11-031-1/+1
| | | | | | | Using the abbreviated "Dont" is consistent with other negated enum names in Qt. Reviewed-by: Kent Hansen
* Change name of QStateMachine::animationsEnabled property to "animated"Eskil Abrahamsen Blomfeldt2009-11-031-3/+3
| | | | | | | The name "animated" is consistent with naming in Qt otherwise, as in QTreeView::animated and QMainWindow::animated. Reviewed-by: Kent Hansen
* add missing includeKent Hansen2009-10-061-0/+1
| | | | Necessary since the SignalEvent class was moved to qstatemachine.h.
* Introduce state machine event priority, make it possible to cancel eventsKent Hansen2009-09-291-3/+8
| | | | | | | | | | | | 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
* Make QSignalEvent and QWrappedEvent inner classes of QStateMachineKent Hansen2009-09-281-2/+34
| | | | | | | | | 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
* Update license headers again.Jason McDonald2009-09-091-4/+4
| | | | Reviewed-by: Trust Me
* Update tech preview license header for files that are new in 4.6.Jason McDonald2009-08-311-13/+13
| | | | Reviewed-by: Trust Me
* Update contact URL in license headers.Jason McDonald2009-08-121-1/+1
| | | | Reviewed-by: Trust Me
* Make QStateMachine inherit QStateKent Hansen2009-07-221-17/+5
| | | | | | | | | | | | | | | | | | 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
* Update license headers in files that are new in 4.6.Jason McDonald2009-06-171-2/+2
| | | | Reviewed-by: Trust Me
* add QT_NO_STATEMACHINE define so state machine can be compiled outKent Hansen2009-06-041-0/+4
| | | | Reviewed-by: Thierry Bastian
* kill the QT_STATEMACHINE_SOLUTION defineKent Hansen2009-05-131-8/+1
| | | | We won't release another Qt Solution, so the define is no longer needed.
* add QStateMachine::isRunning()Kent Hansen2009-05-071-0/+2
|
* Rename NoDefaultStateInHistoryState -> NoDefaultStateInHistoryStateError for ↵Eskil Abrahamsen Blomfeldt2009-05-071-1/+1
| | | | | | consistency The other error values have Error in the name for namespacing purposes.
* Fix infinite loop when source and target of transition are in different treesEskil Abrahamsen Blomfeldt2009-05-071-0/+1
| | | | | | | | | | | 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.
* kill QStateMachine::animationsFinished(), introduce QState::polished()Kent Hansen2009-04-291-4/+0
|
* kill QStateMachine::states() and QState::transitions()Kent Hansen2009-04-291-1/+0
| | | | Result of API review. Don't need them (for now).
* kill source/target-specific animationsKent Hansen2009-04-291-8/+0
| | | | | 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.
* add animationsEnabled propertyKent Hansen2009-04-291-0/+6
|
* Remove API for setting specific restore policies on states. We have no clearEskil Abrahamsen Blomfeldt2009-04-231-2/+8
| | | | | | 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.
* kill the stateactions apiKent Hansen2009-04-221-2/+2
| | | | | | | | | | | | 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.
* Add API for adding default animations to the state machine. This is especiallyEskil Abrahamsen Blomfeldt2009-04-211-0/+16
| | | | | | | 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.
* Initial import of statemachine branch from the old kinetic repositoryAlexis Menard2009-04-171-0/+155