summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuha Vuolle <juha.vuolle@qt.io>2023-02-20 17:35:28 +0200
committerJuha Vuolle <juha.vuolle@qt.io>2023-02-23 08:13:29 +0200
commit7801e05e659845ccc163c7e473ed4d91fa1de778 (patch)
treef5acb38eba9d05d37d5e5902e20a8dd34dc6a530
parenta21673b4315f9fce913a9c7bc513102874e6777f (diff)
Simplify calculator example to just one example variant
The calculator example is a rather generic SCXML example, but provides demonstrative value as it implements the calculator from the SCXML specification. This commit removes the widget variant and renames the remaining QML variant as plain "calculator". Pick-to: 6.5 Task-number: QTBUG-111090 Change-Id: I6ecdbe9de49fd357c91e25c9d0fe31fdd7958d7e Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
-rw-r--r--examples/scxml/CMakeLists.txt3
-rw-r--r--examples/scxml/calculator-common/doc/src/calculator-compiling.qdocinc30
-rw-r--r--examples/scxml/calculator-qml/calculator-qml.pro13
-rw-r--r--examples/scxml/calculator-widgets/CMakeLists.txt44
-rw-r--r--examples/scxml/calculator-widgets/calculator-widgets.cpp19
-rw-r--r--examples/scxml/calculator-widgets/calculator-widgets.pro19
-rw-r--r--examples/scxml/calculator-widgets/doc/images/calculator.pngbin6272 -> 0 bytes
-rw-r--r--examples/scxml/calculator-widgets/doc/src/calculator.qdoc57
-rw-r--r--examples/scxml/calculator-widgets/mainwindow.cpp83
-rw-r--r--examples/scxml/calculator-widgets/mainwindow.h30
-rw-r--r--examples/scxml/calculator-widgets/mainwindow.ui177
-rw-r--r--examples/scxml/calculator/Button.qml (renamed from examples/scxml/calculator-qml/Button.qml)0
-rw-r--r--examples/scxml/calculator/CMakeLists.txt (renamed from examples/scxml/calculator-qml/CMakeLists.txt)26
-rw-r--r--examples/scxml/calculator/calculator.cpp (renamed from examples/scxml/calculator-qml/calculator-qml.cpp)2
-rw-r--r--examples/scxml/calculator/calculator.pro13
-rw-r--r--examples/scxml/calculator/calculator.qml (renamed from examples/scxml/calculator-qml/calculator-qml.qml)0
-rw-r--r--examples/scxml/calculator/calculator.qrc (renamed from examples/scxml/calculator-qml/calculator-qml.qrc)2
-rw-r--r--examples/scxml/calculator/doc/images/calculator.png (renamed from examples/scxml/calculator-qml/doc/images/calculator-qml.png)bin6934 -> 6934 bytes
-rw-r--r--examples/scxml/calculator/doc/src/calculator.qdoc (renamed from examples/scxml/calculator-qml/doc/src/calculator-qml.qdoc)14
-rw-r--r--examples/scxml/calculator/statemachine.scxml (renamed from examples/scxml/calculator-common/statemachine.scxml)0
-rw-r--r--examples/scxml/scxml.pro3
21 files changed, 36 insertions, 499 deletions
diff --git a/examples/scxml/CMakeLists.txt b/examples/scxml/CMakeLists.txt
index 3257421..cf0c67f 100644
--- a/examples/scxml/CMakeLists.txt
+++ b/examples/scxml/CMakeLists.txt
@@ -9,13 +9,12 @@ if(TARGET Qt::Widgets)
qt_internal_add_example(trafficlight-widgets-static)
qt_internal_add_example(trafficlight-widgets-dynamic)
if(QT_FEATURE_scxml_ecmascriptdatamodel)
- qt_internal_add_example(calculator-widgets)
qt_internal_add_example(sudoku)
endif()
endif()
if(TARGET Qt::Qml AND TARGET Qt::Gui)
- qt_internal_add_example(calculator-qml)
+ qt_internal_add_example(calculator)
qt_internal_add_example(trafficlight-qml-static)
qt_internal_add_example(trafficlight-qml-dynamic)
qt_internal_add_example(trafficlight-qml-simple)
diff --git a/examples/scxml/calculator-common/doc/src/calculator-compiling.qdocinc b/examples/scxml/calculator-common/doc/src/calculator-compiling.qdocinc
deleted file mode 100644
index e281df7..0000000
--- a/examples/scxml/calculator-common/doc/src/calculator-compiling.qdocinc
+++ /dev/null
@@ -1,30 +0,0 @@
- \section1 Compiling the State Machine
-
- We link against the Qt SCXML module by adding the following lines to the
- example's build files.
-
- \section2 \e .pro when using qmake:
-
- \quotefromfile calculator-widgets/calculator-widgets.pro
- \skipto QT
- \printline scxml
-
- We then specify the state machine to compile:
- \skipto STATECHARTS
- \printline scxml
-
- \section2 \e CMakeLists.txt when using cmake:
- \quotefromfile calculator-widgets/CMakeLists.txt
- \skipto find_package
- \printline Scxml
- \skipto target_link_libraries
- \printuntil )
-
- We then specify the state machine to compile:
- \skipto qt6_add_statecharts
- \printuntil )
-
- The statechart directives \e STATECHARTS or \e qt6_add_statecharts invoke the Qt SCXML
- Compiler, \c qscxmlc, which is run automatically to generate \e statemachine.h and
- \e statemachine.cpp, which are then added appropriately as headers and sources for
- compilation.
diff --git a/examples/scxml/calculator-qml/calculator-qml.pro b/examples/scxml/calculator-qml/calculator-qml.pro
deleted file mode 100644
index c40242f..0000000
--- a/examples/scxml/calculator-qml/calculator-qml.pro
+++ /dev/null
@@ -1,13 +0,0 @@
-QT += qml scxml
-
-CONFIG += c++11
-
-SOURCES += calculator-qml.cpp
-
-RESOURCES += calculator-qml.qrc
-
-STATECHARTS = ../calculator-common/statemachine.scxml
-
-# install
-target.path = $$[QT_INSTALL_EXAMPLES]/scxml/calculator-qml
-INSTALLS += target
diff --git a/examples/scxml/calculator-widgets/CMakeLists.txt b/examples/scxml/calculator-widgets/CMakeLists.txt
deleted file mode 100644
index 43e35a9..0000000
--- a/examples/scxml/calculator-widgets/CMakeLists.txt
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright (C) 2022 The Qt Company Ltd.
-# SPDX-License-Identifier: BSD-3-Clause
-
-cmake_minimum_required(VERSION 3.16)
-project(calculator-widgets LANGUAGES CXX)
-
-set(CMAKE_AUTOMOC ON)
-set(CMAKE_AUTOUIC ON)
-
-if(NOT DEFINED INSTALL_EXAMPLESDIR)
- set(INSTALL_EXAMPLESDIR "examples")
-endif()
-
-set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/scxml/calculator-widgets")
-
-find_package(Qt6 REQUIRED COMPONENTS Core Gui Scxml Widgets)
-
-qt_add_executable(calculator-widgets
- calculator-widgets.cpp
- mainwindow.cpp mainwindow.h mainwindow.ui
-)
-
-set_target_properties(calculator-widgets PROPERTIES
- WIN32_EXECUTABLE TRUE
- MACOSX_BUNDLE TRUE
-)
-
-target_link_libraries(calculator-widgets PUBLIC
- Qt6::Core
- Qt6::Gui
- Qt6::Scxml
- Qt6::Widgets
-)
-
-# Statecharts:
-qt6_add_statecharts(calculator-widgets
- ../calculator-common/statemachine.scxml
-)
-
-install(TARGETS calculator-widgets
- RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
- BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
- LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
-)
diff --git a/examples/scxml/calculator-widgets/calculator-widgets.cpp b/examples/scxml/calculator-widgets/calculator-widgets.cpp
deleted file mode 100644
index 4000767..0000000
--- a/examples/scxml/calculator-widgets/calculator-widgets.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
-
-#include "statemachine.h"
-#include "mainwindow.h"
-
-#include <QApplication>
-
-int main(int argc, char **argv)
-{
- QApplication app(argc, argv);
-
- CalculatorStateMachine machine;
- MainWindow mainWindow(&machine);
-
- machine.start();
- mainWindow.show();
- return app.exec();
-}
diff --git a/examples/scxml/calculator-widgets/calculator-widgets.pro b/examples/scxml/calculator-widgets/calculator-widgets.pro
deleted file mode 100644
index 238980b..0000000
--- a/examples/scxml/calculator-widgets/calculator-widgets.pro
+++ /dev/null
@@ -1,19 +0,0 @@
-QT += widgets scxml
-
-CONFIG += c++11
-
-STATECHARTS = ../calculator-common/statemachine.scxml
-
-SOURCES += \
- calculator-widgets.cpp \
- mainwindow.cpp
-
-HEADERS += \
- mainwindow.h
-
-FORMS += \
- mainwindow.ui
-
-# install
-target.path = $$[QT_INSTALL_EXAMPLES]/scxml/calculator-widgets
-INSTALLS += target
diff --git a/examples/scxml/calculator-widgets/doc/images/calculator.png b/examples/scxml/calculator-widgets/doc/images/calculator.png
deleted file mode 100644
index 0834d0a..0000000
--- a/examples/scxml/calculator-widgets/doc/images/calculator.png
+++ /dev/null
Binary files differ
diff --git a/examples/scxml/calculator-widgets/doc/src/calculator.qdoc b/examples/scxml/calculator-widgets/doc/src/calculator.qdoc
deleted file mode 100644
index 47354cc..0000000
--- a/examples/scxml/calculator-widgets/doc/src/calculator.qdoc
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
-
-/*!
- \example calculator-widgets
- \title Qt SCXML Calculator Example
- \ingroup examples-qtscxml
-
- \image calculator.png
-
- \brief A widget-based application that implements the Calculator example
- presented in the SCXML Specification.
-
- \e {Calculator} uses Qt SCXML to implement the
- \l{SCXML Specification - Calculator Example}{Calculator Example}
- presented in the SCXML Specification.
-
- The state machine is specified in the \e statemachine.scxml file and
- compiled into the \c CalculatorStateMachine class. The user interface is
- created using Qt Widgets.
-
- \include examples-run.qdocinc
-
- \include calculator-compiling.qdocinc
-
- \section1 Instantiating the State Machine
-
- We instantiate the generated \c CalculatorStateMachine class in the
- \e calculator-widgets.cpp file, as follows:
-
- \quotefromfile calculator-widgets/calculator-widgets.cpp
- \skipto #include
- \printuntil }
-
- \section1 Connecting to Active Properties
-
- After instantiating the state machine, we can connect to the active
- properties of the states, as follows:
-
- \quotefromfile calculator-widgets/mainwindow.cpp
- \skipto connect
- \printuntil digit2
- \printuntil }
-
- The state machine can notify other code when events occur:
-
- \quotefromfile calculator-common/statemachine.scxml
- \skipto transition event="DISPLAY.UPDATE
- \printuntil </transition
-
- We connect to the \c updateDisplay event to display the data passed by
- the events:
-
- \quotefromfile calculator-widgets/mainwindow.cpp
- \skipto connectToEvent
- \printuntil });
-*/
diff --git a/examples/scxml/calculator-widgets/mainwindow.cpp b/examples/scxml/calculator-widgets/mainwindow.cpp
deleted file mode 100644
index 7b7f013..0000000
--- a/examples/scxml/calculator-widgets/mainwindow.cpp
+++ /dev/null
@@ -1,83 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
-
-#include "mainwindow.h"
-#include "ui_mainwindow.h"
-
-#include <QScxmlStateMachine>
-#include <QStringListModel>
-
-QT_USE_NAMESPACE
-
-MainWindow::MainWindow(QScxmlStateMachine *machine, QWidget *parent) :
- QWidget(parent),
- ui(new Ui::MainWindow),
- m_machine(machine)
-{
- ui->setupUi(this);
-
- connect(ui->digit0, &QAbstractButton::clicked, [this] {
- m_machine->submitEvent("DIGIT.0");
- });
- connect(ui->digit1, &QAbstractButton::clicked, [this] {
- m_machine->submitEvent("DIGIT.1");
- });
- connect(ui->digit2, &QAbstractButton::clicked, [this] {
- m_machine->submitEvent("DIGIT.2");
- });
- connect(ui->digit3, &QAbstractButton::clicked, [this] {
- m_machine->submitEvent("DIGIT.3");
- });
- connect(ui->digit4, &QAbstractButton::clicked, [this] {
- m_machine->submitEvent("DIGIT.4");
- });
- connect(ui->digit5, &QAbstractButton::clicked, [this] {
- m_machine->submitEvent("DIGIT.5");
- });
- connect(ui->digit6, &QAbstractButton::clicked, [this] {
- m_machine->submitEvent("DIGIT.6");
- });
- connect(ui->digit7, &QAbstractButton::clicked, [this] {
- m_machine->submitEvent("DIGIT.7");
- });
- connect(ui->digit8, &QAbstractButton::clicked, [this] {
- m_machine->submitEvent("DIGIT.8");
- });
- connect(ui->digit9, &QAbstractButton::clicked, [this] {
- m_machine->submitEvent("DIGIT.9");
- });
- connect(ui->point, &QAbstractButton::clicked, [this] {
- m_machine->submitEvent("POINT");
- });
- connect(ui->operPlus, &QAbstractButton::clicked, [this] {
- m_machine->submitEvent("OPER.PLUS");
- });
- connect(ui->operMinus, &QAbstractButton::clicked, [this] {
- m_machine->submitEvent("OPER.MINUS");
- });
- connect(ui->operStar, &QAbstractButton::clicked, [this] {
- m_machine->submitEvent("OPER.STAR");
- });
- connect(ui->operDiv, &QAbstractButton::clicked, [this] {
- m_machine->submitEvent("OPER.DIV");
- });
- connect(ui->equals, &QAbstractButton::clicked, [this] {
- m_machine->submitEvent("EQUALS");
- });
- connect(ui->c, &QAbstractButton::clicked, [this] {
- m_machine->submitEvent("C");
- });
-
- m_machine->connectToEvent(QLatin1String("updateDisplay"), this,
- [this](const QScxmlEvent &event) {
- const QString display = event.data().toMap()
- .value("display").toString();
- ui->display->setText(display);
- });
-}
-
-MainWindow::~MainWindow()
-{
- delete ui;
-}
-
diff --git a/examples/scxml/calculator-widgets/mainwindow.h b/examples/scxml/calculator-widgets/mainwindow.h
deleted file mode 100644
index 798728f..0000000
--- a/examples/scxml/calculator-widgets/mainwindow.h
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
-
-#ifndef MAINWINDOW_H
-#define MAINWINDOW_H
-
-#include <QWidget>
-
-QT_BEGIN_NAMESPACE
-namespace Ui {
-class MainWindow;
-}
-class QScxmlStateMachine;
-QT_END_NAMESPACE
-
-
-class MainWindow : public QWidget
-{
- Q_OBJECT
-
-public:
- explicit MainWindow(QScxmlStateMachine *machine, QWidget *parent = nullptr);
- ~MainWindow();
-
-private:
- QT_PREPEND_NAMESPACE(Ui::MainWindow) *ui;
- QScxmlStateMachine *m_machine;
-};
-
-#endif // MAINWINDOW_H
diff --git a/examples/scxml/calculator-widgets/mainwindow.ui b/examples/scxml/calculator-widgets/mainwindow.ui
deleted file mode 100644
index 2ee3864..0000000
--- a/examples/scxml/calculator-widgets/mainwindow.ui
+++ /dev/null
@@ -1,177 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>MainWindow</class>
- <widget class="QWidget" name="MainWindow">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>364</width>
- <height>182</height>
- </rect>
- </property>
- <layout class="QGridLayout" name="gridLayout_2">
- <item row="0" column="0" colspan="2">
- <widget class="QLabel" name="display">
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="1" column="1">
- <layout class="QGridLayout" name="gridLayout">
- <item row="0" column="0">
- <widget class="QPushButton" name="digit7">
- <property name="text">
- <string>7</string>
- </property>
- </widget>
- </item>
- <item row="3" column="1">
- <widget class="QPushButton" name="point">
- <property name="text">
- <string>.</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QPushButton" name="digit5">
- <property name="text">
- <string>5</string>
- </property>
- </widget>
- </item>
- <item row="0" column="2">
- <widget class="QPushButton" name="digit9">
- <property name="text">
- <string>9</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QPushButton" name="digit8">
- <property name="text">
- <string>8</string>
- </property>
- </widget>
- </item>
- <item row="4" column="2">
- <widget class="QPushButton" name="c">
- <property name="text">
- <string>C</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QPushButton" name="digit4">
- <property name="text">
- <string>4</string>
- </property>
- </widget>
- </item>
- <item row="2" column="3">
- <widget class="QPushButton" name="operStar">
- <property name="text">
- <string>*</string>
- </property>
- </widget>
- </item>
- <item row="2" column="2">
- <widget class="QPushButton" name="digit3">
- <property name="text">
- <string>3</string>
- </property>
- </widget>
- </item>
- <item row="4" column="3">
- <widget class="QPushButton" name="equals">
- <property name="text">
- <string>=</string>
- </property>
- </widget>
- </item>
- <item row="1" column="3">
- <widget class="QPushButton" name="operMinus">
- <property name="text">
- <string>-</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QPushButton" name="digit1">
- <property name="text">
- <string>1</string>
- </property>
- </widget>
- </item>
- <item row="3" column="0">
- <widget class="QPushButton" name="digit0">
- <property name="text">
- <string>0</string>
- </property>
- </widget>
- </item>
- <item row="3" column="3">
- <widget class="QPushButton" name="operDiv">
- <property name="text">
- <string>/</string>
- </property>
- </widget>
- </item>
- <item row="0" column="3">
- <widget class="QPushButton" name="operPlus">
- <property name="text">
- <string>+</string>
- </property>
- </widget>
- </item>
- <item row="1" column="2">
- <widget class="QPushButton" name="digit6">
- <property name="text">
- <string>6</string>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QPushButton" name="digit2">
- <property name="text">
- <string>2</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="2" column="1">
- <spacer name="verticalSpacer">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>10</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
diff --git a/examples/scxml/calculator-qml/Button.qml b/examples/scxml/calculator/Button.qml
index edbedba..edbedba 100644
--- a/examples/scxml/calculator-qml/Button.qml
+++ b/examples/scxml/calculator/Button.qml
diff --git a/examples/scxml/calculator-qml/CMakeLists.txt b/examples/scxml/calculator/CMakeLists.txt
index 700a9d0..336e9e4 100644
--- a/examples/scxml/calculator-qml/CMakeLists.txt
+++ b/examples/scxml/calculator/CMakeLists.txt
@@ -2,7 +2,7 @@
# SPDX-License-Identifier: BSD-3-Clause
cmake_minimum_required(VERSION 3.16)
-project(calculator-qml LANGUAGES CXX)
+project(calculator LANGUAGES CXX)
set(CMAKE_AUTOMOC ON)
@@ -10,20 +10,20 @@ if(NOT DEFINED INSTALL_EXAMPLESDIR)
set(INSTALL_EXAMPLESDIR "examples")
endif()
-set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/scxml/calculator-qml")
+set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/scxml/calculator")
find_package(Qt6 REQUIRED COMPONENTS Core Gui Qml Scxml)
-qt_add_executable(calculator-qml
- calculator-qml.cpp
+qt_add_executable(calculator
+ calculator.cpp
)
-set_target_properties(calculator-qml PROPERTIES
+set_target_properties(calculator PROPERTIES
WIN32_EXECUTABLE TRUE
MACOSX_BUNDLE TRUE
)
-target_link_libraries(calculator-qml PUBLIC
+target_link_libraries(calculator PUBLIC
Qt::Core
Qt::Gui
Qt::Qml
@@ -31,24 +31,24 @@ target_link_libraries(calculator-qml PUBLIC
)
# Resources:
-set(calculator-qml_resource_files
+set(calculator_resource_files
"Button.qml"
- "calculator-qml.qml"
+ "calculator.qml"
)
-qt6_add_resources(calculator-qml "calculator-qml"
+qt6_add_resources(calculator "calculator"
PREFIX
"/"
FILES
- ${calculator-qml_resource_files}
+ ${calculator_resource_files}
)
# Statecharts:
-qt6_add_statecharts(calculator-qml
- ../calculator-common/statemachine.scxml
+qt6_add_statecharts(calculator
+ statemachine.scxml
)
-install(TARGETS calculator-qml
+install(TARGETS calculator
RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
diff --git a/examples/scxml/calculator-qml/calculator-qml.cpp b/examples/scxml/calculator/calculator.cpp
index d6f3137..3bf9265 100644
--- a/examples/scxml/calculator-qml/calculator-qml.cpp
+++ b/examples/scxml/calculator/calculator.cpp
@@ -15,7 +15,7 @@ int main(int argc, char *argv[])
"CalculatorStateMachine");
QQmlApplicationEngine engine;
- engine.load(QUrl(QStringLiteral("qrc:/calculator-qml.qml")));
+ engine.load(QUrl(QStringLiteral("qrc:/calculator.qml")));
if (engine.rootObjects().isEmpty())
return -1;
diff --git a/examples/scxml/calculator/calculator.pro b/examples/scxml/calculator/calculator.pro
new file mode 100644
index 0000000..a60a1d4
--- /dev/null
+++ b/examples/scxml/calculator/calculator.pro
@@ -0,0 +1,13 @@
+QT += qml scxml
+
+CONFIG += c++11
+
+SOURCES += calculator.cpp
+
+RESOURCES += calculator.qrc
+
+STATECHARTS = statemachine.scxml
+
+# install
+target.path = $$[QT_INSTALL_EXAMPLES]/scxml/calculator
+INSTALLS += target
diff --git a/examples/scxml/calculator-qml/calculator-qml.qml b/examples/scxml/calculator/calculator.qml
index 1f6849c..1f6849c 100644
--- a/examples/scxml/calculator-qml/calculator-qml.qml
+++ b/examples/scxml/calculator/calculator.qml
diff --git a/examples/scxml/calculator-qml/calculator-qml.qrc b/examples/scxml/calculator/calculator.qrc
index 55bc81c..d749b23 100644
--- a/examples/scxml/calculator-qml/calculator-qml.qrc
+++ b/examples/scxml/calculator/calculator.qrc
@@ -1,6 +1,6 @@
<RCC>
<qresource prefix="/">
- <file>calculator-qml.qml</file>
+ <file>calculator.qml</file>
<file>Button.qml</file>
</qresource>
</RCC>
diff --git a/examples/scxml/calculator-qml/doc/images/calculator-qml.png b/examples/scxml/calculator/doc/images/calculator.png
index 021f56d..021f56d 100644
--- a/examples/scxml/calculator-qml/doc/images/calculator-qml.png
+++ b/examples/scxml/calculator/doc/images/calculator.png
Binary files differ
diff --git a/examples/scxml/calculator-qml/doc/src/calculator-qml.qdoc b/examples/scxml/calculator/doc/src/calculator.qdoc
index 788ed47..6a784ee 100644
--- a/examples/scxml/calculator-qml/doc/src/calculator-qml.qdoc
+++ b/examples/scxml/calculator/doc/src/calculator.qdoc
@@ -2,11 +2,11 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
- \example calculator-qml
- \title Qt SCXML Calculator QML Example
+ \example calculator
+ \title Qt SCXML Calculator Example
\ingroup examples-qtscxml
- \image calculator-qml.png
+ \image calculator.png
\brief A Qt Quick application that implements the Calculator example
presented in the SCXML Specification.
@@ -21,20 +21,18 @@
\include examples-run.qdocinc
- \include calculator-compiling.qdocinc
-
\section1 Instantiating the State Machine
We make the generated \c CalculatorStateMachine class available to QML by
- registering it as a QML type in the \e calculator-qml.cpp file:
+ registering it as a QML type in the \e calculator.cpp file:
- \quotefromfile calculator-qml/calculator-qml.cpp
+ \quotefromfile calculator/calculator.cpp
\skipto statemachine.h
\printuntil }
To use the CalculatorStateMachine type in a QML file, we import it:
- \quotefromfile calculator-qml/calculator-qml.qml
+ \quotefromfile calculator/calculator.qml
\skipto CalculatorStateMachine
\printline CalculatorStateMachine
diff --git a/examples/scxml/calculator-common/statemachine.scxml b/examples/scxml/calculator/statemachine.scxml
index b1c6bb7..b1c6bb7 100644
--- a/examples/scxml/calculator-common/statemachine.scxml
+++ b/examples/scxml/calculator/statemachine.scxml
diff --git a/examples/scxml/scxml.pro b/examples/scxml/scxml.pro
index 0c6b6a3..d467fb4 100644
--- a/examples/scxml/scxml.pro
+++ b/examples/scxml/scxml.pro
@@ -3,12 +3,11 @@ TEMPLATE = subdirs
qtHaveModule(widgets) {
SUBDIRS += trafficlight-widgets-static
SUBDIRS += trafficlight-widgets-dynamic
- SUBDIRS += calculator-widgets
SUBDIRS += sudoku
}
qtHaveModule(quick) {
- SUBDIRS += calculator-qml
+ SUBDIRS += calculator
SUBDIRS += trafficlight-qml-static
SUBDIRS += trafficlight-qml-dynamic
SUBDIRS += trafficlight-qml-simple