Skip to content

Commit d382aab

Browse files
committed
Rename examples (more simple structure)
* BasicMinimalPy to BasicPy * BasicMinimalC++ to BasicC++ * BasicPy to IntermediatePy * IntermediatePy to AdvancedPy
1 parent b869b5d commit d382aab

File tree

109 files changed

+148
-148
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

109 files changed

+148
-148
lines changed

EXAMPLES.md

+9-9

README.md

+1-1
File renamed without changes.

examples/IntermediatePy/README.md examples/AdvancedPy/README.md

+6-6

examples/IntermediatePy/pyproject.toml examples/AdvancedPy/pyproject.toml

+4-4
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ requires = ['hatchling']
33
build-backend = 'hatchling.build'
44

55
[project]
6-
name = 'intermediatepy'
6+
name = 'advancedpy'
77
version = '1.0.0'
8-
description = 'Example of a desktop application of intermediate complexity with a Python backend and EasyApp-based GUI'
8+
description = 'Example of a desktop application of advanced complexity with Python backend and EasyApp-based GUI'
99
authors = [
1010
{name = 'Andrew Sazonov', email = '[email protected]'}
1111
]
@@ -29,8 +29,8 @@ ci = [
2929
]
3030

3131
[project.urls]
32-
homepage = 'https://github.com/EasyScience/EasyApp/tree/master/examples/IntermediatePy'
32+
homepage = 'https://github.com/EasyScience/EasyApp/tree/master/examples/AdvancedPy'
3333

3434
[tool.hatch.build.targets.wheel]
35-
packages = ['src/IntermediatePy']
35+
packages = ['src/AdvancedPy']
3636
#artifacts = ['*.py', '*.qml', 'qmldir']
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
echo "\033[0;34m:::::: Installing python wheel from 'dist/wheel'\033[0m"
2+
python3 -m pip install advancedpy --force-reinstall --find-links=dist/wheel
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
{
2+
"files": [
3+
"AdvancedPy.qmlproject",
4+
"AdvancedPy/main.py",
5+
"AdvancedPy/main.qml",
6+
"AdvancedPy/Gui/qmldir",
7+
"AdvancedPy/Gui/ApplicationWindow.qml",
8+
"AdvancedPy/Gui/StatusBar.qml",
9+
"AdvancedPy/Gui/Globals/qmldir",
10+
"AdvancedPy/Gui/Globals/ApplicationInfo.qml",
11+
"AdvancedPy/Gui/Globals/BackendWrapper.qml",
12+
"AdvancedPy/Gui/Globals/References.qml",
13+
"AdvancedPy/Gui/Pages/Home/Content.qml",
14+
"AdvancedPy/Gui/Pages/Home/Popups/About.qml",
15+
"AdvancedPy/Gui/Pages/Project/Layout.qml",
16+
"AdvancedPy/Gui/Pages/Project/MainArea/Description.qml",
17+
"AdvancedPy/Gui/Pages/Project/Sidebar/Basic/Layout.qml",
18+
"AdvancedPy/Gui/Pages/Project/Sidebar/Basic/Groups/Examples.qml",
19+
"AdvancedPy/Gui/Pages/Project/Sidebar/Basic/Groups/GetStarted.qml",
20+
"AdvancedPy/Gui/Pages/Project/Sidebar/Basic/Groups/Recent.qml",
21+
"AdvancedPy/Gui/Pages/Project/Sidebar/Basic/Popups/OpenCifFile.qml",
22+
"AdvancedPy/Gui/Pages/Project/Sidebar/Basic/Popups/ProjectDescription.qml",
23+
"AdvancedPy/Gui/Pages/Project/Sidebar/Extra/Layout.qml",
24+
"AdvancedPy/Gui/Pages/Project/Sidebar/Extra/Groups/Scrolling.qml",
25+
"AdvancedPy/Gui/Pages/Project/Sidebar/Text/Layout.qml",
26+
"AdvancedPy/Gui/Pages/Report/Layout.qml",
27+
"AdvancedPy/Gui/Pages/Report/MainArea/Summary.qml",
28+
"AdvancedPy/Gui/Pages/Report/Sidebar/Basic/Layout.qml",
29+
"AdvancedPy/Gui/Pages/Report/Sidebar/Basic/Groups/Export.qml",
30+
"AdvancedPy/Gui/Pages/Report/Sidebar/Extra/Layout.qml",
31+
"AdvancedPy/Gui/Pages/Report/Sidebar/Extra/Groups/Empty.qml",
32+
"AdvancedPy/Backends/qmldir",
33+
"AdvancedPy/Backends/MockBackend.qml",
34+
"AdvancedPy/Backends/MockQml/Project.qml",
35+
"AdvancedPy/Backends/MockQml/Report.qml",
36+
"AdvancedPy/Backends/MockQml/Status.qml",
37+
"AdvancedPy/Backends/MockQml/qmldir",
38+
"AdvancedPy/Backends/real_backend.py",
39+
"AdvancedPy/Backends/real_py/helpers.py",
40+
"AdvancedPy/Backends/real_py/project.py",
41+
"AdvancedPy/Backends/real_py/report.py",
42+
"AdvancedPy/Backends/real_py/status.py"
43+
]
44+
}

