diff --git a/EXAMPLES.md b/EXAMPLES.md index 157674d1..b8de7864 100644 --- a/EXAMPLES.md +++ b/EXAMPLES.md @@ -5,9 +5,9 @@ Different types of examples are provided. All examples have a frontend implement | Example | Type | Frontend | Backend | Runtime | | -------------- | ---- | -------- | -------- | -------------------- | | BasicQml | I | QML | Mock QML | `qml` tool | -| BasicMinimalPy | II | QML | Mock QML | `python` interpreter | -| BasicPy | III | QML | Python | `python` interpreter | +| BasicPy | II | QML | Mock QML | `python` interpreter | | IntermediatePy | III | QML | Python | `python` interpreter | +| AdvancedPy | III | QML | Python | `python` interpreter | | BasicC++ | IV | QML | Mock QML | need to be compiled | @@ -40,7 +40,7 @@ Different types of examples are provided. All examples have a frontend implement * Install the Qt for Python `PySide6` package via PIP ``` - pip install PySide6 + pip install --force-reinstall "PySide6>=6.6,<6.7" ``` ### Integrated development environment (IDE) @@ -104,9 +104,9 @@ This example is located in `examples/BasicQml` and the source code is in the sub * _Note: Showing the entire `main.qml` application window in live mode works best when the open `main.qml` is moved to another monitor and does not overlap with the `Qt Creator` window_. * When the desired GUI component appears, you can click the `Edit` button at the top of the left sidebar of `Qt Creator` to return to the source code of that qml component and still see it live in a separate window. -### Type II Examples: BasicMinimalPy (Python runtime with QML backend) +### Type II Examples: BasicPy (Python runtime with QML backend) -This example is located in `examples/BasicMinimalPy` with the source code in `src/BasicMinimalPy`. This example serves to demonstrate how an application with a QML frontend and a QML backend (similar to the Type I example) can be executed from Python. The entry point for the Python program is `main.py` file. To execute this do the following: +This example is located in `examples/BasicPy` with the source code in `src/BasicPy`. This example serves to demonstrate how an application with a QML frontend and a QML backend (similar to the Type I example) can be executed from Python. The entry point for the Python program is `main.py` file. To execute this do the following: #### Run using the Python interpreter @@ -115,7 +115,7 @@ This example is located in `examples/BasicMinimalPy` with the source code in `sr * Go to the example folder, e.g., ```sh - $ cd examples/BasicMinimalPy/src/BasicMinimalPy + $ cd examples/BasicPy/src/BasicPy ``` * Run using Python (provided that the required python environment is activated as explained above) @@ -126,7 +126,7 @@ This example is located in `examples/BasicMinimalPy` with the source code in `sr #### Run via the Qt Creator IDE (_alternative to run from the terminal_) * Run Qt Creator -* Open the python project file from the example folder `examples/BasicMinimalPy/src/BasicMinimalPy.pyproject` +* Open the python project file from the example folder `examples/BasicPy/src/BasicPy.pyproject` * Select the desired python environment with the Qt `PySide6` module installed * Click Run (Green play button) @@ -136,9 +136,9 @@ This example is located in `examples/BasicMinimalPy` with the source code in `sr * Click on the debug extension and select which example to execute ![Debug dropdown window](resources/images/vscode_debug.jpg) -### Type III Examples: BasicPy and IntermediatePy (Python runtime with Python backend) +### Type III Examples: IntermediatePy and AdvancedPy (Python runtime with Python backend) -These examples demonstrate how to use a Python runtime to execute the QML frontend and the Python backend located in `Logic/Py/backend_proxy.py`. These examples can be run through Python in the same way as Type II described above. These examples have a Python-based backend (proxy object), which gets created in `main.py` and then exposed to QML. The Qt QML frontend then acceses the backend by calling methods exposed by the proxy object in the `Py` folder. +These examples demonstrate how to use a Python runtime to execute the QML frontend and the Python backend located in `Backends/real_backend.py`. These examples can be run through Python in the same way as Type II described above. These examples have a Python-based backend (proxy object), which gets created in `main.py` and then exposed to QML. The Qt QML GUI then acceses the backend by calling methods exposed by the proxy object in the `Backends/real_py` folder. #### Possible Issues diff --git a/README.md b/README.md index a8672913..28ccc05e 100644 --- a/README.md +++ b/README.md @@ -14,4 +14,4 @@ EasyApp is currently being used as the basis for the graphical interface in the More simple examples of using EasyApp are described in [EXAMPLES.md](EXAMPLES.md). -If you want to see what EasyApp looks like, you can try the web demo at https://easyscience.github.io/EasyApp/BasicMinimalC++.html. +If you want to see what EasyApp looks like, you can try the web demo at https://easyscience.github.io/EasyApp/BasicC++.html. diff --git a/examples/IntermediatePy/LICENSE b/examples/AdvancedPy/LICENSE similarity index 100% rename from examples/IntermediatePy/LICENSE rename to examples/AdvancedPy/LICENSE diff --git a/examples/IntermediatePy/README.md b/examples/AdvancedPy/README.md similarity index 93% rename from examples/IntermediatePy/README.md rename to examples/AdvancedPy/README.md index bc1d9c06..e164ec6a 100644 --- a/examples/IntermediatePy/README.md +++ b/examples/AdvancedPy/README.md @@ -1,18 +1,18 @@ -## Structure of the _IntermediatePy_ example +## Structure of the _AdvancedPy_ example ### Without the full structure of the application pages ```sh -🗂️ IntermediatePy # Current example +🗂️ AdvancedPy # Current example ├── LICENSE ├── pyproject.toml # Configuration file used to build the Python package ├── README.md # Current file that introduces and explains a project │ └── 🗂️ src # Source code - ├── IntermediatePy.qmlproject # QML project for the Qt Creator IDE - ├── IntermediatePy.pyproject # Python project for the Qt Creator IDE + ├── AdvancedPy.qmlproject # QML project for the Qt Creator IDE + ├── AdvancedPy.pyproject # Python project for the Qt Creator IDE │ - └── 🗂️ IntermediatePy # Directory with the name of the current Python package + └── 🗂️ AdvancedPy # Directory with the name of the current Python package ├── __init__.py # Executed when the current Python package is imported ├── main.qml # Root QML component ├── main.py # Root Python file @@ -50,7 +50,7 @@ │ └── 🗂️ Report # Components of the application page 'Report' │ └── 🗂️ Resources - └── 🗂️ Logos # Logos of the application and contributors + └── 🗂️ Logos # Logos of the application and contributors (*) Full structure of the 'Pages' directory is shown below ``` diff --git a/examples/IntermediatePy/pyproject.toml b/examples/AdvancedPy/pyproject.toml similarity index 76% rename from examples/IntermediatePy/pyproject.toml rename to examples/AdvancedPy/pyproject.toml index 9ceed716..6e7dcf64 100644 --- a/examples/IntermediatePy/pyproject.toml +++ b/examples/AdvancedPy/pyproject.toml @@ -3,9 +3,9 @@ requires = ['hatchling'] build-backend = 'hatchling.build' [project] -name = 'intermediatepy' +name = 'advancedpy' version = '1.0.0' -description = 'Example of a desktop application of intermediate complexity with a Python backend and EasyApp-based GUI' +description = 'Example of a desktop application of advanced complexity with Python backend and EasyApp-based GUI' authors = [ {name = 'Andrew Sazonov', email = 'andrew.sazonov@ess.eu'} ] @@ -29,8 +29,8 @@ ci = [ ] [project.urls] -homepage = 'https://github.com/EasyScience/EasyApp/tree/master/examples/IntermediatePy' +homepage = 'https://github.com/EasyScience/EasyApp/tree/master/examples/AdvancedPy' [tool.hatch.build.targets.wheel] -packages = ['src/IntermediatePy'] +packages = ['src/AdvancedPy'] #artifacts = ['*.py', '*.qml', 'qmldir'] diff --git a/examples/IntermediatePy/scripts/create_python_wheel.sh b/examples/AdvancedPy/scripts/create_python_wheel.sh similarity index 100% rename from examples/IntermediatePy/scripts/create_python_wheel.sh rename to examples/AdvancedPy/scripts/create_python_wheel.sh diff --git a/examples/AdvancedPy/scripts/install_from_wheel.sh b/examples/AdvancedPy/scripts/install_from_wheel.sh new file mode 100755 index 00000000..6b5f620e --- /dev/null +++ b/examples/AdvancedPy/scripts/install_from_wheel.sh @@ -0,0 +1,2 @@ +echo "\033[0;34m:::::: Installing python wheel from 'dist/wheel'\033[0m" +python3 -m pip install advancedpy --force-reinstall --find-links=dist/wheel diff --git a/examples/IntermediatePy/scripts/unpack_wheel.sh b/examples/AdvancedPy/scripts/unpack_wheel.sh similarity index 100% rename from examples/IntermediatePy/scripts/unpack_wheel.sh rename to examples/AdvancedPy/scripts/unpack_wheel.sh diff --git a/examples/AdvancedPy/src/AdvancedPy.pyproject b/examples/AdvancedPy/src/AdvancedPy.pyproject new file mode 100644 index 00000000..5ffe843d --- /dev/null +++ b/examples/AdvancedPy/src/AdvancedPy.pyproject @@ -0,0 +1,44 @@ +{ + "files": [ + "AdvancedPy.qmlproject", + "AdvancedPy/main.py", + "AdvancedPy/main.qml", + "AdvancedPy/Gui/qmldir", + "AdvancedPy/Gui/ApplicationWindow.qml", + "AdvancedPy/Gui/StatusBar.qml", + "AdvancedPy/Gui/Globals/qmldir", + "AdvancedPy/Gui/Globals/ApplicationInfo.qml", + "AdvancedPy/Gui/Globals/BackendWrapper.qml", + "AdvancedPy/Gui/Globals/References.qml", + "AdvancedPy/Gui/Pages/Home/Content.qml", + "AdvancedPy/Gui/Pages/Home/Popups/About.qml", + "AdvancedPy/Gui/Pages/Project/Layout.qml", + "AdvancedPy/Gui/Pages/Project/MainArea/Description.qml", + "AdvancedPy/Gui/Pages/Project/Sidebar/Basic/Layout.qml", + "AdvancedPy/Gui/Pages/Project/Sidebar/Basic/Groups/Examples.qml", + "AdvancedPy/Gui/Pages/Project/Sidebar/Basic/Groups/GetStarted.qml", + "AdvancedPy/Gui/Pages/Project/Sidebar/Basic/Groups/Recent.qml", + "AdvancedPy/Gui/Pages/Project/Sidebar/Basic/Popups/OpenCifFile.qml", + "AdvancedPy/Gui/Pages/Project/Sidebar/Basic/Popups/ProjectDescription.qml", + "AdvancedPy/Gui/Pages/Project/Sidebar/Extra/Layout.qml", + "AdvancedPy/Gui/Pages/Project/Sidebar/Extra/Groups/Scrolling.qml", + "AdvancedPy/Gui/Pages/Project/Sidebar/Text/Layout.qml", + "AdvancedPy/Gui/Pages/Report/Layout.qml", + "AdvancedPy/Gui/Pages/Report/MainArea/Summary.qml", + "AdvancedPy/Gui/Pages/Report/Sidebar/Basic/Layout.qml", + "AdvancedPy/Gui/Pages/Report/Sidebar/Basic/Groups/Export.qml", + "AdvancedPy/Gui/Pages/Report/Sidebar/Extra/Layout.qml", + "AdvancedPy/Gui/Pages/Report/Sidebar/Extra/Groups/Empty.qml", + "AdvancedPy/Backends/qmldir", + "AdvancedPy/Backends/MockBackend.qml", + "AdvancedPy/Backends/MockQml/Project.qml", + "AdvancedPy/Backends/MockQml/Report.qml", + "AdvancedPy/Backends/MockQml/Status.qml", + "AdvancedPy/Backends/MockQml/qmldir", + "AdvancedPy/Backends/real_backend.py", + "AdvancedPy/Backends/real_py/helpers.py", + "AdvancedPy/Backends/real_py/project.py", + "AdvancedPy/Backends/real_py/report.py", + "AdvancedPy/Backends/real_py/status.py" + ] +} diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy.qmlproject b/examples/AdvancedPy/src/AdvancedPy.qmlproject similarity index 82% rename from examples/BasicMinimalPy/src/BasicMinimalPy.qmlproject rename to examples/AdvancedPy/src/AdvancedPy.qmlproject index afafc8dc..fff5b659 100644 --- a/examples/BasicMinimalPy/src/BasicMinimalPy.qmlproject +++ b/examples/AdvancedPy/src/AdvancedPy.qmlproject @@ -1,17 +1,17 @@ import QmlProject 1.1 Project { - mainFile: "BasicMinimalPy/main.qml" + mainFile: "AdvancedPy/main.qml" // List of module and plugin directories passed to QML runtime importPaths: [ - "BasicMinimalPy", + "AdvancedPy", "../../../src", // EasyApp ] // Include .qml files from specified directory and its subdirectories QmlFiles { - directory: "BasicMinimalPy" + directory: "AdvancedPy" } QmlFiles { directory: "../../../src/EasyApp" @@ -19,7 +19,7 @@ Project { // Include .js files from specified directory and its subdirectories JavaScriptFiles { - directory: "BasicMinimalPy" + directory: "AdvancedPy" } JavaScriptFiles { directory: "../../../src/EasyApp" @@ -28,7 +28,7 @@ Project { // Include Module Definition Files (qmldir), as well as .ts and .qrc // from specified directory and its subdirectories Files { - directory: "BasicMinimalPy" + directory: "AdvancedPy" filter: "qmldir;*.ts;*.qrc;*.html" recursive: true } diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Backends/MockBackend.qml b/examples/AdvancedPy/src/AdvancedPy/Backends/MockBackend.qml similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Backends/MockBackend.qml rename to examples/AdvancedPy/src/AdvancedPy/Backends/MockBackend.qml diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Backends/MockQml/Project.qml b/examples/AdvancedPy/src/AdvancedPy/Backends/MockQml/Project.qml similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Backends/MockQml/Project.qml rename to examples/AdvancedPy/src/AdvancedPy/Backends/MockQml/Project.qml diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Backends/MockQml/Report.qml b/examples/AdvancedPy/src/AdvancedPy/Backends/MockQml/Report.qml similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Backends/MockQml/Report.qml rename to examples/AdvancedPy/src/AdvancedPy/Backends/MockQml/Report.qml diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Backends/MockQml/Status.qml b/examples/AdvancedPy/src/AdvancedPy/Backends/MockQml/Status.qml similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Backends/MockQml/Status.qml rename to examples/AdvancedPy/src/AdvancedPy/Backends/MockQml/Status.qml diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Backends/MockQml/qmldir b/examples/AdvancedPy/src/AdvancedPy/Backends/MockQml/qmldir similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Backends/MockQml/qmldir rename to examples/AdvancedPy/src/AdvancedPy/Backends/MockQml/qmldir diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Backends/qmldir b/examples/AdvancedPy/src/AdvancedPy/Backends/qmldir similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Backends/qmldir rename to examples/AdvancedPy/src/AdvancedPy/Backends/qmldir diff --git a/examples/BasicPy/src/BasicPy/Backends/real_backend.py b/examples/AdvancedPy/src/AdvancedPy/Backends/real_backend.py similarity index 100% rename from examples/BasicPy/src/BasicPy/Backends/real_backend.py rename to examples/AdvancedPy/src/AdvancedPy/Backends/real_backend.py diff --git a/examples/BasicPy/src/BasicPy/Backends/real_py/helpers.py b/examples/AdvancedPy/src/AdvancedPy/Backends/real_py/helpers.py similarity index 100% rename from examples/BasicPy/src/BasicPy/Backends/real_py/helpers.py rename to examples/AdvancedPy/src/AdvancedPy/Backends/real_py/helpers.py diff --git a/examples/BasicPy/src/BasicPy/Backends/real_py/project.py b/examples/AdvancedPy/src/AdvancedPy/Backends/real_py/project.py similarity index 100% rename from examples/BasicPy/src/BasicPy/Backends/real_py/project.py rename to examples/AdvancedPy/src/AdvancedPy/Backends/real_py/project.py diff --git a/examples/BasicPy/src/BasicPy/Backends/real_py/report.py b/examples/AdvancedPy/src/AdvancedPy/Backends/real_py/report.py similarity index 100% rename from examples/BasicPy/src/BasicPy/Backends/real_py/report.py rename to examples/AdvancedPy/src/AdvancedPy/Backends/real_py/report.py diff --git a/examples/BasicPy/src/BasicPy/Backends/real_py/status.py b/examples/AdvancedPy/src/AdvancedPy/Backends/real_py/status.py similarity index 100% rename from examples/BasicPy/src/BasicPy/Backends/real_py/status.py rename to examples/AdvancedPy/src/AdvancedPy/Backends/real_py/status.py diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Gui/ApplicationWindow.qml b/examples/AdvancedPy/src/AdvancedPy/Gui/ApplicationWindow.qml similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Gui/ApplicationWindow.qml rename to examples/AdvancedPy/src/AdvancedPy/Gui/ApplicationWindow.qml diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Globals/ApplicationInfo.qml b/examples/AdvancedPy/src/AdvancedPy/Gui/Globals/ApplicationInfo.qml similarity index 82% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Globals/ApplicationInfo.qml rename to examples/AdvancedPy/src/AdvancedPy/Gui/Globals/ApplicationInfo.qml index 81ba007f..3cb53278 100644 --- a/examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Globals/ApplicationInfo.qml +++ b/examples/AdvancedPy/src/AdvancedPy/Gui/Globals/ApplicationInfo.qml @@ -9,10 +9,10 @@ import QtQuick QtObject { readonly property var about: { - 'name': 'BasicMinimalPy', - 'namePrefix': 'BasicMinimal', + 'name': 'AdvancedPy', + 'namePrefix': 'Advanced', 'nameSuffix': 'Py', - 'namePrefixForLogo': 'basicminimal', + 'namePrefixForLogo': 'advanced', 'nameSuffixForLogo': 'py', 'homePageUrl': 'https://github.com/EasyScience/EasyExample', 'issuesUrl': 'https://github.com/EasyScience/EasyExample/issues', @@ -23,7 +23,7 @@ QtObject { 'date': new Date().toISOString().slice(0,10), 'developerYearsFrom': '2019', 'developerYearsTo': '2024', - 'description': 'An example of how to build the basic application using EasyApp module.', + 'description': 'Example of a desktop application of advanced complexity with Python backend and EasyApp-based GUI', 'developerIcons': [ { 'url': 'https://ess.eu', diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Globals/BackendWrapper.qml b/examples/AdvancedPy/src/AdvancedPy/Gui/Globals/BackendWrapper.qml similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Globals/BackendWrapper.qml rename to examples/AdvancedPy/src/AdvancedPy/Gui/Globals/BackendWrapper.qml diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Globals/References.qml b/examples/AdvancedPy/src/AdvancedPy/Gui/Globals/References.qml similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Globals/References.qml rename to examples/AdvancedPy/src/AdvancedPy/Gui/Globals/References.qml diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Globals/qmldir b/examples/AdvancedPy/src/AdvancedPy/Gui/Globals/qmldir similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Globals/qmldir rename to examples/AdvancedPy/src/AdvancedPy/Gui/Globals/qmldir diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Home/Content.qml b/examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Home/Content.qml similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Home/Content.qml rename to examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Home/Content.qml diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Home/Popups/About.qml b/examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Home/Popups/About.qml similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Home/Popups/About.qml rename to examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Home/Popups/About.qml diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Project/Layout.qml b/examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Project/Layout.qml similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Project/Layout.qml rename to examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Project/Layout.qml diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Project/MainArea/Description.qml b/examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Project/MainArea/Description.qml similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Project/MainArea/Description.qml rename to examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Project/MainArea/Description.qml diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Project/Sidebar/Basic/Groups/Examples.qml b/examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Project/Sidebar/Basic/Groups/Examples.qml similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Project/Sidebar/Basic/Groups/Examples.qml rename to examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Project/Sidebar/Basic/Groups/Examples.qml diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Project/Sidebar/Basic/Groups/GetStarted.qml b/examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Project/Sidebar/Basic/Groups/GetStarted.qml similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Project/Sidebar/Basic/Groups/GetStarted.qml rename to examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Project/Sidebar/Basic/Groups/GetStarted.qml diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Project/Sidebar/Basic/Groups/Recent.qml b/examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Project/Sidebar/Basic/Groups/Recent.qml similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Project/Sidebar/Basic/Groups/Recent.qml rename to examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Project/Sidebar/Basic/Groups/Recent.qml diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Project/Sidebar/Basic/Layout.qml b/examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Project/Sidebar/Basic/Layout.qml similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Project/Sidebar/Basic/Layout.qml rename to examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Project/Sidebar/Basic/Layout.qml diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Project/Sidebar/Basic/Popups/OpenCifFile.qml b/examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Project/Sidebar/Basic/Popups/OpenCifFile.qml similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Project/Sidebar/Basic/Popups/OpenCifFile.qml rename to examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Project/Sidebar/Basic/Popups/OpenCifFile.qml diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Project/Sidebar/Basic/Popups/ProjectDescription.qml b/examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Project/Sidebar/Basic/Popups/ProjectDescription.qml similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Project/Sidebar/Basic/Popups/ProjectDescription.qml rename to examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Project/Sidebar/Basic/Popups/ProjectDescription.qml diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Project/Sidebar/Extra/Groups/Scrolling.qml b/examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Project/Sidebar/Extra/Groups/Scrolling.qml similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Project/Sidebar/Extra/Groups/Scrolling.qml rename to examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Project/Sidebar/Extra/Groups/Scrolling.qml diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Project/Sidebar/Extra/Layout.qml b/examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Project/Sidebar/Extra/Layout.qml similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Project/Sidebar/Extra/Layout.qml rename to examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Project/Sidebar/Extra/Layout.qml diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Project/Sidebar/Text/Layout.qml b/examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Project/Sidebar/Text/Layout.qml similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Project/Sidebar/Text/Layout.qml rename to examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Project/Sidebar/Text/Layout.qml diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Report/Layout.qml b/examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Report/Layout.qml similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Report/Layout.qml rename to examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Report/Layout.qml diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Report/MainArea/Summary.qml b/examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Report/MainArea/Summary.qml similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Report/MainArea/Summary.qml rename to examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Report/MainArea/Summary.qml diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Report/Sidebar/Basic/Groups/Export.qml b/examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Report/Sidebar/Basic/Groups/Export.qml similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Report/Sidebar/Basic/Groups/Export.qml rename to examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Report/Sidebar/Basic/Groups/Export.qml diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Report/Sidebar/Basic/Layout.qml b/examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Report/Sidebar/Basic/Layout.qml similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Report/Sidebar/Basic/Layout.qml rename to examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Report/Sidebar/Basic/Layout.qml diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Report/Sidebar/Extra/Groups/Empty.qml b/examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Report/Sidebar/Extra/Groups/Empty.qml similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Report/Sidebar/Extra/Groups/Empty.qml rename to examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Report/Sidebar/Extra/Groups/Empty.qml diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Report/Sidebar/Extra/Layout.qml b/examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Report/Sidebar/Extra/Layout.qml similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Pages/Report/Sidebar/Extra/Layout.qml rename to examples/AdvancedPy/src/AdvancedPy/Gui/Pages/Report/Sidebar/Extra/Layout.qml diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Resources/Logos/App.icns b/examples/AdvancedPy/src/AdvancedPy/Gui/Resources/Logos/App.icns similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Resources/Logos/App.icns rename to examples/AdvancedPy/src/AdvancedPy/Gui/Resources/Logos/App.icns diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Resources/Logos/App.ico b/examples/AdvancedPy/src/AdvancedPy/Gui/Resources/Logos/App.ico similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Resources/Logos/App.ico rename to examples/AdvancedPy/src/AdvancedPy/Gui/Resources/Logos/App.ico diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Resources/Logos/App.png b/examples/AdvancedPy/src/AdvancedPy/Gui/Resources/Logos/App.png similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Resources/Logos/App.png rename to examples/AdvancedPy/src/AdvancedPy/Gui/Resources/Logos/App.png diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Resources/Logos/App.svg b/examples/AdvancedPy/src/AdvancedPy/Gui/Resources/Logos/App.svg similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Resources/Logos/App.svg rename to examples/AdvancedPy/src/AdvancedPy/Gui/Resources/Logos/App.svg diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Resources/Logos/ESS.png b/examples/AdvancedPy/src/AdvancedPy/Gui/Resources/Logos/ESS.png similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Resources/Logos/ESS.png rename to examples/AdvancedPy/src/AdvancedPy/Gui/Resources/Logos/ESS.png diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Gui/StatusBar.qml b/examples/AdvancedPy/src/AdvancedPy/Gui/StatusBar.qml similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Gui/StatusBar.qml rename to examples/AdvancedPy/src/AdvancedPy/Gui/StatusBar.qml diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Gui/qmldir b/examples/AdvancedPy/src/AdvancedPy/Gui/qmldir similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Gui/qmldir rename to examples/AdvancedPy/src/AdvancedPy/Gui/qmldir diff --git a/examples/IntermediatePy/src/IntermediatePy/__init__.py b/examples/AdvancedPy/src/AdvancedPy/__init__.py similarity index 100% rename from examples/IntermediatePy/src/IntermediatePy/__init__.py rename to examples/AdvancedPy/src/AdvancedPy/__init__.py diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/main.py b/examples/AdvancedPy/src/AdvancedPy/main.py similarity index 56% rename from examples/BasicMinimalPy/src/BasicMinimalPy/main.py rename to examples/AdvancedPy/src/AdvancedPy/main.py index 63bcd555..d1b82b36 100644 --- a/examples/BasicMinimalPy/src/BasicMinimalPy/main.py +++ b/examples/AdvancedPy/src/AdvancedPy/main.py @@ -6,7 +6,8 @@ import sys from PySide6.QtGui import QGuiApplication -from PySide6.QtQml import QQmlApplicationEngine +from PySide6.QtQml import QQmlApplicationEngine, qmlRegisterSingletonType +from PySide6.QtCore import qInstallMessageHandler # It is usually assumed that the EasyApp package is already installed in the desired python environment. # If this is not the case, and if the example is run from the EasyApp repository, one need to add the path to the @@ -15,18 +16,32 @@ EASYAPP_DIR = CURRENT_DIR / '..' / '..' / '..' / '..' / 'src' # path to qml components of the easyapp module sys.path.append(str(EASYAPP_DIR)) +from EasyApp.Logic.Logging import console + +from Backends.real_backend import Backend + if __name__ == '__main__': - # Create application + qInstallMessageHandler(console.qmlMessageHandler) + console.debug('Custom Qt message handler defined') + app = QGuiApplication(sys.argv) + console.debug(f'Qt Application created {app}') - # Create QML application engine engine = QQmlApplicationEngine() + console.debug(f'QML application engine created {engine}') + + qmlRegisterSingletonType(Backend, 'Backends', 1, 0, 'PyBackend') + console.debug('Backend class is registered to be accessible from QML via the name PyBackend') + engine.addImportPath(EASYAPP_DIR) engine.addImportPath(CURRENT_DIR) + console.debug('Paths added where QML searches for components') + engine.load(CURRENT_DIR / 'main.qml') + console.debug('Main QML component loaded') - # Event loop + console.debug('Application event loop is about to start') if not engine.rootObjects(): sys.exit(-1) sys.exit(app.exec()) diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/main.qml b/examples/AdvancedPy/src/AdvancedPy/main.qml similarity index 79% rename from examples/BasicMinimalPy/src/BasicMinimalPy/main.qml rename to examples/AdvancedPy/src/AdvancedPy/main.qml index f5d56832..1c7c0070 100644 --- a/examples/BasicMinimalPy/src/BasicMinimalPy/main.qml +++ b/examples/AdvancedPy/src/AdvancedPy/main.qml @@ -10,6 +10,6 @@ import Gui as Gui Gui.ApplicationWindow { - id: applicationWindow // Global access + id: applicationWindow // applicationWindow is globally accessible } diff --git a/examples/BasicMinimalC++/scripts/add_aliases_to_qrc.py b/examples/BasicC++/scripts/add_aliases_to_qrc.py similarity index 87% rename from examples/BasicMinimalC++/scripts/add_aliases_to_qrc.py rename to examples/BasicC++/scripts/add_aliases_to_qrc.py index e8e9fd8c..2e093cb0 100644 --- a/examples/BasicMinimalC++/scripts/add_aliases_to_qrc.py +++ b/examples/BasicC++/scripts/add_aliases_to_qrc.py @@ -1,6 +1,6 @@ import re -filename = 'src/BasicMinimalC++/resources.qrc' +filename = 'src/BasicC++/resources.qrc' with open(filename, 'r') as f: content = f.read() diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++.pro b/examples/BasicC++/src/BasicC++.pro similarity index 76% rename from examples/BasicMinimalC++/src/BasicMinimalC++.pro rename to examples/BasicC++/src/BasicC++.pro index 34e34391..4e7f21d8 100644 --- a/examples/BasicMinimalC++/src/BasicMinimalC++.pro +++ b/examples/BasicC++/src/BasicC++.pro @@ -1,7 +1,7 @@ TEMPLATE = app # Application name -TARGET = BasicMinimalC++ +TARGET = BasicC++ CONFIG += c++17 @@ -11,16 +11,16 @@ DEFINES += QT_DEPRECATED_WARNINGS QT += core quick qml SOURCES += \ - BasicMinimalC++/main.cpp + BasicC++/main.cpp -RESOURCES += BasicMinimalC++/resources.qrc +RESOURCES += BasicC++/resources.qrc # Additional import path used to resolve QML modules in Qt Creator's code model QML_IMPORT_PATH += \ - BasicMinimalC++ \ + BasicC++ \ ../../../src/EasyApp # Additional import path used to resolve QML modules just for Qt Quick Designer QML_DESIGNER_IMPORT_PATH += \ - BasicMinimalC++ \ + BasicC++ \ ../../../src/EasyApp diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++.qmlproject b/examples/BasicC++/src/BasicC++.qmlproject similarity index 82% rename from examples/BasicMinimalC++/src/BasicMinimalC++.qmlproject rename to examples/BasicC++/src/BasicC++.qmlproject index 2393f840..a5e58c22 100644 --- a/examples/BasicMinimalC++/src/BasicMinimalC++.qmlproject +++ b/examples/BasicC++/src/BasicC++.qmlproject @@ -1,17 +1,17 @@ import QmlProject 1.1 Project { - mainFile: "BasicMinimalC++/main.qml" + mainFile: "BasicC++/main.qml" // List of module and plugin directories passed to QML runtime importPaths: [ - "BasicMinimalC++", + "BasicC++", "../../../src", // EasyApp ] // Include .qml files from specified directory and its subdirectories QmlFiles { - directory: "BasicMinimalC++" + directory: "BasicC++" } QmlFiles { directory: "../../../src/EasyApp" @@ -19,7 +19,7 @@ Project { // Include .js files from specified directory and its subdirectories JavaScriptFiles { - directory: "BasicMinimalC++" + directory: "BasicC++" } JavaScriptFiles { directory: "../../../src/EasyApp" @@ -28,7 +28,7 @@ Project { // Include Module Definition Files (qmldir), as well as .ts and .qrc // from specified directory and its subdirectories Files { - directory: "BasicMinimalC++" + directory: "BasicC++" filter: "qmldir;*.ts;*.qrc;*.html" recursive: true } diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Backends/MockBackend.qml b/examples/BasicC++/src/BasicC++/Backends/MockBackend.qml similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Backends/MockBackend.qml rename to examples/BasicC++/src/BasicC++/Backends/MockBackend.qml diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Backends/MockQml/Project.qml b/examples/BasicC++/src/BasicC++/Backends/MockQml/Project.qml similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Backends/MockQml/Project.qml rename to examples/BasicC++/src/BasicC++/Backends/MockQml/Project.qml diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Backends/MockQml/Report.qml b/examples/BasicC++/src/BasicC++/Backends/MockQml/Report.qml similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Backends/MockQml/Report.qml rename to examples/BasicC++/src/BasicC++/Backends/MockQml/Report.qml diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Backends/MockQml/Status.qml b/examples/BasicC++/src/BasicC++/Backends/MockQml/Status.qml similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Backends/MockQml/Status.qml rename to examples/BasicC++/src/BasicC++/Backends/MockQml/Status.qml diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Backends/MockQml/qmldir b/examples/BasicC++/src/BasicC++/Backends/MockQml/qmldir similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Backends/MockQml/qmldir rename to examples/BasicC++/src/BasicC++/Backends/MockQml/qmldir diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Backends/qmldir b/examples/BasicC++/src/BasicC++/Backends/qmldir similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Backends/qmldir rename to examples/BasicC++/src/BasicC++/Backends/qmldir diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Gui/ApplicationWindow.qml b/examples/BasicC++/src/BasicC++/Gui/ApplicationWindow.qml similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Gui/ApplicationWindow.qml rename to examples/BasicC++/src/BasicC++/Gui/ApplicationWindow.qml diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Globals/ApplicationInfo.qml b/examples/BasicC++/src/BasicC++/Gui/Globals/ApplicationInfo.qml similarity index 83% rename from examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Globals/ApplicationInfo.qml rename to examples/BasicC++/src/BasicC++/Gui/Globals/ApplicationInfo.qml index eb26e7b7..deb3a378 100644 --- a/examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Globals/ApplicationInfo.qml +++ b/examples/BasicC++/src/BasicC++/Gui/Globals/ApplicationInfo.qml @@ -9,10 +9,10 @@ import QtQuick QtObject { readonly property var about: { - 'name': 'BasicMinimalC++', - 'namePrefix': 'BasicMinimal', + 'name': 'BasicC++', + 'namePrefix': 'Basic', 'nameSuffix': 'C++', - 'namePrefixForLogo': 'basicminimal', + 'namePrefixForLogo': 'basic', 'nameSuffixForLogo': 'c++', 'homePageUrl': 'https://github.com/EasyScience/EasyExample', 'issuesUrl': 'https://github.com/EasyScience/EasyExample/issues', @@ -23,7 +23,7 @@ QtObject { 'date': new Date().toISOString().slice(0,10), 'developerYearsFrom': '2019', 'developerYearsTo': '2024', - 'description': 'An example of how to build the basic application using EasyApp module.', + 'description': 'Example of a desktop application of basic complexity with Python backend and EasyApp-based GUI', 'developerIcons': [ { 'url': 'https://ess.eu', diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Globals/BackendWrapper.qml b/examples/BasicC++/src/BasicC++/Gui/Globals/BackendWrapper.qml similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Globals/BackendWrapper.qml rename to examples/BasicC++/src/BasicC++/Gui/Globals/BackendWrapper.qml diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Globals/References.qml b/examples/BasicC++/src/BasicC++/Gui/Globals/References.qml similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Globals/References.qml rename to examples/BasicC++/src/BasicC++/Gui/Globals/References.qml diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Globals/qmldir b/examples/BasicC++/src/BasicC++/Gui/Globals/qmldir similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Globals/qmldir rename to examples/BasicC++/src/BasicC++/Gui/Globals/qmldir diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Home/Content.qml b/examples/BasicC++/src/BasicC++/Gui/Pages/Home/Content.qml similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Home/Content.qml rename to examples/BasicC++/src/BasicC++/Gui/Pages/Home/Content.qml diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Home/Popups/About.qml b/examples/BasicC++/src/BasicC++/Gui/Pages/Home/Popups/About.qml similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Home/Popups/About.qml rename to examples/BasicC++/src/BasicC++/Gui/Pages/Home/Popups/About.qml diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Project/Layout.qml b/examples/BasicC++/src/BasicC++/Gui/Pages/Project/Layout.qml similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Project/Layout.qml rename to examples/BasicC++/src/BasicC++/Gui/Pages/Project/Layout.qml diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Project/MainArea/Description.qml b/examples/BasicC++/src/BasicC++/Gui/Pages/Project/MainArea/Description.qml similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Project/MainArea/Description.qml rename to examples/BasicC++/src/BasicC++/Gui/Pages/Project/MainArea/Description.qml diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Project/Sidebar/Basic/Groups/Examples.qml b/examples/BasicC++/src/BasicC++/Gui/Pages/Project/Sidebar/Basic/Groups/Examples.qml similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Project/Sidebar/Basic/Groups/Examples.qml rename to examples/BasicC++/src/BasicC++/Gui/Pages/Project/Sidebar/Basic/Groups/Examples.qml diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Project/Sidebar/Basic/Groups/GetStarted.qml b/examples/BasicC++/src/BasicC++/Gui/Pages/Project/Sidebar/Basic/Groups/GetStarted.qml similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Project/Sidebar/Basic/Groups/GetStarted.qml rename to examples/BasicC++/src/BasicC++/Gui/Pages/Project/Sidebar/Basic/Groups/GetStarted.qml diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Project/Sidebar/Basic/Groups/Recent.qml b/examples/BasicC++/src/BasicC++/Gui/Pages/Project/Sidebar/Basic/Groups/Recent.qml similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Project/Sidebar/Basic/Groups/Recent.qml rename to examples/BasicC++/src/BasicC++/Gui/Pages/Project/Sidebar/Basic/Groups/Recent.qml diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Project/Sidebar/Basic/Layout.qml b/examples/BasicC++/src/BasicC++/Gui/Pages/Project/Sidebar/Basic/Layout.qml similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Project/Sidebar/Basic/Layout.qml rename to examples/BasicC++/src/BasicC++/Gui/Pages/Project/Sidebar/Basic/Layout.qml diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Project/Sidebar/Basic/Popups/OpenCifFile.qml b/examples/BasicC++/src/BasicC++/Gui/Pages/Project/Sidebar/Basic/Popups/OpenCifFile.qml similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Project/Sidebar/Basic/Popups/OpenCifFile.qml rename to examples/BasicC++/src/BasicC++/Gui/Pages/Project/Sidebar/Basic/Popups/OpenCifFile.qml diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Project/Sidebar/Basic/Popups/ProjectDescription.qml b/examples/BasicC++/src/BasicC++/Gui/Pages/Project/Sidebar/Basic/Popups/ProjectDescription.qml similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Project/Sidebar/Basic/Popups/ProjectDescription.qml rename to examples/BasicC++/src/BasicC++/Gui/Pages/Project/Sidebar/Basic/Popups/ProjectDescription.qml diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Project/Sidebar/Extra/Groups/Scrolling.qml b/examples/BasicC++/src/BasicC++/Gui/Pages/Project/Sidebar/Extra/Groups/Scrolling.qml similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Project/Sidebar/Extra/Groups/Scrolling.qml rename to examples/BasicC++/src/BasicC++/Gui/Pages/Project/Sidebar/Extra/Groups/Scrolling.qml diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Project/Sidebar/Extra/Layout.qml b/examples/BasicC++/src/BasicC++/Gui/Pages/Project/Sidebar/Extra/Layout.qml similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Project/Sidebar/Extra/Layout.qml rename to examples/BasicC++/src/BasicC++/Gui/Pages/Project/Sidebar/Extra/Layout.qml diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Project/Sidebar/Text/Layout.qml b/examples/BasicC++/src/BasicC++/Gui/Pages/Project/Sidebar/Text/Layout.qml similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Project/Sidebar/Text/Layout.qml rename to examples/BasicC++/src/BasicC++/Gui/Pages/Project/Sidebar/Text/Layout.qml diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Report/Layout.qml b/examples/BasicC++/src/BasicC++/Gui/Pages/Report/Layout.qml similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Report/Layout.qml rename to examples/BasicC++/src/BasicC++/Gui/Pages/Report/Layout.qml diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Report/MainArea/Summary.qml b/examples/BasicC++/src/BasicC++/Gui/Pages/Report/MainArea/Summary.qml similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Report/MainArea/Summary.qml rename to examples/BasicC++/src/BasicC++/Gui/Pages/Report/MainArea/Summary.qml diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Report/Sidebar/Basic/Groups/Export.qml b/examples/BasicC++/src/BasicC++/Gui/Pages/Report/Sidebar/Basic/Groups/Export.qml similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Report/Sidebar/Basic/Groups/Export.qml rename to examples/BasicC++/src/BasicC++/Gui/Pages/Report/Sidebar/Basic/Groups/Export.qml diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Report/Sidebar/Basic/Layout.qml b/examples/BasicC++/src/BasicC++/Gui/Pages/Report/Sidebar/Basic/Layout.qml similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Report/Sidebar/Basic/Layout.qml rename to examples/BasicC++/src/BasicC++/Gui/Pages/Report/Sidebar/Basic/Layout.qml diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Report/Sidebar/Extra/Groups/Empty.qml b/examples/BasicC++/src/BasicC++/Gui/Pages/Report/Sidebar/Extra/Groups/Empty.qml similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Report/Sidebar/Extra/Groups/Empty.qml rename to examples/BasicC++/src/BasicC++/Gui/Pages/Report/Sidebar/Extra/Groups/Empty.qml diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Report/Sidebar/Extra/Layout.qml b/examples/BasicC++/src/BasicC++/Gui/Pages/Report/Sidebar/Extra/Layout.qml similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Pages/Report/Sidebar/Extra/Layout.qml rename to examples/BasicC++/src/BasicC++/Gui/Pages/Report/Sidebar/Extra/Layout.qml diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Resources/Logos/App.icns b/examples/BasicC++/src/BasicC++/Gui/Resources/Logos/App.icns similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Resources/Logos/App.icns rename to examples/BasicC++/src/BasicC++/Gui/Resources/Logos/App.icns diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Resources/Logos/App.ico b/examples/BasicC++/src/BasicC++/Gui/Resources/Logos/App.ico similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Resources/Logos/App.ico rename to examples/BasicC++/src/BasicC++/Gui/Resources/Logos/App.ico diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Resources/Logos/App.png b/examples/BasicC++/src/BasicC++/Gui/Resources/Logos/App.png similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Resources/Logos/App.png rename to examples/BasicC++/src/BasicC++/Gui/Resources/Logos/App.png diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Resources/Logos/App.svg b/examples/BasicC++/src/BasicC++/Gui/Resources/Logos/App.svg similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Resources/Logos/App.svg rename to examples/BasicC++/src/BasicC++/Gui/Resources/Logos/App.svg diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Resources/Logos/ESS.png b/examples/BasicC++/src/BasicC++/Gui/Resources/Logos/ESS.png similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Resources/Logos/ESS.png rename to examples/BasicC++/src/BasicC++/Gui/Resources/Logos/ESS.png diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Gui/StatusBar.qml b/examples/BasicC++/src/BasicC++/Gui/StatusBar.qml similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Gui/StatusBar.qml rename to examples/BasicC++/src/BasicC++/Gui/StatusBar.qml diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy/Gui/qmldir b/examples/BasicC++/src/BasicC++/Gui/qmldir similarity index 100% rename from examples/BasicMinimalPy/src/BasicMinimalPy/Gui/qmldir rename to examples/BasicC++/src/BasicC++/Gui/qmldir diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/main.cpp b/examples/BasicC++/src/BasicC++/main.cpp similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/main.cpp rename to examples/BasicC++/src/BasicC++/main.cpp diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/main.qml b/examples/BasicC++/src/BasicC++/main.qml similarity index 79% rename from examples/BasicMinimalC++/src/BasicMinimalC++/main.qml rename to examples/BasicC++/src/BasicC++/main.qml index f5d56832..1c7c0070 100644 --- a/examples/BasicMinimalC++/src/BasicMinimalC++/main.qml +++ b/examples/BasicC++/src/BasicC++/main.qml @@ -10,6 +10,6 @@ import Gui as Gui Gui.ApplicationWindow { - id: applicationWindow // Global access + id: applicationWindow // applicationWindow is globally accessible } diff --git a/examples/BasicMinimalC++/src/BasicMinimalC++/resources.qrc b/examples/BasicC++/src/BasicC++/resources.qrc similarity index 100% rename from examples/BasicMinimalC++/src/BasicMinimalC++/resources.qrc rename to examples/BasicC++/src/BasicC++/resources.qrc diff --git a/examples/BasicMinimalPy/src/BasicMinimalPy.pyproject b/examples/BasicMinimalPy/src/BasicMinimalPy.pyproject deleted file mode 100644 index 4c91d332..00000000 --- a/examples/BasicMinimalPy/src/BasicMinimalPy.pyproject +++ /dev/null @@ -1,39 +0,0 @@ -{ - "files": [ - "BasicMinimalPy.qmlproject", - "BasicMinimalPy/main.py", - "BasicMinimalPy/main.qml", - "BasicMinimalPy/Gui/qmldir", - "BasicMinimalPy/Gui/ApplicationWindow.qml", - "BasicMinimalPy/Gui/StatusBar.qml", - "BasicMinimalPy/Gui/Globals/qmldir", - "BasicMinimalPy/Gui/Globals/ApplicationInfo.qml", - "BasicMinimalPy/Gui/Globals/BackendWrapper.qml", - "BasicMinimalPy/Gui/Globals/References.qml", - "BasicMinimalPy/Gui/Pages/Home/Content.qml", - "BasicMinimalPy/Gui/Pages/Home/Popups/About.qml", - "BasicMinimalPy/Gui/Pages/Project/Layout.qml", - "BasicMinimalPy/Gui/Pages/Project/MainAreaTabs/Description.qml", - "BasicMinimalPy/Gui/Pages/Project/SidebarTabs/Basic/Layout.qml", - "BasicMinimalPy/Gui/Pages/Project/SidebarTabs/Basic/Groups/Examples.qml", - "BasicMinimalPy/Gui/Pages/Project/SidebarTabs/Basic/Groups/GetStarted.qml", - "BasicMinimalPy/Gui/Pages/Project/SidebarTabs/Basic/Groups/Recent.qml", - "BasicMinimalPy/Gui/Pages/Project/SidebarTabs/Basic/Popups/OpenCifFile.qml", - "BasicMinimalPy/Gui/Pages/Project/SidebarTabs/Basic/Popups/ProjectDescription.qml", - "BasicMinimalPy/Gui/Pages/Project/SidebarTabs/Extra/Layout.qml", - "BasicMinimalPy/Gui/Pages/Project/SidebarTabs/Extra/Groups/Scrolling.qml", - "BasicMinimalPy/Gui/Pages/Project/SidebarTabs/Text/Layout.qml", - "BasicMinimalPy/Gui/Pages/Report/Layout.qml", - "BasicMinimalPy/Gui/Pages/Report/MainAreaTabs/Summary.qml", - "BasicMinimalPy/Gui/Pages/Report/SidebarTabs/Basic/Layout.qml", - "BasicMinimalPy/Gui/Pages/Report/SidebarTabs/Basic/Groups/Export.qml", - "BasicMinimalPy/Gui/Pages/Report/SidebarTabs/Extra/Layout.qml", - "BasicMinimalPy/Gui/Pages/Report/SidebarTabs/Extra/Groups/Empty.qml", - "BasicMinimalPy/Backends/qmldir", - "BasicMinimalPy/Backends/MockBackend.qml", - "BasicMinimalPy/Backends/MockQml/Project.qml", - "BasicMinimalPy/Backends/MockQml/Report.qml", - "BasicMinimalPy/Backends/MockQml/Status.qml", - "BasicMinimalPy/Backends/MockQml/qmldir" - ] -} diff --git a/examples/BasicPy/src/BasicPy.pyproject b/examples/BasicPy/src/BasicPy.pyproject index 11c78eb4..10a3755b 100644 --- a/examples/BasicPy/src/BasicPy.pyproject +++ b/examples/BasicPy/src/BasicPy.pyproject @@ -34,11 +34,6 @@ "BasicPy/Backends/MockQml/Project.qml", "BasicPy/Backends/MockQml/Report.qml", "BasicPy/Backends/MockQml/Status.qml", - "BasicPy/Backends/MockQml/qmldir", - "BasicPy/Backends/real_backend.py", - "BasicPy/Backends/real_py/helpers.py", - "BasicPy/Backends/real_py/project.py", - "BasicPy/Backends/real_py/report.py", - "BasicPy/Backends/real_py/status.py" + "BasicPy/Backends/MockQml/qmldir" ] } diff --git a/examples/BasicPy/src/BasicPy/Gui/Globals/ApplicationInfo.qml b/examples/BasicPy/src/BasicPy/Gui/Globals/ApplicationInfo.qml index d50095cc..3af43719 100644 --- a/examples/BasicPy/src/BasicPy/Gui/Globals/ApplicationInfo.qml +++ b/examples/BasicPy/src/BasicPy/Gui/Globals/ApplicationInfo.qml @@ -23,7 +23,7 @@ QtObject { 'date': new Date().toISOString().slice(0,10), 'developerYearsFrom': '2019', 'developerYearsTo': '2024', - 'description': 'An example of how to build the basic application using EasyApp module.', + 'description': 'Example of a desktop application of basic complexity with Python backend and EasyApp-based GUI', 'developerIcons': [ { 'url': 'https://ess.eu', diff --git a/examples/BasicPy/src/BasicPy/main.py b/examples/BasicPy/src/BasicPy/main.py index d1b82b36..63bcd555 100644 --- a/examples/BasicPy/src/BasicPy/main.py +++ b/examples/BasicPy/src/BasicPy/main.py @@ -6,8 +6,7 @@ import sys from PySide6.QtGui import QGuiApplication -from PySide6.QtQml import QQmlApplicationEngine, qmlRegisterSingletonType -from PySide6.QtCore import qInstallMessageHandler +from PySide6.QtQml import QQmlApplicationEngine # It is usually assumed that the EasyApp package is already installed in the desired python environment. # If this is not the case, and if the example is run from the EasyApp repository, one need to add the path to the @@ -16,32 +15,18 @@ EASYAPP_DIR = CURRENT_DIR / '..' / '..' / '..' / '..' / 'src' # path to qml components of the easyapp module sys.path.append(str(EASYAPP_DIR)) -from EasyApp.Logic.Logging import console - -from Backends.real_backend import Backend - if __name__ == '__main__': - qInstallMessageHandler(console.qmlMessageHandler) - console.debug('Custom Qt message handler defined') - + # Create application app = QGuiApplication(sys.argv) - console.debug(f'Qt Application created {app}') + # Create QML application engine engine = QQmlApplicationEngine() - console.debug(f'QML application engine created {engine}') - - qmlRegisterSingletonType(Backend, 'Backends', 1, 0, 'PyBackend') - console.debug('Backend class is registered to be accessible from QML via the name PyBackend') - engine.addImportPath(EASYAPP_DIR) engine.addImportPath(CURRENT_DIR) - console.debug('Paths added where QML searches for components') - engine.load(CURRENT_DIR / 'main.qml') - console.debug('Main QML component loaded') - console.debug('Application event loop is about to start') + # Event loop if not engine.rootObjects(): sys.exit(-1) sys.exit(app.exec()) diff --git a/examples/BasicQml/src/BasicQml/Gui/Globals/ApplicationInfo.qml b/examples/BasicQml/src/BasicQml/Gui/Globals/ApplicationInfo.qml index b0d2e925..48042f22 100644 --- a/examples/BasicQml/src/BasicQml/Gui/Globals/ApplicationInfo.qml +++ b/examples/BasicQml/src/BasicQml/Gui/Globals/ApplicationInfo.qml @@ -23,7 +23,7 @@ QtObject { 'date': new Date().toISOString().slice(0,10), 'developerYearsFrom': '2019', 'developerYearsTo': '2024', - 'description': 'An example of how to build the basic application using EasyApp module.', + 'description': 'Example of a desktop application of basic complexity with Python backend and EasyApp-based GUI', 'developerIcons': [ { 'url': 'https://ess.eu', diff --git a/examples/BasicQml/src/BasicQml/main.qml b/examples/BasicQml/src/BasicQml/main.qml index f5d56832..1c7c0070 100644 --- a/examples/BasicQml/src/BasicQml/main.qml +++ b/examples/BasicQml/src/BasicQml/main.qml @@ -10,6 +10,6 @@ import Gui as Gui Gui.ApplicationWindow { - id: applicationWindow // Global access + id: applicationWindow // applicationWindow is globally accessible } diff --git a/examples/IntermediatePy/scripts/install_from_wheel.sh b/examples/IntermediatePy/scripts/install_from_wheel.sh deleted file mode 100755 index 497b2b6b..00000000 --- a/examples/IntermediatePy/scripts/install_from_wheel.sh +++ /dev/null @@ -1,2 +0,0 @@ -echo "\033[0;34m:::::: Installing python wheel from 'dist/wheel'\033[0m" -python3 -m pip install intermediatepy --force-reinstall --find-links=dist/wheel diff --git a/examples/IntermediatePy/src/IntermediatePy.pyproject b/examples/IntermediatePy/src/IntermediatePy.pyproject index 98d3fd5d..27976b06 100644 --- a/examples/IntermediatePy/src/IntermediatePy.pyproject +++ b/examples/IntermediatePy/src/IntermediatePy.pyproject @@ -13,22 +13,22 @@ "IntermediatePy/Gui/Pages/Home/Content.qml", "IntermediatePy/Gui/Pages/Home/Popups/About.qml", "IntermediatePy/Gui/Pages/Project/Layout.qml", - "IntermediatePy/Gui/Pages/Project/MainArea/Description.qml", - "IntermediatePy/Gui/Pages/Project/Sidebar/Basic/Layout.qml", - "IntermediatePy/Gui/Pages/Project/Sidebar/Basic/Groups/Examples.qml", - "IntermediatePy/Gui/Pages/Project/Sidebar/Basic/Groups/GetStarted.qml", - "IntermediatePy/Gui/Pages/Project/Sidebar/Basic/Groups/Recent.qml", - "IntermediatePy/Gui/Pages/Project/Sidebar/Basic/Popups/OpenCifFile.qml", - "IntermediatePy/Gui/Pages/Project/Sidebar/Basic/Popups/ProjectDescription.qml", - "IntermediatePy/Gui/Pages/Project/Sidebar/Extra/Layout.qml", - "IntermediatePy/Gui/Pages/Project/Sidebar/Extra/Groups/Scrolling.qml", - "IntermediatePy/Gui/Pages/Project/Sidebar/Text/Layout.qml", + "IntermediatePy/Gui/Pages/Project/MainAreaTabs/Description.qml", + "IntermediatePy/Gui/Pages/Project/SidebarTabs/Basic/Layout.qml", + "IntermediatePy/Gui/Pages/Project/SidebarTabs/Basic/Groups/Examples.qml", + "IntermediatePy/Gui/Pages/Project/SidebarTabs/Basic/Groups/GetStarted.qml", + "IntermediatePy/Gui/Pages/Project/SidebarTabs/Basic/Groups/Recent.qml", + "IntermediatePy/Gui/Pages/Project/SidebarTabs/Basic/Popups/OpenCifFile.qml", + "IntermediatePy/Gui/Pages/Project/SidebarTabs/Basic/Popups/ProjectDescription.qml", + "IntermediatePy/Gui/Pages/Project/SidebarTabs/Extra/Layout.qml", + "IntermediatePy/Gui/Pages/Project/SidebarTabs/Extra/Groups/Scrolling.qml", + "IntermediatePy/Gui/Pages/Project/SidebarTabs/Text/Layout.qml", "IntermediatePy/Gui/Pages/Report/Layout.qml", - "IntermediatePy/Gui/Pages/Report/MainArea/Summary.qml", - "IntermediatePy/Gui/Pages/Report/Sidebar/Basic/Layout.qml", - "IntermediatePy/Gui/Pages/Report/Sidebar/Basic/Groups/Export.qml", - "IntermediatePy/Gui/Pages/Report/Sidebar/Extra/Layout.qml", - "IntermediatePy/Gui/Pages/Report/Sidebar/Extra/Groups/Empty.qml", + "IntermediatePy/Gui/Pages/Report/MainAreaTabs/Summary.qml", + "IntermediatePy/Gui/Pages/Report/SidebarTabs/Basic/Layout.qml", + "IntermediatePy/Gui/Pages/Report/SidebarTabs/Basic/Groups/Export.qml", + "IntermediatePy/Gui/Pages/Report/SidebarTabs/Extra/Layout.qml", + "IntermediatePy/Gui/Pages/Report/SidebarTabs/Extra/Groups/Empty.qml", "IntermediatePy/Backends/qmldir", "IntermediatePy/Backends/MockBackend.qml", "IntermediatePy/Backends/MockQml/Project.qml", diff --git a/examples/IntermediatePy/src/IntermediatePy/Gui/Globals/ApplicationInfo.qml b/examples/IntermediatePy/src/IntermediatePy/Gui/Globals/ApplicationInfo.qml index b1aa25a4..418acd83 100644 --- a/examples/IntermediatePy/src/IntermediatePy/Gui/Globals/ApplicationInfo.qml +++ b/examples/IntermediatePy/src/IntermediatePy/Gui/Globals/ApplicationInfo.qml @@ -23,7 +23,7 @@ QtObject { 'date': new Date().toISOString().slice(0,10), 'developerYearsFrom': '2019', 'developerYearsTo': '2024', - 'description': 'An example of how to build the basic application using EasyApp module.', + 'description': 'Example of a desktop application of intermediate complexity with Python backend and EasyApp-based GUI', 'developerIcons': [ { 'url': 'https://ess.eu', diff --git a/scripts/install_from_wheel.sh b/scripts/install_from_wheel.sh index 497b2b6b..6b5f620e 100755 --- a/scripts/install_from_wheel.sh +++ b/scripts/install_from_wheel.sh @@ -1,2 +1,2 @@ echo "\033[0;34m:::::: Installing python wheel from 'dist/wheel'\033[0m" -python3 -m pip install intermediatepy --force-reinstall --find-links=dist/wheel +python3 -m pip install advancedpy --force-reinstall --find-links=dist/wheel diff --git a/vscode/launch.json b/vscode/launch.json index 2e4149d5..6b23849e 100644 --- a/vscode/launch.json +++ b/vscode/launch.json @@ -13,27 +13,27 @@ "env": { "PYTHONPATH": "${cwd}/src" } - }, - { - "name": "Python Debugger: BasicMinimalPy", - "type": "debugpy", - "request": "launch", - "program": "${cwd}/examples/BasicMinimalPy/src/BasicMinimalPy/main.py", - "console": "integratedTerminal", - }, + }, { "name": "Python Debugger: BasicPy", "type": "debugpy", "request": "launch", "program": "${cwd}/examples/BasicPy/src/BasicPy/main.py", - "console": "integratedTerminal", - }, + "console": "integratedTerminal", + }, { "name": "Python Debugger: IntermediatePy", "type": "debugpy", "request": "launch", "program": "${cwd}/examples/IntermediatePy/src/IntermediatePy/main.py", - "console": "integratedTerminal", + "console": "integratedTerminal", + }, + { + "name": "Python Debugger: AdvancedPy", + "type": "debugpy", + "request": "launch", + "program": "${cwd}/examples/AdvancedPy/src/AdvancedPy/main.py", + "console": "integratedTerminal", } ] -} \ No newline at end of file +}