Qt 4.8
qt-4.8.6
src
corelib
statemachine
qstate_p.h
Go to the documentation of this file.
1
/****************************************************************************
2
**
3
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
4
** Contact: http://www.qt-project.org/legal
5
**
6
** This file is part of the QtCore module of the Qt Toolkit.
7
**
8
** $QT_BEGIN_LICENSE:LGPL$
9
** Commercial License Usage
10
** Licensees holding valid commercial Qt licenses may use this file in
11
** accordance with the commercial license agreement provided with the
12
** Software or, alternatively, in accordance with the terms contained in
13
** a written agreement between you and Digia. For licensing terms and
14
** conditions see http://qt.digia.com/licensing. For further information
15
** use the contact form at http://qt.digia.com/contact-us.
16
**
17
** GNU Lesser General Public License Usage
18
** Alternatively, this file may be used under the terms of the GNU Lesser
19
** General Public License version 2.1 as published by the Free Software
20
** Foundation and appearing in the file LICENSE.LGPL included in the
21
** packaging of this file. Please review the following information to
22
** ensure the GNU Lesser General Public License version 2.1 requirements
23
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
24
**
25
** In addition, as a special exception, Digia gives you certain additional
26
** rights. These rights are described in the Digia Qt LGPL Exception
27
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
28
**
29
** GNU General Public License Usage
30
** Alternatively, this file may be used under the terms of the GNU
31
** General Public License version 3.0 as published by the Free Software
32
** Foundation and appearing in the file LICENSE.GPL included in the
33
** packaging of this file. Please review the following information to
34
** ensure the GNU General Public License version 3.0 requirements will be
35
** met: http://www.gnu.org/copyleft/gpl.html.
36
**
37
**
38
** $QT_END_LICENSE$
39
**
40
****************************************************************************/
41
42
#ifndef QSTATE_P_H
43
#define QSTATE_P_H
44
45
//
46
// W A R N I N G
47
// -------------
48
//
49
// This file is not part of the Qt API. It exists purely as an
50
// implementation detail. This header file may change from version to
51
// version without notice, or even be removed.
52
//
53
// We mean it.
54
//
55
56
#include "private/qabstractstate_p.h"
57
58
#include <QtCore/qlist.h>
59
#include <QtCore/qbytearray.h>
60
#include <QtCore/qvariant.h>
61
62
QT_BEGIN_NAMESPACE
63
64
struct
QPropertyAssignment
65
{
66
QPropertyAssignment
()
67
:
object
(0),
explicitlySet
(true) {}
68
QPropertyAssignment
(
QObject
*o,
const
QByteArray
&n,
69
const
QVariant
&v,
bool
es =
true
)
70
:
object
(o),
propertyName
(n),
value
(v),
explicitlySet
(es)
71
{}
72
QObject
*
object
;
73
QByteArray
propertyName
;
74
QVariant
value
;
75
bool
explicitlySet
;
76
};
77
78
class
QAbstractTransition
;
79
class
QHistoryState
;
80
81
class
QState
;
82
class
Q_AUTOTEST_EXPORT
QStatePrivate
:
public
QAbstractStatePrivate
83
{
84
Q_DECLARE_PUBLIC
(
QState
)
85
public
:
86
QStatePrivate
();
87
~
QStatePrivate
();
88
89
static
QStatePrivate
*
get
(
QState
*q) {
return
q ? q->d_func() : 0; }
90
static
const
QStatePrivate
*
get
(
const
QState
*q) {
return
q? q->d_func() : 0; }
91
92
QList<QAbstractState*>
childStates()
const
;
93
QList<QHistoryState*>
historyStates()
const
;
94
QList<QAbstractTransition*>
transitions()
const
;
95
96
void
emitFinished();
97
void
emitPropertiesAssigned();
98
99
QAbstractState
*
errorState
;
100
QAbstractState
*
initialState
;
101
QState::ChildMode
childMode
;
102
mutable
bool
childStatesListNeedsRefresh
;
103
mutable
QList<QAbstractState*>
childStatesList
;
104
mutable
bool
transitionsListNeedsRefresh
;
105
mutable
QList<QAbstractTransition*>
transitionsList
;
106
107
QList<QPropertyAssignment>
propertyAssignments
;
108
};
109
110
QT_END_NAMESPACE
111
112
#endif
QVariant
The QVariant class acts like a union for the most common Qt data types.
Definition:
qvariant.h:92
QStatePrivate
Definition:
qstate_p.h:82
QT_END_NAMESPACE
#define QT_END_NAMESPACE
This macro expands to.
Definition:
qglobal.h:90
QPropertyAssignment
Definition:
qstate_p.h:64
QAbstractTransition
The QAbstractTransition class is the base class of transitions between QAbstractState objects...
Definition:
qabstracttransition.h:67
QStatePrivate::childStatesListNeedsRefresh
bool childStatesListNeedsRefresh
Definition:
qstate_p.h:102
QByteArray
The QByteArray class provides an array of bytes.
Definition:
qbytearray.h:135
QStatePrivate::initialState
QAbstractState * initialState
Definition:
qstate_p.h:100
QPropertyAssignment::value
QVariant value
Definition:
qstate_p.h:74
QStatePrivate::childMode
QState::ChildMode childMode
Definition:
qstate_p.h:101
QPropertyAssignment::QPropertyAssignment
QPropertyAssignment(QObject *o, const QByteArray &n, const QVariant &v, bool es=true)
Definition:
qstate_p.h:68
QObject
The QObject class is the base class of all Qt objects.
Definition:
qobject.h:111
QPropertyAssignment::QPropertyAssignment
QPropertyAssignment()
Definition:
qstate_p.h:66
QPropertyAssignment::object
QObject * object
Definition:
qstate_p.h:72
QState
The QState class provides a general-purpose state for QStateMachine.
Definition:
qstate.h:61
QT_BEGIN_NAMESPACE
#define QT_BEGIN_NAMESPACE
This macro expands to.
Definition:
qglobal.h:89
QAbstractState
The QAbstractState class is the base class of states of a QStateMachine.
Definition:
qabstractstate.h:59
QStatePrivate::transitionsList
QList< QAbstractTransition * > transitionsList
Definition:
qstate_p.h:105
QStatePrivate::transitionsListNeedsRefresh
bool transitionsListNeedsRefresh
Definition:
qstate_p.h:104
QState::ChildMode
ChildMode
This enum specifies how a state's child states are treated.
Definition:
qstate.h:69
QAbstractStatePrivate
Definition:
qabstractstate_p.h:63
QHistoryState
The QHistoryState class provides a means of returning to a previously active substate.
Definition:
qhistorystate.h:56
Q_DECLARE_PUBLIC
#define Q_DECLARE_PUBLIC(Class)
Definition:
qglobal.h:2477
QStatePrivate::childStatesList
QList< QAbstractState * > childStatesList
Definition:
qstate_p.h:103
QPropertyAssignment::explicitlySet
bool explicitlySet
Definition:
qstate_p.h:75
QPropertyAssignment::propertyName
QByteArray propertyName
Definition:
qstate_p.h:73
Q_AUTOTEST_EXPORT
#define Q_AUTOTEST_EXPORT
Definition:
qglobal.h:1510
QStatePrivate::propertyAssignments
QList< QPropertyAssignment > propertyAssignments
Definition:
qstate_p.h:107
QStatePrivate::errorState
QAbstractState * errorState
Definition:
qstate_p.h:99
QList
The QList class is a template class that provides lists.
Definition:
qdatastream.h:62
Qt 4.8 Source Code Browser