examples/BasicMinimalPy/src/BasicMinimalPy.qmlproject examples/AdvancedPy/src/AdvancedPy.qmlproject

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
import QmlProject 1.1
22

33
Project {
4-
mainFile: "BasicMinimalPy/main.qml"
4+
mainFile: "AdvancedPy/main.qml"
55

66
// List of module and plugin directories passed to QML runtime
77
importPaths: [
8-
"BasicMinimalPy",
8+
"AdvancedPy",
99
"../../../src", // EasyApp
1010
]
1111

1212
// Include .qml files from specified directory and its subdirectories
1313
QmlFiles {
14-
directory: "BasicMinimalPy"
14+
directory: "AdvancedPy"
1515
}
1616
QmlFiles {
1717
directory: "../../../src/EasyApp"
1818
}
1919

2020
// Include .js files from specified directory and its subdirectories
2121
JavaScriptFiles {
22-
directory: "BasicMinimalPy"
22+
directory: "AdvancedPy"
2323
}
2424
JavaScriptFiles {
2525
directory: "../../../src/EasyApp"
@@ -28,7 +28,7 @@ Project {
2828
// Include Module Definition Files (qmldir), as well as .ts and .qrc
2929
// from specified directory and its subdirectories
3030
Files {
31-
directory: "BasicMinimalPy"
31+
directory: "AdvancedPy"
3232
filter: "qmldir;*.ts;*.qrc;*.html"
3333
recursive: true
3434
}

examples/BasicMinimalPy/src/BasicMinimalPy/Gui/Globals/ApplicationInfo.qml examples/AdvancedPy/src/AdvancedPy/Gui/Globals/ApplicationInfo.qml

+4-4
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ import QtQuick
99
QtObject {
1010

1111
readonly property var about: {
12-
'name': 'BasicMinimalPy',
13-
'namePrefix': 'BasicMinimal',
12+
'name': 'AdvancedPy',
13+
'namePrefix': 'Advanced',
1414
'nameSuffix': 'Py',
15-
'namePrefixForLogo': 'basicminimal',
15+
'namePrefixForLogo': 'advanced',
1616
'nameSuffixForLogo': 'py',
1717
'homePageUrl': 'https://github.com/EasyScience/EasyExample',
1818
'issuesUrl': 'https://github.com/EasyScience/EasyExample/issues',
@@ -23,7 +23,7 @@ QtObject {
2323
'date': new Date().toISOString().slice(0,10),
2424
'developerYearsFrom': '2019',
2525
'developerYearsTo': '2024',
26-
'description': 'An example of how to build the basic application using EasyApp module.',
26+
'description': 'Example of a desktop application of advanced complexity with Python backend and EasyApp-based GUI',
2727
'developerIcons': [
2828
{
2929
'url': 'https://ess.eu',

examples/BasicMinimalPy/src/BasicMinimalPy/main.py examples/AdvancedPy/src/AdvancedPy/main.py

+19-4
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
import sys
77

88
from PySide6.QtGui import QGuiApplication
9-
from PySide6.QtQml import QQmlApplicationEngine
9+
from PySide6.QtQml import QQmlApplicationEngine, qmlRegisterSingletonType
10+
from PySide6.QtCore import qInstallMessageHandler
1011

1112
# It is usually assumed that the EasyApp package is already installed in the desired python environment.
1213
# 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 @@
1516
EASYAPP_DIR = CURRENT_DIR / '..' / '..' / '..' / '..' / 'src' # path to qml components of the easyapp module
1617
sys.path.append(str(EASYAPP_DIR))
1718

19+
from EasyApp.Logic.Logging import console
20+
21+
from Backends.real_backend import Backend
22+
1823

1924
if __name__ == '__main__':
20-
# Create application
25+
qInstallMessageHandler(console.qmlMessageHandler)
26+
console.debug('Custom Qt message handler defined')
27+
2128
app = QGuiApplication(sys.argv)
29+
console.debug(f'Qt Application created {app}')
2230

23-
# Create QML application engine
2431
engine = QQmlApplicationEngine()
32+
console.debug(f'QML application engine created {engine}')
33+
34+
qmlRegisterSingletonType(Backend, 'Backends', 1, 0, 'PyBackend')
35+
console.debug('Backend class is registered to be accessible from QML via the name PyBackend')
36+
2537
engine.addImportPath(EASYAPP_DIR)
2638
engine.addImportPath(CURRENT_DIR)
39+
console.debug('Paths added where QML searches for components')
40+
2741
engine.load(CURRENT_DIR / 'main.qml')
42+
console.debug('Main QML component loaded')
2843

29-
# Event loop
44+
console.debug('Application event loop is about to start')
3045
if not engine.rootObjects():
3146
sys.exit(-1)
3247
sys.exit(app.exec())

examples/BasicMinimalPy/src/BasicMinimalPy/main.qml examples/AdvancedPy/src/AdvancedPy/main.qml

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@ import Gui as Gui
1010

1111
Gui.ApplicationWindow {
1212

13-
id: applicationWindow // Global access
13+
id: applicationWindow // applicationWindow is globally accessible
1414

1515
}

examples/BasicMinimalC++/scripts/add_aliases_to_qrc.py examples/BasicC++/scripts/add_aliases_to_qrc.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import re
22

3-
filename = 'src/BasicMinimalC++/resources.qrc'
3+
filename = 'src/BasicC++/resources.qrc'
44
with open(filename, 'r') as f:
55
content = f.read()
66

Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
TEMPLATE = app
22

33
# Application name
4-
TARGET = BasicMinimalC++
4+
TARGET = BasicC++
55

66
CONFIG += c++17
77

@@ -11,16 +11,16 @@ DEFINES += QT_DEPRECATED_WARNINGS
1111
QT += core quick qml
1212

1313
SOURCES += \
14-
BasicMinimalC++/main.cpp
14+
BasicC++/main.cpp
1515

16-
RESOURCES += BasicMinimalC++/resources.qrc
16+
RESOURCES += BasicC++/resources.qrc
1717

1818
# Additional import path used to resolve QML modules in Qt Creator's code model
1919
QML_IMPORT_PATH += \
20-
BasicMinimalC++ \
20+
BasicC++ \
2121
../../../src/EasyApp
2222

2323
# Additional import path used to resolve QML modules just for Qt Quick Designer
2424
QML_DESIGNER_IMPORT_PATH += \
25-
BasicMinimalC++ \
25+
BasicC++ \
2626
../../../src/EasyApp

examples/BasicMinimalC++/src/BasicMinimalC++.qmlproject examples/BasicC++/src/BasicC++.qmlproject

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
import QmlProject 1.1
22

33
Project {
4-
mainFile: "BasicMinimalC++/main.qml"
4+
mainFile: "BasicC++/main.qml"
55

66
// List of module and plugin directories passed to QML runtime
77
importPaths: [
8-
"BasicMinimalC++",
8+
"BasicC++",
99
"../../../src", // EasyApp
1010
]
1111

1212
// Include .qml files from specified directory and its subdirectories
1313
QmlFiles {
14-
directory: "BasicMinimalC++"
14+
directory: "BasicC++"
1515
}
1616
QmlFiles {
1717
directory: "../../../src/EasyApp"
1818
}
1919

2020
// Include .js files from specified directory and its subdirectories
2121
JavaScriptFiles {
22-
directory: "BasicMinimalC++"
22+
directory: "BasicC++"
2323
}
2424
JavaScriptFiles {
2525
directory: "../../../src/EasyApp"
@@ -28,7 +28,7 @@ Project {
2828
// Include Module Definition Files (qmldir), as well as .ts and .qrc
2929
// from specified directory and its subdirectories
3030
Files {
31-
directory: "BasicMinimalC++"
31+
directory: "BasicC++"
3232
filter: "qmldir;*.ts;*.qrc;*.html"
3333
recursive: true
3434
}

examples/BasicMinimalC++/src/BasicMinimalC++/Gui/Globals/ApplicationInfo.qml examples/BasicC++/src/BasicC++/Gui/Globals/ApplicationInfo.qml

+4-4
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ import QtQuick
99
QtObject {
1010

1111
readonly property var about: {
12-
'name': 'BasicMinimalC++',
13-
'namePrefix': 'BasicMinimal',
12+
'name': 'BasicC++',
13+
'namePrefix': 'Basic',
1414
'nameSuffix': 'C++',
15-
'namePrefixForLogo': 'basicminimal',
15+
'namePrefixForLogo': 'basic',
1616
'nameSuffixForLogo': 'c++',
1717
'homePageUrl': 'https://github.com/EasyScience/EasyExample',
1818
'issuesUrl': 'https://github.com/EasyScience/EasyExample/issues',
@@ -23,7 +23,7 @@ QtObject {
2323
'date': new Date().toISOString().slice(0,10),
2424
'developerYearsFrom': '2019',
2525
'developerYearsTo': '2024',
26-
'description': 'An example of how to build the basic application using EasyApp module.',
26+
'description': 'Example of a desktop application of basic complexity with Python backend and EasyApp-based GUI',
2727
'developerIcons': [
2828
{
2929
'url': 'https://ess.eu',

examples/BasicMinimalC++/src/BasicMinimalC++/main.qml examples/BasicC++/src/BasicC++/main.qml

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@ import Gui as Gui
1010

1111
Gui.ApplicationWindow {
1212

13-
id: applicationWindow // Global access
13+
id: applicationWindow // applicationWindow is globally accessible
1414

1515
}

0 commit comments

Comments
 (0)