| /**************************************************************************** |
| ** |
| ** Copyright (C) 2016 The Qt Company Ltd. |
| ** Contact: https://www.qt.io/licensing/ |
| ** |
| ** This file is part of the documentation of the Qt Toolkit. |
| ** |
| ** $QT_BEGIN_LICENSE:FDL$ |
| ** Commercial License Usage |
| ** Licensees holding valid commercial Qt licenses may use this file in |
| ** accordance with the commercial license agreement provided with the |
| ** Software or, alternatively, in accordance with the terms contained in |
| ** a written agreement between you and The Qt Company. For licensing terms |
| ** and conditions see https://www.qt.io/terms-conditions. For further |
| ** information use the contact form at https://www.qt.io/contact-us. |
| ** |
| ** GNU Free Documentation License Usage |
| ** Alternatively, this file may be used under the terms of the GNU Free |
| ** Documentation License version 1.3 as published by the Free Software |
| ** Foundation and appearing in the file included in the packaging of |
| ** this file. Please review the following information to ensure |
| ** the GNU Free Documentation License version 1.3 requirements |
| ** will be met: https://www.gnu.org/licenses/fdl-1.3.html. |
| ** $QT_END_LICENSE$ |
| ** |
| ****************************************************************************/ |
| |
| /*! |
| \page qscxmlc.html |
| \title Using the Qt SCXML Compiler (qscxmlc) |
| \keyword qscxmlc |
| |
| \brief The Qt SCXML Compiler, \c qscxmlc, compiles state chart XML |
| (.scxml) files to C++ source files. |
| |
| The \c qscxmlc tool reads an .scxml file and produces C++ source |
| and header files, containing a class that implements a state machine as |
| defined in SCXML. |
| |
| \section1 Usage |
| |
| The \c qscxml tool is invoked automatically if the QT variable in the |
| project file includes \c scxml, and the .scxml file to use is specified |
| using the \c STATECHARTS variable. |
| |
| \badcode |
| QT += scxml |
| STATECHARTS = MyStatemachine.scxml |
| \endcode |
| |
| With above definitions, \c qmake invokes \c qscxmlc to generate |
| MyStatemachine.h and MyStatemachine.cpp, and adds them to \l [QMake] |
| HEADERS and \l [QMAKE] SOURCES variables. |
| |
| By default, the name of the generated class that implements the state |
| machine corresponds with the \e name attribute of the \c <scxml> root |
| element. |
| |
| \section1 Command-Line Options |
| |
| The \c qscxmlc tool supports the following command-line options, which can be specified using |
| the \c QSCXMLC_ARGUMENTS variable in the project file: |
| |
| \table |
| \header |
| \li Option |
| \li Description |
| \row |
| \li \c {--namespace <namespace>} |
| \li Put the generated class(es) in the specified namespace. You can use the |
| \c QSCXMLC_NAMESPACE variable to specify this in your project file. |
| \row |
| \li \c {-o <base/out/name>} |
| \li The base name of the output files. This can include a path. If none is specified, the |
| basename of the input file is used. |
| \row |
| \li \c {--header <header/out>} |
| \li The name of the output header file. If none is specified, .h is added to the base name. |
| \row |
| \li \c {--impl <cpp/out>} |
| \li The name of the output header file. If none is specified, .cpp is added to the base name. |
| \row |
| \li \c {--classname <StateMachineClassName>} |
| \li The class name of the generated state machine. If none is specified, the value of the |
| name attribute of the <scxml> tag is taken. If that attribute is not specified either, |
| the basename (excluding path) is taken from the input file name. |
| \row |
| \li \c --statemethods |
| \li Generate extra accessor and signal methods for states. This way you can connect to |
| state changes with plain QObject::connect() and directly call a method to find out if |
| a state is currently active. |
| \endtable |
| */ |