codeallyadvanced 2.3.0__tar.gz → 2.4.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {codeallyadvanced-2.3.0/src/codeallyadvanced.egg-info → codeallyadvanced-2.4.1}/PKG-INFO +3 -3
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/pyproject.toml +2 -2
- codeallyadvanced-2.4.1/src/codeallyadvanced/_version.py +1 -0
- codeallyadvanced-2.4.1/src/codeallyadvanced/resources/mystic/MageBitMap.py +63 -0
- codeallyadvanced-2.4.1/src/codeallyadvanced/resources/mystic/back16.py +16 -0
- codeallyadvanced-2.4.1/src/codeallyadvanced/resources/mystic/back64.py +41 -0
- codeallyadvanced-2.4.1/src/codeallyadvanced/resources/mystic/cancel16.py +17 -0
- codeallyadvanced-2.4.1/src/codeallyadvanced/resources/mystic/cancel64.py +43 -0
- codeallyadvanced-2.4.1/src/codeallyadvanced/resources/mystic/next16.py +16 -0
- codeallyadvanced-2.4.1/src/codeallyadvanced/resources/mystic/next64.py +41 -0
- codeallyadvanced-2.4.1/src/codeallyadvanced/ui/mystic/Mystic.py +258 -0
- codeallyadvanced-2.4.1/src/codeallyadvanced/ui/mystic/MysticPanel.py +16 -0
- codeallyadvanced-2.4.1/src/codeallyadvanced/ui/mystic/MysticStepBase.py +51 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/ui/widgets/DualSpinnerControl.py +5 -4
- codeallyadvanced-2.4.1/src/codeallyadvanced/ui/widgets/__init__.py +0 -0
- codeallyadvanced-2.4.1/src/codeallyadvanced/ui/widgets/py.typed +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1/src/codeallyadvanced.egg-info}/PKG-INFO +3 -3
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced.egg-info/SOURCES.txt +12 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced.egg-info/requires.txt +2 -2
- codeallyadvanced-2.3.0/src/codeallyadvanced/_version.py +0 -1
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/LICENSE +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/README.md +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/setup.cfg +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/__init__.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/py.typed +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/__init__.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/DefaultPreferences.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/__init__.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/folder.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/__init__.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded16/ImgToolboxActor.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded16/ImgToolboxArrow.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded16/ImgToolboxClass.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded16/ImgToolboxNewClassDiagram.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded16/ImgToolboxNewProject.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded16/ImgToolboxNewSequenceDiagram.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded16/ImgToolboxNewUseCaseDiagram.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded16/ImgToolboxNote.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded16/ImgToolboxOpenFile.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded16/ImgToolboxRedo.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded16/ImgToolboxRelationshipAggregation.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded16/ImgToolboxRelationshipAssociation.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded16/ImgToolboxRelationshipComposition.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded16/ImgToolboxRelationshipInheritance.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded16/ImgToolboxRelationshipNote.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded16/ImgToolboxRelationshipRealization.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded16/ImgToolboxSaveDiagram.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded16/ImgToolboxSequenceDiagramInstance.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded16/ImgToolboxSequenceDiagramMessage.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded16/ImgToolboxText.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded16/ImgToolboxUndo.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded16/ImgToolboxUseCase.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded16/ImgToolboxZoomIn.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded16/ImgToolboxZoomOut.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded16/UmlLollipop.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded16/UmlNote.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded16/UmlText.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded16/__init__.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded16/py.typed +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded32/ImgToolboxActor.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded32/ImgToolboxArrow.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded32/ImgToolboxClass.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded32/ImgToolboxNewClassDiagram.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded32/ImgToolboxNewProject.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded32/ImgToolboxNewSequenceDiagram.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded32/ImgToolboxNewUseCaseDiagram.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded32/ImgToolboxNote.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded32/ImgToolboxOpenFile.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded32/ImgToolboxRedo.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded32/ImgToolboxRelationshipAggregation.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded32/ImgToolboxRelationshipAssociation.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded32/ImgToolboxRelationshipComposition.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded32/ImgToolboxRelationshipInheritance.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded32/ImgToolboxRelationshipNote.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded32/ImgToolboxRelationshipRealization.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded32/ImgToolboxSaveDiagram.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded32/ImgToolboxSequenceDiagramInstance.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded32/ImgToolboxSequenceDiagramMessage.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded32/ImgToolboxText.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded32/ImgToolboxUndo.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded32/ImgToolboxUseCase.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded32/ImgToolboxZoomIn.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded32/ImgToolboxZoomOut.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded32/UmlLollipop.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded32/UmlNote.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded32/UmlText.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded32/__init__.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/embedded32/py.typed +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/icons/sourceimages/__init__.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/py.typed +0 -0
- {codeallyadvanced-2.3.0/src/codeallyadvanced/resources/umldiagrammer → codeallyadvanced-2.4.1/src/codeallyadvanced/resources/mystic}/__init__.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/py.typed +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/umldiagrammer/Embedded16.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/umldiagrammer/Embedded24.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/umldiagrammer/Embedded32.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/umldiagrammer/Embedded64.py +0 -0
- {codeallyadvanced-2.3.0/src/codeallyadvanced/ui → codeallyadvanced-2.4.1/src/codeallyadvanced/resources/umldiagrammer}/__init__.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/ui/AttachmentSide.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/ui/Common.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/ui/UnitTestBaseW.py +0 -0
- {codeallyadvanced-2.3.0/src/codeallyadvanced/ui/widgets → codeallyadvanced-2.4.1/src/codeallyadvanced/ui}/__init__.py +0 -0
- /codeallyadvanced-2.3.0/src/codeallyadvanced/ui/py.typed → /codeallyadvanced-2.4.1/src/codeallyadvanced/ui/mystic/__init__.py +0 -0
- {codeallyadvanced-2.3.0/src/codeallyadvanced/ui/widgets → codeallyadvanced-2.4.1/src/codeallyadvanced/ui}/py.typed +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/ui/widgets/DialSelector.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/ui/widgets/DimensionsControl.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/ui/widgets/DirectionEnum.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/ui/widgets/DirectorySelector.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/ui/widgets/MinMaxControl.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/ui/widgets/PositionControl.py +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced.egg-info/dependency_links.txt +0 -0
- {codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: codeallyadvanced
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.4.1
|
|
4
4
|
Summary: Humberto`s Common wxPython UI Stuff
|
|
5
5
|
Author-email: "Humberto A. Sanchez II" <Humberto.A.Sanchez.II@gmail.com>
|
|
6
6
|
Maintainer-email: "Humberto A. Sanchez II" <Humberto.A.Sanchez.II@gmail.com>
|
|
@@ -22,8 +22,8 @@ Requires-Dist: mypy-extensions==1.1.0; extra == "test"
|
|
|
22
22
|
Requires-Dist: types-Deprecated==1.3.1.20251101; extra == "test"
|
|
23
23
|
Requires-Dist: html-testRunner~=1.2.1; extra == "test"
|
|
24
24
|
Provides-Extra: deploy
|
|
25
|
-
Requires-Dist: wheel==0.
|
|
26
|
-
Requires-Dist: setuptools==
|
|
25
|
+
Requires-Dist: wheel==0.44.0; extra == "deploy"
|
|
26
|
+
Requires-Dist: setuptools==70.1.1; extra == "deploy"
|
|
27
27
|
Requires-Dist: twine==6.2.0; extra == "deploy"
|
|
28
28
|
Requires-Dist: build==1.3.0; extra == "deploy"
|
|
29
29
|
Dynamic: license-file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__: str = '2.4.1'
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
#----------------------------------------------------------------------
|
|
2
|
+
# This file was generated by /Users/humberto.a.sanchez.ii/PycharmProjects/pyfabricate/pyenv-3.12.4/bin/img2py
|
|
3
|
+
#
|
|
4
|
+
from wx.lib.embeddedimage import PyEmbeddedImage
|
|
5
|
+
|
|
6
|
+
embeddedImage = PyEmbeddedImage(
|
|
7
|
+
b'iVBORw0KGgoAAAANSUhEUgAAAHQAAAEECAYAAAD5zxBSAAAAAXNSR0IArs4c6QAAAIRlWElm'
|
|
8
|
+
b'TU0AKgAAAAgABQESAAMAAAABAAEAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAAB'
|
|
9
|
+
b'AAIAAIdpAAQAAAABAAAAWgAAAAAAB3+HAAAGZgAHf4cAAAZmAAOgAQADAAAAAQABAACgAgAE'
|
|
10
|
+
b'AAAAAQAAAHSgAwAEAAAAAQAAAQQAAAAA8FM+/wAAAAlwSFlzAAAuIwAALiMBeKU/dgAAAVlp'
|
|
11
|
+
b'VFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6'
|
|
12
|
+
b'bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDYuMC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRm'
|
|
13
|
+
b'PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAg'
|
|
14
|
+
b'PHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0i'
|
|
15
|
+
b'aHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpPcmllbnRh'
|
|
16
|
+
b'dGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAg'
|
|
17
|
+
b'PC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KGV7hBwAACW1JREFUeAHtnM9tKzcQxqUgSPAOvhhI'
|
|
18
|
+
b'mnAD75QU4A6SJtyAkRe4ATeRdOACklMaUBMJ4IsPQXJxLCmjpei3Iocc7vzZT4CwuxY5O/x+'
|
|
19
|
+
b'+1FDPj9vX99eG7zCKPBFmJFgIAcFADTYgwCgABpMgWDDgUMBNJgCwYYDhwJoMAWCDQcOBdBg'
|
|
20
|
+
b'CgQbDhwKoMEUCDacL0eNZ7vdioXGvx/US4kpt14rFy2HOXQa/afplH3W05d9sxAd4NAQGKdB'
|
|
21
|
+
b'LAL09fWnzf6N13gFFgE6fhi4AykAoKREkOMCRVGtUp9mG3KXQGte5sChs4+Rzw8MOfQoYM/v'
|
|
22
|
+
b'IAruZfik+ZY1Gyh3+nOrjNPEMeU6BTeXNtuhFKj029l9O7lp9L5IlO9ajnBoMNLNDj3oQBVM'
|
|
23
|
+
b'oRrZbn8OJpvd4cChdtk0Zbbl/mclqnIP33IXHNr6zXcM2fYdShMFNhaangV0sqhA33fohRGl'
|
|
24
|
+
b'HsubkXtTJ5Hz87a45imA71CeXuZbA6h5RLwEh025vDTy1jQp5z/HdUkBOLSkkLPPAdQZsFK6'
|
|
25
|
+
b'fVMuLfxKd2F8PiAk4+7+m8Kh/hmejaDZodJlS7omPcsQFywF4FCWXPYbsx0KJ9mGCofa5sPO'
|
|
26
|
+
b'DkDZktnuAKC2+bCzA1C2ZLY7sIsizeHc3t6K3f7p6UkslqVAcKglGgK5uHLoNN4fp1P22S/s'
|
|
27
|
+
b'Hp46wKGeaFXk6hbo09MPm/0br3MF3AI9HwauSAEAJSWCHJ0WRbXqzxdA3CWQl2UOHFr7bDhp'
|
|
28
|
+
b'F9yhRwo9ewiCexmLPBImgHKnv0WUcXoTTLlOwc2lbcKhlFxpd7VvJzeN3heJ8rV4hEMtUunI'
|
|
29
|
+
b'yZRDD+OgCqZQjdze/tox7Lhd4dBgbO05tErg+Q2Dqu6BG8GhweC6cmhap+YcqG5Nt+jWuL6F'
|
|
30
|
+
b'Q/Mnw/k1gDoHmKfvasrNk+dd06TM6+WtNRzqjVghXwAtCOTtY3tTbmGHqEXgASFb0likDxy6'
|
|
31
|
+
b'iMzL3cSUQ6XLlnRNupykuneCQ3X1F787+483imeAgKIKwKGicuoHA1B9BqIZAKionPrBAFSf'
|
|
32
|
+
b'gWgGACoqp34wANVnIJoBgIrKqR8MQPUZiGZgautPdGQzwR4eHmY+4f/4/v6e32lwDzh0sMBL'
|
|
33
|
+
b'h1+dQyeBv59O2We/sXss1QEOXUrphe6zaqD3999t9u9Ir1UDjQSSxgKgpESQ44qLolqC8wUQ'
|
|
34
|
+
b'dwm0xDIHDq3l6qQdHFoJqmcPQXAvo5htGKDc6a+ojNMGmHKdgptLO4xDaYCl3dW+ndw0el8k'
|
|
35
|
+
b'ylf6CIdKK6ocL5xDD3pSBVOoRh4efleWX/72cKi8pqoRYzq0StL5DYOq7kYbwaFGwbSmtTqH'
|
|
36
|
+
b'pnVqLhrVrekWnbf1LRyaU3V+DaDOAebpr27KzQXgXdOkzOu1ZGs4dEm1F7gXgC4g8pK3iDnl'
|
|
37
|
+
b'FnaIWgQeELIljWIfOLQoka8G4RwqXbaka1IPaOFQD5QYOeKPZjDE8tAUDvVAiZEjgDLE8tAU'
|
|
38
|
+
b'QD1QYuQIoAyxPDQFUA+UGDkCKEMsD00B1AMlRo7hdooYYz9r+vj4eHbdc3F3d9fTvasvHNol'
|
|
39
|
+
b'n73OcOg7Jh/f/aT+B3/UNx3UEg4dJKxWWAD9jPJ3dx83+7fHF4B6pHYhZwC9II7Hj1AUNVOb'
|
|
40
|
+
b'L4C4SyDJZQ4c2gzUZkc4tJNLzx6C4F7GaRThgXKnv5MyTk8w5ToFN5d2eIfSwEu7q307uWn0'
|
|
41
|
+
b'vkiUb+sRDm1Vzmi/1Tj0oD9VMIVq5PFxfklilOMpLTj0JEWMk3U5tIqZX3fuhweHVkH20wgO'
|
|
42
|
+
b'/Z9VWqfm+KhuTbforK5v4dCcnvNrAHUOME8fU26uSNM1TcpNnUU7waGicuoHA1B9BqIZrGvK'
|
|
43
|
+
b'LewQtSg7IGRLGqc+cOhJihgnq3GodNmSrkktPQpwqCUaArngbywIiGgpBBxqiYZALgAqIKKl'
|
|
44
|
+
b'EABqiYZALgAqIKKlEABqiYZALgAqIKKlEABqiYZALgAqIKKlEABqiYZALgAqIKKlECE253e7'
|
|
45
|
+
b'nZimNzc3YrE0AsGhGqoPvGcIh076fDudss/+ZPew2AEOtUilI6dwQG9uvtns32t9hQO6VpA0'
|
|
46
|
+
b'bgAlJYIcgxVFtVTmCyDuEsjaMgcOrX0GnLRbqUOPdHr2EAT3MkQfFdNAudOfqDJOg2HKdQpu'
|
|
47
|
+
b'Lm3TDqWkS7urfTu5afS+SJSv5hEO1VR/wL1dOPQwbqpgCtXIbvfXAJn8hIRD/bCqytSPQ6uG'
|
|
48
|
+
b'M79hUNU9QCM4NADEdAghHJrWqeng9udUt6ZbdJHXt3Bo/gQ4vwZQ5wDz9ENMufmgeNc0KfN6'
|
|
49
|
+
b'WW0Nh1ol05gXgDYKZ7Wbnym3sEPUIvCAkC1piPaBQ0Xl1A/mwqHSZUu6JtVHIJsBHCqrp3o0'
|
|
50
|
+
b'/FkbdQSyCcChsnqqRwNQdQSyCQCorJ7q0QBUHYFsAgAqq6d6NABVRyCbAIDK6qkezfRO0fPz'
|
|
51
|
+
b's5hA19fXYrEsB4JDLdNpyM20Q6fxfJhO2Wd/s3t47gCHeqb3mdzdAL2+/rDZv/G6rIAboJeH'
|
|
52
|
+
b'gU9JAQAlJYIcnRRFtWrPF0DcJZDXZQ4cWvusOGkXzKFH1Xv2EAT3MlQeARWg3OlPRRmnN8WU'
|
|
53
|
+
b'6xTcXNoqDqVkSrurfTu5afS+SJSvhyMc6oESI0dVhx7ypAqmUI08P88vSRjjDd8UDg2GWN+h'
|
|
54
|
+
b'VYLCnVUyvTWCQ2uVctLOtEPTOjXXk+rWdIsO61s4NH9O3F9jynWP8HwApqfc81S5VzQpc/v5'
|
|
55
|
+
b'bg+H+ub3LnsAfSeJ7x/oT7mFHaIWeQeEbElDpQ8cqiL7uJuqOlS6bEnXpOMksx0ZDrXNh50d'
|
|
56
|
+
b'/sYCWzLbHeBQ23zY2QEoWzLbHQDUNh92dgDKlsx2B9Vli6Q0Ly8vYuGurq7EYi0dCA5dWvHB'
|
|
57
|
+
b'9wvj0Emnr6dT9tk/7B7WOsCh1oh05hMS6NXVV5v9e42vkEDXCJLGDKCkRJBjwKKolsx8AcRd'
|
|
58
|
+
b'Alla5sChtfydtFuxQ4+EevYQBPcyxB4X80C505+YMk4DYcp1Cm4ubfMOpcRLu6t9O7lp9L5I'
|
|
59
|
+
b'lK/WEQ7VUn7Qfd049DB+qmAK1cjLy7+D5LIfFg61z4iVoS+HVg1tfsOgqrvzRnCoc4B5+mEc'
|
|
60
|
+
b'mtap+SCpbk236KKub+HQnL7zawB1DjBPP8yUmw+Md02TMq+XxdZwqEUqHTkBaId4Frv6mnIL'
|
|
61
|
+
b'O0QtAg8I2ZKGWB84VExKG4HcOFS6bEnXpDZQyGQBh8roaCYK/sOvGRQyicChMjqaiQKgZlDI'
|
|
62
|
+
b'JAKgMjqaiQKgZlDIJPIfirL53ZvQxC4AAAAASUVORK5CYII=')
|
|
63
|
+
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#----------------------------------------------------------------------
|
|
2
|
+
# This file was generated by /Users/humberto.a.sanchez.ii/PycharmProjects/code-ally-advanced/pyenv-3.13.9/lib/python3.13/site-packages/wx/tools/img2py.py
|
|
3
|
+
#
|
|
4
|
+
from wx.lib.embeddedimage import PyEmbeddedImage
|
|
5
|
+
|
|
6
|
+
embeddedImage = PyEmbeddedImage(
|
|
7
|
+
b'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAABhUlE'
|
|
8
|
+
b'QVQokXWSvUtcQRTFf3fe0wWNbzG76SJKXI3pkypiZSGCgljY2RgQ/Qtiq3+BpYIIaUNIY0BU'
|
|
9
|
+
b'yBbaqthI/GCjoAjK5i2G6EZ912Levg9ZD8NwhnvvuXPujFCDky9IxqMetFp5uDq2XAAn96Z5'
|
|
10
|
+
b'bMnJdeI01C0A7s92/n2beiifCOBNbphXXSbbhkgoqYigmuyid79W/y4NuiZXkHyXeG2KoFE0'
|
|
11
|
+
b'3msQt3vAtHa4kvFUGgONs5M1aYhkPGNjqgRBuEekpZHPHxl9FyZYCQNhkiUWLxqY6WVvktct'
|
|
12
|
+
b'/DgIE2zUVdu9JpDNMP2BqfesHNK3TMlP3xNclECRmvbiEPkm+r+wf1l/vkbTHia+s3bE+jgL'
|
|
13
|
+
b'Q7RnYz8pD5EnVco3zBXpmef3H7Y+sThMk5sYBhgUDZ4q+bfMFXk7z4nPYHdiSorL/0pkOnpd'
|
|
14
|
+
b'S/wbZn+mHVSvjZaPg4tdVU1eLLni9znfVr/kAHq6SWsPLwuq8V+KvIXHi239OkK1InG7bAfP'
|
|
15
|
+
b'fG+q11RKlj4C9qH2jViUX/QAAAAASUVORK5CYII=')
|
|
16
|
+
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
#----------------------------------------------------------------------
|
|
2
|
+
# This file was generated by /Users/humberto.a.sanchez.ii/PycharmProjects/code-ally-advanced/pyenv-3.13.9/lib/python3.13/site-packages/wx/tools/img2py.py
|
|
3
|
+
#
|
|
4
|
+
from wx.lib.embeddedimage import PyEmbeddedImage
|
|
5
|
+
|
|
6
|
+
embeddedImage = PyEmbeddedImage(
|
|
7
|
+
b'iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAIAAAAlC+aJAAAAA3NCSVQICAjb4U/gAAAGsUlE'
|
|
8
|
+
b'QVRoge1aXWxURRT+5v7sTwulGhAJ7LahiU36INEoLXQLktIWH/BBjQRIVJSEaHww4gPVF5+K'
|
|
9
|
+
b'xqgxPvliKBATQzTxJxgTSqFbUBpRjBhChP7xUyJYYqEFdrt3fLjbu7N3fu7c3dbEpF9umtm5'
|
|
10
|
+
b'55w53zln5s7cXmAe8ygLJFgiuiBS324mV5v31RqxhdSw5tYjJ0vvTOTGh3KjA5k/e+i92wHu'
|
|
11
|
+
b'Ke4Z1SviT+yONGwmkQpix2HaMCxCCABKQQgo5cyR/K1yZCilhE7T6Sy9M545c+hO+hNn4kpo'
|
|
12
|
+
b'ArHGl2OtnSRaZcQXwYwoeIYloCNf6M9lcv+MTX3/1r3TnwstmII+w6zc/H4s9ZpR+YARr4Yh'
|
|
13
|
+
b'ktGA64rfIU7GveU1/DLEJPFqu/5JYkWzQ2k+HgLnKp76MPLws8aCpbBiwRFSwhNwG7y81y8T'
|
|
14
|
+
b'yI9r2VayCYY1ffFYAIHo6pdia18xFi6FGeUHc532GjwZYb9PPizy6qZl167J3biYu3a26C77'
|
|
15
|
+
b'w1i0YuGrx4yqZcSuKGWouYczeX3ig1XOxJjXY7C3o+t3k2gVsSu8UHl1zBa0DzKZcvrZi5Ux'
|
|
16
|
+
b'KpfE1r3Bjl4gQKIL7IbNJLZIxl5nAB1dYWn57LBzwycTadxJIpUCAtZDHcSugBlxHABwHDgO'
|
|
17
|
+
b'KM3/1cyA7GJ1deyzMt5PV4DEqq26DSICiceJHdeMInvJIlpmpBXBMmubC257LVJdSw0beiUh'
|
|
18
|
+
b'JMb+9PXLngkyXbV9c0m9d7eQASNWRQwLxZEOS0Y4cAnzBKJAeA1SudjTKmSAGqb6yVTCWs6W'
|
|
19
|
+
b'ivBZIZNXZIwQwLAFBPIKEva+AcKiHDtqXcMvLlEOTCvfL1uFWJmm5Xi9EY8tC23Tg2Bz70ux'
|
|
20
|
+
b'ZlrV/TxSCexJoSUJADmKtgP45ZpUV1iKfgJ5ZtwyJzSqs/LI+lMJdKaQShacMAnW1eD0mFiX'
|
|
21
|
+
b'Bb8eWL57PjgOCCl6jvDEdOAKNyfQORN1FlkHvcMh7ASUkAzlnLZakoWC8eHoEN45jjPXQtsX'
|
|
22
|
+
b'EPBKyN/JNNR1ydduKok9zVhXI3Z9bz8GrgaUJe9MiEkceJJSkGypUbne1Y9Tl4s6Szs8MQRE'
|
|
23
|
+
b'k5hnzHIQyrhR70yJXe8Zwl7OdTUEPuhPYv1IuNBxXWaTXTDchs4iETCJ2aOqemK11Khc70oX'
|
|
24
|
+
b'oq5ZKl6Dl5ESEE5ivwDnxNoE3m7Rcp01EvgMEY6bl5ER0IdrKKzr5SOfDaZHkAGdFMctHHwG'
|
|
25
|
+
b'HXUi1wfRlcZPl8vabgToCgl4RnTW4+dXCbzvGUJXH05dCbHdCLtV4VHYjSqEfANTKpkp4Q/7'
|
|
26
|
+
b'irOvNxaUc0CwnS5yVOLQgd/wwwW/YutKHH0R32zFmoT/TZvMofJRREB/gMkMnv4C7fvRN+K/'
|
|
27
|
+
b'1boSPS/g661oXF4gr3PAZ0nK5Cl3HgjIgGwAt9E/ik0HxDQ2utnYhqYVKpsyyEqLhyADLHvI'
|
|
28
|
+
b'X7h68ukRdOxHW7eKBpsNSILCXqVkQK2gmA8u+kfRsV+ajd4d+Ha7IBs6wVKjxDkggzobLA0X'
|
|
29
|
+
b'YVchJYGgSOusTm4jPYL2bmzsRt+whMa2Iho8ZGNRZsvMEQgyBEkkZIP1j6BNRqNuhkZCtUjo'
|
|
30
|
+
b'IAQB9Rxwwb/rTA/naRwX0Ti2A99txyMP6jrNi4UooXJI9s8UlZBG3048uix0sDgCYRA23fm5'
|
|
31
|
+
b'MYz2bmzc5y8q20CraF+oMxazjIoUdCIhG0DW3+cW1b5CNnIOege1dHmEOA/IbJWwbaYUfcNo'
|
|
32
|
+
b'24e1SaSSOD6Mn68KZIQ+BJ8HZMqaxPgoKhw6OYqTo35TmvZdhNgLhcVcl6IL5kCTy6of5FRy'
|
|
33
|
+
b'egrkgNn+/4AznRUQwL0JSun/4/8Dd296d5lV6OYQnGmZsmZadcpmFmzeOO95yJTQ2AByWdjS'
|
|
34
|
+
b'1UCd1sCVRwgdm6wP+W3ypROeBSYDgz3O5HjgAUIaFe2LdYiFziGGUiA7RQePCAggcxvnDhEn'
|
|
35
|
+
b'Q0s6D/Dg90Wl2fERoGc+Q3bS6yn6WoXeOEcankOsOoTJ/xZketL5cgsyt7ye4s9tMrfo1HVS'
|
|
36
|
+
b't4katvqVus6L3tkCOy49vAujafYu98HTX7/DjJHEGkpMn6PCksDsTehgOwMf0ZPv+bREn5ON'
|
|
37
|
+
b'9sGwsLwJc/2BYjF8x2J/egc+pkfeBPdKTfg9HMVIL8YvkJr11Kqc9bIJzJLXyI+VnaSHd+HH'
|
|
38
|
+
b'd3nvZQQAANfP4o+DBBSLG4gd85UNCxmxQHlZKRZSkZ3Cr5/Sr7bgUtpvxbMmJeDBrkTNBiSa'
|
|
39
|
+
b'cX894oth2a4anVGmMz9nB7ks7t7E3+dx6QSGj7Ar5jzmMRf4F0a7vEjCzWz8AAAAAElFTkSu'
|
|
40
|
+
b'QmCC')
|
|
41
|
+
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#----------------------------------------------------------------------
|
|
2
|
+
# This file was generated by /Users/humberto.a.sanchez.ii/PycharmProjects/code-ally-advanced/pyenv-3.13.9/lib/python3.13/site-packages/wx/tools/img2py.py
|
|
3
|
+
#
|
|
4
|
+
from wx.lib.embeddedimage import PyEmbeddedImage
|
|
5
|
+
|
|
6
|
+
embeddedImage = PyEmbeddedImage(
|
|
7
|
+
b'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAABqElE'
|
|
8
|
+
b'QVQokW2Sv2sUURDHP2/35e52T46YRPSQQNALKCGXWPofiKmEdKZJpyAWVoKIigh2dpJGUnit'
|
|
9
|
+
b'2KawtBJc9wRR0RhExVwKYb2Ll9vsvbHYn3fkMcW8me+8+c68ryI9japbm9AcdYLDaHv/X+wr'
|
|
10
|
+
b'4IzrPFs+f7bqTFjWkQXAu6B7vf3pe/9AAa8uLs9X3VmnorK8CEohkgdga+/P5Tdt3ag6864z'
|
|
11
|
+
b'WymrQjqBFiIKLp04PudWdE3rEihjxkkU69OamtYWIokZgwhT09h2ftWa6ZkcI2IBGEPcwRjq'
|
|
12
|
+
b'p2m9ZKEJsNDk+QtO1hOAMYBdL5eunpo5Fr8KdH7z+QN3HxGG3LjFwzu89zNWGz93LUj5ZOZ7'
|
|
13
|
+
b'tDa5dpPWJr43kkIshJEZjGFxibV1nj5hbZ3FpTwlgqCThcQGNC9w/zH3btP2+PqFB6mfLk2P'
|
|
14
|
+
b'DC3Crx+srnAYAvhvWV1hcrK4Yh1EUd5BKTq7QPLNShEO2Otk6G4UWdv9gd/dl8Kmxy2dzfvb'
|
|
15
|
+
b'2zkIbeB10DtXKTecgjoyaaSO1+tf+fgtGA5zvc2VSzVtjwskYTLcGYSx/x+1tgBDIYZlWgAA'
|
|
16
|
+
b'AABJRU5ErkJggg==')
|
|
17
|
+
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
#----------------------------------------------------------------------
|
|
2
|
+
# This file was generated by /Users/humberto.a.sanchez.ii/PycharmProjects/code-ally-advanced/pyenv-3.13.9/lib/python3.13/site-packages/wx/tools/img2py.py
|
|
3
|
+
#
|
|
4
|
+
from wx.lib.embeddedimage import PyEmbeddedImage
|
|
5
|
+
|
|
6
|
+
embeddedImage = PyEmbeddedImage(
|
|
7
|
+
b'iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAIAAAAlC+aJAAAAA3NCSVQICAjb4U/gAAAHQElE'
|
|
8
|
+
b'QVRoge1aSW8URxT+qrsHr3gGY7CcADHYDlI4ICyIQMgYA8pyQIqiJFyjJBJCyiEKCWATvAUI'
|
|
9
|
+
b'BCmLcuKSU5QL/yBeMeIQkKxEQSJgGyPCbsAw9nib6a4ceqa6uruquntsKzn4aTSqrn716vvq'
|
|
10
|
+
b'vap6VTPAkizJvIQEapQa+huryl8vj1cXFS03dIMEN5mPpClNps3Rqakrz5M9Y88mM6ZaX4Vm'
|
|
11
|
+
b'TVHB4dpX9ldWFOt6ka7HNGKQHHxKQQgo9dkj2Vfz0KFABkib1rNM5sK9Rz+N/nNvejYygY/X'
|
|
12
|
+
b'vdT8anWZoccNY5mmKXhGJhBGP1c/Z1kPZmZbro/8eveh0IAuqCLk3Ka6T9evXV0QS8Riet4x'
|
|
13
|
+
b'Y0NxAxLo2K9Ywa2jE5KIGW+vXlmga5eePvcPhoDAd5vq3qtaVVkQK9S0wBEK4MAU7IJfn9XL'
|
|
14
|
+
b'FABQGtO07Ykyg2j9T8cDCHy0rupQ9cuVhQUF/rBhoFnBT0ZY79GPKoSAUkPTdpTHR1LT1yZS'
|
|
15
|
+
b'rpf8w5rCgv6d9VUFy4p1gWf+DzI2l97c//uD2TlW4xrmwzVry3S9WNedoWJxzAe0R2Q686nn'
|
|
16
|
+
b'P5zOqmWxz2vW8Z07BEoNfX9lRdyQj32IDkK1FYaWxw4/N9w6n6ytKuFAOgTerFhRrOvLNA2W'
|
|
17
|
+
b'BQCWBcsCpdnvkB6Qffi2YezzOuwRAKWJmNG0MiEgsC1RVqRe72VAZSM6v5FWDNbORJxVGKxU'
|
|
18
|
+
b'XVwYI1A1DiTGP3rqZXuCrK3S/sblxeylM+RlLM8JM3EjEctjnkA0ELlCRSzGGjke0GlQZpfH'
|
|
19
|
+
b'Ws6HinCvkOkrPEZIjANquNtLfKp2cXgm+dlRtg3K0hZhLV8Im2oCYQzZbt1Qi3cPYH2NeOWB'
|
|
20
|
+
b'JLdhsqEW77yPDbXRVy3HhieEcuQCY9dG/8N5GAZME+dOYqDXRRIQFPjHXXvw5VfQdWQy+Owg'
|
|
21
|
+
b'bg1HWZGcCt4DogaKTWdzPQwDAHQdR05g1x5Bc2/HubYNTThyAnbGZRjYXK9q67fDQQ19UoFv'
|
|
22
|
+
b'0/lzEGbuvKdpOHICDU1cH/L0oaEJR1vBNk3TxB+DYedSNgScGHITiDT5Robw7dfOJq9pONqK'
|
|
23
|
+
b'hiZx7LJHD3rLwrmTuDUksK9aZ9UeCG/oYg/Odgo4yNru2uNFf7YT/d0RViSfcJOYX6Fkk0/I'
|
|
24
|
+
b'AXBg2Rzsek/bxr0C9HZztfgxUKEHhCTDjITQD417XTp+9Gc60N/tsinLQJViBLznl3MqSQEI'
|
|
25
|
+
b'yULx+IFSDPSCUjH6gV7V0RTcHuLXkRJwb3ICUewPdigfa3M4HGvLKrNKhp6PnPDhKtIJ8oCa'
|
|
26
|
+
b'iceuDYvn0NwOUBA5+jz6dTtB5IEwVymycLL90Nye5UCIs2ZbFr5px8Weed3e+a5z3KsQX1Bv'
|
|
27
|
+
b'6YrO7JyipcOVCNEceo99RaoSDgNPIACnwLS/A6cn6r6zkWR1lgVCsguOXQj0vJuPaA6Ecasn'
|
|
28
|
+
b'2eQLjXvR3O7EPatvbgeA/u6wt3rhJCgblYmM5O59zgQAQC0gl1pn5zTHgZniC2Hm2wKcB4Qk'
|
|
29
|
+
b'PegtC6fbcbrNtcc1t2P3vuABCr2pBa1CkF64ekdFgL4tm1BQipYO19pKqTOhI61Cue6FBCJe'
|
|
30
|
+
b'xHrQM4jgVkwbil3gObR0AL75ELJft+Q7B3jxoz/dlk0umNiPfg59XdJVCL7oDSBAveflrFH1'
|
|
31
|
+
b'CAnR93UJuurrAqU43uniwGLJI2pvREgl1COxe58DyEZ/qjW7GUP0I4jtB57D8U6nPuoGCiDa'
|
|
32
|
+
b'tQp1n9Rq6rxjb6OH8q6zvxunWl3rUksHaupUmZwQj4CAH6Xa6JatYL+D2OjtIAls29fl4qDr'
|
|
33
|
+
b'2LI1YLDkxKIc6nmhFINXkckAgGlm0av1GTjGwb4TyGQweDVCWzcZSTIXuDYDGBnCoQ9Rvw2D'
|
|
34
|
+
b'VzEyFLCD+ut7f8Od29iyNds8ZFufRDkP+Adg+CaGb+aTftuF4ZtZ5godP4bg84CscUhi/tRD'
|
|
35
|
+
b'DWh+Ovleq4SRqJNS1m/IOZC28s1AAzlggX8f4KE6BJKmSf0hlNfmIkWWnx1f23F79QPAh9Do'
|
|
36
|
+
b'zGzGbzeqW8OEzbxt3kjNMICOB65MpNJMNe8DR9TsMoxNHgMhoPTyxCQz4HigZzz5bG4u7K2Y'
|
|
37
|
+
b'bKTDfHhAvIQ5xFA6ZVnd40kBgUnTuvDk+RzPPg8QvLBzsycvimrHTeDnh09SpsPN9ceC69Mz'
|
|
38
|
+
b'H6xckVD82+C/lpRFD1y/NSEjMGFaY5n0W+XxGEQnSVmsL7Zw/R4cvnMpOcm/9A72X6mZQkJ2'
|
|
39
|
+
b'xEuzL4RXKZ5j50JN6CA7398fO3v3kaeRIFoGkimDYPvyksX+g6JXZHdNAIAf7z/+YvS+fwAE'
|
|
40
|
+
b'BCjQ92JyeGa2MV5aopGFD5tAL7ECIQBSpnVw5M6Zu4+F7pPO12tTM7+MjVNCXispdP15zh8G'
|
|
41
|
+
b'MmKB+rJQzLliyrLOP3xy4O/bl5IprxFmTPaCSYmuNZWV7iwr2VhUWBHTY8zRkeI7tKQpHc+Y'
|
|
42
|
+
b'N6ZnLydT3S8m+BVzSZZkMeRfKfKqvGRYJkwAAAAASUVORK5CYII=')
|
|
43
|
+
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#----------------------------------------------------------------------
|
|
2
|
+
# This file was generated by /Users/humberto.a.sanchez.ii/PycharmProjects/code-ally-advanced/pyenv-3.13.9/lib/python3.13/site-packages/wx/tools/img2py.py
|
|
3
|
+
#
|
|
4
|
+
from wx.lib.embeddedimage import PyEmbeddedImage
|
|
5
|
+
|
|
6
|
+
embeddedImage = PyEmbeddedImage(
|
|
7
|
+
b'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAABeklE'
|
|
8
|
+
b'QVQokXWSu0oDURCGv3N2Ywp1Q4x2BjQmMc8gYmXhtdDGR4g+gehLiIUWQhBsLMRGBC0sbbTw'
|
|
9
|
+
b'ho1gEAXFQoJLRFwvZyx2k+zG+DMcZs6cmf/wzyhqsLqzKu7QCuK5Py9l31eAlcq0z5Ws1ABW'
|
|
10
|
+
b'rGUB8P14/r678FO5V4BTPNI9OZ1Io1TQUlAKkTCLfN0cvpUmbJ3Kqu6cctKCQurZxlmDsvNj'
|
|
11
|
+
b'Otlnq7gjqs1I43W4Jgql4o72cyIYgwizBRaH6GwLwiYDNGAMxuA7B7ekHa6KLA3TEQtSdQO0'
|
|
12
|
+
b'RBmqH8zvM7JJr8P1AkvDJOIhEtAIRpo7lSsU9xjdYjTDxnSEwfYZkIiU/UmWR5jMs37K2inG'
|
|
13
|
+
b'1AXHJlQAtMdYGWdqkLUTCqu4XlRosBHEICa4nchz/8rgKu5Hq4ELNp9u+Evbl77gQdgMr6ql'
|
|
14
|
+
b'UjbPFyLyV/WwesZgns7k9c4C5OGYZIGurEhjl+oDDcLnM9mZwXNDrIk+/llvvCrune/+Al+8'
|
|
15
|
+
b'8GU8vhp5AAAAAElFTkSuQmCC')
|
|
16
|
+
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
#----------------------------------------------------------------------
|
|
2
|
+
# This file was generated by /Users/humberto.a.sanchez.ii/PycharmProjects/code-ally-advanced/pyenv-3.13.9/lib/python3.13/site-packages/wx/tools/img2py.py
|
|
3
|
+
#
|
|
4
|
+
from wx.lib.embeddedimage import PyEmbeddedImage
|
|
5
|
+
|
|
6
|
+
embeddedImage = PyEmbeddedImage(
|
|
7
|
+
b'iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAIAAAAlC+aJAAAAA3NCSVQICAjb4U/gAAAGtklE'
|
|
8
|
+
b'QVRoge1aXWxURRT+5v7sTwulGhDB7tKAsUkf/IvQYgsFl4g+8PNgILTEBzEhGh+M+CLoExg1'
|
|
9
|
+
b'Ro3xyQdNQAMSgm9tMaHadkHpJgYSMYQI9IdtagRLLLTAbveOD7u9Ozt3Zu7c3dbEpF82m7tz'
|
|
10
|
+
b'zzlzvnPO/NzZC8xjHhWB+EuEF4Qanjfja8wH6o3IQmpYc+uRk6V3J3Ljg7mRVOaPHnr/jo97'
|
|
11
|
+
b'intGbV10w75Q4xYSqiJ2FKYNwyKEAKAUhIBSjzlSuFWJDKWU0Gk6naV3xzMXTtxNfuFMjAYm'
|
|
12
|
+
b'EGnaE0m8Q8I1RnQRzJCCZ1ACOvLF9lwm98/YVPf++78eFVowBW2GWb3l40jrG0b1Q0a0FoZI'
|
|
13
|
+
b'RgN5V3iHPDL5W+4FL0NMEq21G14kVjg7mPTGQ+Bc1dZPQ4+/ZCxYCiviHyElXIH8hVfebZcJ'
|
|
14
|
+
b'FPq1bCveDMOavtrrQyC85pXIs68ZC5fCDHs7yzvtXnjJCNs5+aAoqJuWXb82d/Nq7s+LJXfZ'
|
|
15
|
+
b'H8aiuoWv9xo1y4hdVU5Xcw9n8sbEJ084E2Nui8HeDrftI+EaYle5oXLrmC1oDjKZStrZDytj'
|
|
16
|
+
b'VC+JrH+L7b1IgIQX2I1bSGSRjL1OBzq6wtLi7LBjg5MJNb1KQtUCAtZjm4ldBTPkOADgOHAc'
|
|
17
|
+
b'UFr41syA7MPq6thnZdyfeQESqbVWbRQRiK0mdlQziuxHFtEKI60IllnfUnTbvSK19dSwoVcS'
|
|
18
|
+
b'QmLsT65dtibIdNX2zSUN7t1iBoxIDTEslEY6KBlhx2WME4gC4V6Q6sWuVjED1DDVK1MZczlb'
|
|
19
|
+
b'KsK1QiavyBghgGELCBQUJOy5DoKiEjtqXYMXlyh7raxejjebsGa5wLp6FtIvFYVNF4LNPZdi'
|
|
20
|
+
b'YTaeWY5THTAJAJwZwQdncWYECL4bVZeK1wfvHsxgbamnOTCbrXXxgvcAWuPo3IXOXWiNBY6u'
|
|
21
|
+
b'kIyOjJiAF7JF56chZJ0SydY4OtsLNMpzTgcqAr5gs3F+DJu+wY+DvAxLg3VatqjpjBP2oyoh'
|
|
22
|
+
b'oYLMKIDzY9h+XEmjHS0xgS5LBkxZVlpCXiEdQwNpbD+OxBEBjXVxdLWjsx2t8ZJ2nb2Qfskx'
|
|
23
|
+
b'BIKkkpNJjWLbd0gcQY+cRkuszDHg9QH6gzjQ4EuNYrucRncHujrQGpfalO1A1fAZxLLdoiwb'
|
|
24
|
+
b'OjS6d6Ml5rN7hfbY8BnEMkd9iQ2kse0YEofFNE7tRtfMEA9ariipoCDTKEdVERUXA6NyGitw'
|
|
25
|
+
b'aje6O/ghrtUv0yLIACRRkbX7ZmxgFFuPInEYPdfENE7uQNTSmr4LCRcScGkFGriQbzc4O+fS'
|
|
26
|
+
b'2HpMTGPzo3j5SZWuwgfmecDPUdaWMEhcu+bhF6voOD6HaN4S8t+NumANccGWncCxEV0bw/51'
|
|
27
|
+
b'SKwUeP/DFRy5oMXTC58HGhlkJIVorsOB9WLX+4fxfj+Sw6U++G3L2WufDAR9APe6vn89Num5'
|
|
28
|
+
b'ziJfS/m1LH8hK0VBBrjalR64KstM7fqhvsIDkE656magoKB9ECsTaK7DgTaV62zUgz7BeVHm'
|
|
29
|
+
b'GBAikOt5yEpFv1wZAp6NHrT/Mmqqw7sy14dwUB51GXyyoR7EnCEoI9FUh/fasGmVQLd/CAd7'
|
|
30
|
+
b'kRzRtVnGJAEdArKoP/UwDibkrvehf0g8m8nsl5cZnxKCJBJPL0PfHtierWA+6v0zBSPU5ZyQ'
|
|
31
|
+
b'ZcCFmliZf/o+t5L3nnOdQ3nloaPLTKMz/zfpzM29g8jRwtFQ3xAO9aJviJdRLIiB5v5ZywAb'
|
|
32
|
+
b'iVQaG75CWz2SwziXDuy0e6Ejw/lAiHwzF2gdGEhjIM3T8174OlShTJnHKjpg7VDJw4pOv2p/'
|
|
33
|
+
b'mDGQy6q37mUs9TqlIpRnffXqOtNZAQHcn6CU/j/+H7h3y73LPFLeGoQzLVPWTKtO2cyCzZuX'
|
|
34
|
+
b'XQ+ZEhpLIZeFrbXQVDJdCgOk1uVKkV4/61pgMnCtx5kc1zwVk0Va58M6xELnZI5SIDtFr50W'
|
|
35
|
+
b'EEDmDi6dIE7GZV+GEyzKONXzBaWgF75GdtJtKXlbhd68RBp3IFIbwOR/CzI96Zzcicxtt6X0'
|
|
36
|
+
b'dZvMbTp1g6x6gRp25TvH2QLbL+3ai5Eke9fzwtNfv8GMkNhaSkzOUWFJYPYGtL+d1Gf05484'
|
|
37
|
+
b'LdHrZCP9MCw80oy5fkGxFLIzpQJSn9PTb3u3+8L34SiGf8L4FbKijVrVs142vllyLwp9ZSdp'
|
|
38
|
+
b'11788qHgYUVCAABw4yJ+/5aAYnEjsSNc2bDQedoSystKsZiK7BTOf0m/34nrSd6Ka01KwIVd'
|
|
39
|
+
b'jRUbEWvBgw2ILoZl59WKzw8zP2cHuSzu3cLfl3H9LIZOszPmPOYxF/gX24ZzByqPCQQAAAAA'
|
|
40
|
+
b'SUVORK5CYII=')
|
|
41
|
+
|
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
|
|
2
|
+
from typing import List
|
|
3
|
+
from typing import cast
|
|
4
|
+
from typing import NewType
|
|
5
|
+
from typing import Callable
|
|
6
|
+
|
|
7
|
+
from logging import Logger
|
|
8
|
+
from logging import getLogger
|
|
9
|
+
|
|
10
|
+
from wx import OK
|
|
11
|
+
from wx import CANCEL
|
|
12
|
+
from wx import ID_ANY
|
|
13
|
+
from wx import CAPTION
|
|
14
|
+
from wx import ID_CANCEL
|
|
15
|
+
from wx import CLOSE_BOX
|
|
16
|
+
from wx import EVT_BUTTON
|
|
17
|
+
from wx import STAY_ON_TOP
|
|
18
|
+
from wx import BORDER_THEME
|
|
19
|
+
|
|
20
|
+
from wx import Size
|
|
21
|
+
from wx import Bitmap
|
|
22
|
+
from wx import Window
|
|
23
|
+
from wx import CommandEvent
|
|
24
|
+
from wx import StaticBitmap
|
|
25
|
+
|
|
26
|
+
from wx import NewIdRef as wxNewIdRef
|
|
27
|
+
|
|
28
|
+
from wx.lib.buttons import ThemedGenBitmapTextButton
|
|
29
|
+
|
|
30
|
+
from wx.lib.sized_controls import SizedDialog
|
|
31
|
+
from wx.lib.sized_controls import SizedPanel
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
from codeallyadvanced.resources.mystic.cancel16 import embeddedImage as cancelButtonImage
|
|
35
|
+
from codeallyadvanced.resources.mystic.next16 import embeddedImage as nextButtonImage
|
|
36
|
+
from codeallyadvanced.resources.mystic.back16 import embeddedImage as backButtonImage
|
|
37
|
+
|
|
38
|
+
from codeallyadvanced.resources.mystic.MageBitMap import embeddedImage as mageImage
|
|
39
|
+
|
|
40
|
+
from codeallyadvanced.ui.mystic.MysticStepBase import MysticStepBase
|
|
41
|
+
|
|
42
|
+
BUTTON_NEXT_TEXT: str = 'Next'
|
|
43
|
+
BUTTON_BACK_TEXT: str = 'Back'
|
|
44
|
+
BUTTON_CANCEL_TEXT: str = 'Cancel'
|
|
45
|
+
BUTTON_FINISH_TEXT: str = 'Finish'
|
|
46
|
+
|
|
47
|
+
MYSTIC_CANCELLED: int = wxNewIdRef()
|
|
48
|
+
MYSTIC_FINISHED: int = wxNewIdRef()
|
|
49
|
+
|
|
50
|
+
MysticBaseSteps = NewType('MysticBaseSteps', List[MysticStepBase])
|
|
51
|
+
|
|
52
|
+
#
|
|
53
|
+
# The mystic passes the step that is currently transitioning
|
|
54
|
+
# It is up to the callback to determine either the next step
|
|
55
|
+
# or the previous step
|
|
56
|
+
ComputeNextStepCallback = Callable[[MysticStepBase], int]
|
|
57
|
+
ComputeBackStepCallback = Callable[[MysticStepBase], int]
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
class Mystic(SizedDialog):
|
|
61
|
+
"""
|
|
62
|
+
This is the dialog that hosts the mystic (aka wizard)
|
|
63
|
+
Peculiarities:
|
|
64
|
+
|
|
65
|
+
* As noted below make the static image large and the dialog stays a fixed size
|
|
66
|
+
* Also, the first page must be the largest for the entire dialog to display
|
|
67
|
+
|
|
68
|
+
"""
|
|
69
|
+
|
|
70
|
+
def __init__(self,
|
|
71
|
+
parent: Window,
|
|
72
|
+
title: str,
|
|
73
|
+
nextCallback: ComputeNextStepCallback | None = None,
|
|
74
|
+
backCallback: ComputeBackStepCallback | None = None,
|
|
75
|
+
bitmap: Bitmap | None = None
|
|
76
|
+
):
|
|
77
|
+
"""
|
|
78
|
+
|
|
79
|
+
Args:
|
|
80
|
+
parent: The parent of the mystic
|
|
81
|
+
title: The mystic title
|
|
82
|
+
nextCallback: If present the mystic calls this method to compute the index
|
|
83
|
+
of the next step
|
|
84
|
+
backCallback: If present the myst calls thsi method to compute the index
|
|
85
|
+
of the previous step
|
|
86
|
+
bitmap: If present the mystic uses this image as the image to present
|
|
87
|
+
during each mystic step. If not present the mystic uses a bland image
|
|
88
|
+
as a place holder
|
|
89
|
+
"""
|
|
90
|
+
|
|
91
|
+
self.logger: Logger = getLogger(__name__)
|
|
92
|
+
|
|
93
|
+
super().__init__(parent=parent, title=title, style=CAPTION | STAY_ON_TOP | CLOSE_BOX)
|
|
94
|
+
|
|
95
|
+
self._nextStepCallback: ComputeNextStepCallback | None = nextCallback
|
|
96
|
+
self._backStepCallback: ComputeBackStepCallback | None = backCallback
|
|
97
|
+
|
|
98
|
+
self._steps: MysticBaseSteps = MysticBaseSteps([])
|
|
99
|
+
self._stepNumber: int = 0 # Used to control navigation
|
|
100
|
+
self._wizardSuccessful: bool = True
|
|
101
|
+
|
|
102
|
+
self._addedStepNumber: int = 0
|
|
103
|
+
|
|
104
|
+
# Outer panel holds buttons and side by side panel
|
|
105
|
+
sizedPanel: SizedPanel = self.GetContentsPane()
|
|
106
|
+
sizedPanel.SetSizerType('vertical')
|
|
107
|
+
sizedPanel.SetSizerProps(border=(["top", "bottom"], 10))
|
|
108
|
+
|
|
109
|
+
self._horizontalPanel: SizedPanel = SizedPanel(parent=sizedPanel, style=BORDER_THEME)
|
|
110
|
+
self._horizontalPanel.SetSizerType('horizontal')
|
|
111
|
+
self._horizontalPanel.SetSizerProps(border=(["top", "bottom", "left", "right"], 20))
|
|
112
|
+
|
|
113
|
+
self._btnCancel: ThemedGenBitmapTextButton = cast(ThemedGenBitmapTextButton, None)
|
|
114
|
+
self._btnNext: ThemedGenBitmapTextButton = cast(ThemedGenBitmapTextButton, None)
|
|
115
|
+
self._btnBack: ThemedGenBitmapTextButton = cast(ThemedGenBitmapTextButton, None)
|
|
116
|
+
|
|
117
|
+
if bitmap is not None:
|
|
118
|
+
self._bitMap: Bitmap = bitmap
|
|
119
|
+
else:
|
|
120
|
+
self._bitMap = mageImage.GetBitmap()
|
|
121
|
+
|
|
122
|
+
# Making the bitmap large seems to keep the dialog a static size
|
|
123
|
+
self._logo: StaticBitmap = StaticBitmap(
|
|
124
|
+
parent=self._horizontalPanel,
|
|
125
|
+
id=ID_ANY,
|
|
126
|
+
bitmap=self._bitMap, # noqa
|
|
127
|
+
size=Size(width=100, height=200)
|
|
128
|
+
)
|
|
129
|
+
self._logo.SetSizerProps(proportion=1, halign='left', valign='center')
|
|
130
|
+
|
|
131
|
+
@property
|
|
132
|
+
def pageContainer(self) -> SizedPanel:
|
|
133
|
+
"""
|
|
134
|
+
Client should parent their mage pages with this panel
|
|
135
|
+
|
|
136
|
+
Returns: The panel that should be the parent of all the mage's pages
|
|
137
|
+
|
|
138
|
+
"""
|
|
139
|
+
return self._horizontalPanel
|
|
140
|
+
|
|
141
|
+
def addMysticStep(self, mysticStep: MysticStepBase):
|
|
142
|
+
"""
|
|
143
|
+
Add a step to the mystic; Add them in the order you want
|
|
144
|
+
to display them
|
|
145
|
+
|
|
146
|
+
Args:
|
|
147
|
+
mysticStep:
|
|
148
|
+
"""
|
|
149
|
+
mysticStep.stepNumber = self._addedStepNumber
|
|
150
|
+
self._steps.append(mysticStep)
|
|
151
|
+
|
|
152
|
+
self._addedStepNumber += 1
|
|
153
|
+
|
|
154
|
+
mysticStep.Hide()
|
|
155
|
+
self.Layout()
|
|
156
|
+
|
|
157
|
+
def runMystic(self):
|
|
158
|
+
|
|
159
|
+
self._layoutWizardButtons(parent=self.GetContentsPane())
|
|
160
|
+
|
|
161
|
+
self._steps[self._stepNumber].Show()
|
|
162
|
+
|
|
163
|
+
self.GetContentsPane().Layout()
|
|
164
|
+
self.Fit()
|
|
165
|
+
self.SetMinSize(self.GetSize())
|
|
166
|
+
|
|
167
|
+
self._btnBack.Disable()
|
|
168
|
+
|
|
169
|
+
ans = self.ShowModal()
|
|
170
|
+
if ans == CANCEL:
|
|
171
|
+
self.logger.info('Cancel pressed')
|
|
172
|
+
return MYSTIC_CANCELLED
|
|
173
|
+
else:
|
|
174
|
+
return MYSTIC_FINISHED
|
|
175
|
+
|
|
176
|
+
# noinspection PyUnusedLocal
|
|
177
|
+
def _onCancel(self, event: CommandEvent):
|
|
178
|
+
self._wizardSuccessful = False
|
|
179
|
+
self.EndModal(CANCEL)
|
|
180
|
+
|
|
181
|
+
# noinspection PyUnusedLocal
|
|
182
|
+
def _onNext(self, event: CommandEvent):
|
|
183
|
+
"""
|
|
184
|
+
Handle indicating that we are on last page, when we go past last page end the dialog
|
|
185
|
+
|
|
186
|
+
Args:
|
|
187
|
+
event:
|
|
188
|
+
"""
|
|
189
|
+
|
|
190
|
+
oldPage: MysticStepBase = self._steps[self._stepNumber]
|
|
191
|
+
if oldPage.validate() is False:
|
|
192
|
+
return # Ugh. short cut out
|
|
193
|
+
|
|
194
|
+
oldPage.Hide()
|
|
195
|
+
if self._nextStepCallback is not None:
|
|
196
|
+
self._stepNumber = self._nextStepCallback(oldPage)
|
|
197
|
+
else:
|
|
198
|
+
self._stepNumber += 1
|
|
199
|
+
|
|
200
|
+
pageCount: int = len(self._steps)
|
|
201
|
+
|
|
202
|
+
if pageCount - 1 == self._stepNumber:
|
|
203
|
+
self._btnNext.SetLabel(BUTTON_FINISH_TEXT)
|
|
204
|
+
elif pageCount == self._stepNumber:
|
|
205
|
+
self.EndModal(OK)
|
|
206
|
+
return # Ugh. short cut out
|
|
207
|
+
|
|
208
|
+
self._btnBack.SetLabel(BUTTON_BACK_TEXT)
|
|
209
|
+
self._btnBack.Enable()
|
|
210
|
+
|
|
211
|
+
newPage: MysticStepBase = self._steps[self._stepNumber]
|
|
212
|
+
newPage.Show()
|
|
213
|
+
self.GetContentsPane().Layout()
|
|
214
|
+
self._resizeMystic()
|
|
215
|
+
|
|
216
|
+
# noinspection PyUnusedLocal
|
|
217
|
+
def _onBack(self, event: CommandEvent):
|
|
218
|
+
|
|
219
|
+
oldPage: MysticStepBase = self._steps[self._stepNumber]
|
|
220
|
+
oldPage.Hide()
|
|
221
|
+
|
|
222
|
+
if self._backStepCallback is not None:
|
|
223
|
+
self._stepNumber = self._backStepCallback(oldPage)
|
|
224
|
+
else:
|
|
225
|
+
self._stepNumber -= 1
|
|
226
|
+
|
|
227
|
+
if self._stepNumber == 0:
|
|
228
|
+
self._btnBack.Disable()
|
|
229
|
+
|
|
230
|
+
newPage: MysticStepBase = self._steps[self._stepNumber]
|
|
231
|
+
newPage.Show()
|
|
232
|
+
|
|
233
|
+
self.GetContentsPane().Layout()
|
|
234
|
+
self._resizeMystic()
|
|
235
|
+
self._btnNext.SetLabel(BUTTON_NEXT_TEXT)
|
|
236
|
+
|
|
237
|
+
def _layoutWizardButtons(self, parent: SizedPanel):
|
|
238
|
+
|
|
239
|
+
buttonPanel: SizedPanel = SizedPanel(parent)
|
|
240
|
+
buttonPanel.SetSizerType('horizontal')
|
|
241
|
+
buttonPanel.SetSizerProps(expand=False, halign='right') # expand False allows aligning right
|
|
242
|
+
|
|
243
|
+
self._btnCancel = ThemedGenBitmapTextButton(buttonPanel, label=BUTTON_CANCEL_TEXT, bitmap=cancelButtonImage.GetBitmap(), id=ID_CANCEL)
|
|
244
|
+
self._btnNext = ThemedGenBitmapTextButton(buttonPanel, label=BUTTON_NEXT_TEXT, bitmap=nextButtonImage.GetBitmap())
|
|
245
|
+
self._btnBack = ThemedGenBitmapTextButton(buttonPanel, label=BUTTON_BACK_TEXT, bitmap=backButtonImage.GetBitmap(),)
|
|
246
|
+
|
|
247
|
+
self._btnCancel.Bind(EVT_BUTTON, self._onCancel)
|
|
248
|
+
self._btnNext.Bind(EVT_BUTTON, self._onNext)
|
|
249
|
+
self._btnBack.Bind(EVT_BUTTON, self._onBack)
|
|
250
|
+
|
|
251
|
+
self._btnNext.SetDefault()
|
|
252
|
+
|
|
253
|
+
def _resizeMystic(self):
|
|
254
|
+
"""
|
|
255
|
+
Run this after each step change and after the step layout
|
|
256
|
+
"""
|
|
257
|
+
self.Fit()
|
|
258
|
+
self.SetMinSize(self.GetSize())
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
|
|
2
|
+
from logging import Logger
|
|
3
|
+
from logging import getLogger
|
|
4
|
+
|
|
5
|
+
from wx.lib.sized_controls import SizedPanel
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class MysticPanel(SizedPanel):
|
|
9
|
+
"""
|
|
10
|
+
Esnures that mystic pages are sized panels
|
|
11
|
+
"""
|
|
12
|
+
def __init__(self, parent: SizedPanel):
|
|
13
|
+
|
|
14
|
+
self.logger: Logger = getLogger(__name__)
|
|
15
|
+
|
|
16
|
+
super().__init__(parent=parent)
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
|
|
2
|
+
from logging import Logger
|
|
3
|
+
from logging import getLogger
|
|
4
|
+
|
|
5
|
+
from wx import ID_ANY
|
|
6
|
+
from wx import FONTFAMILY_SWISS
|
|
7
|
+
from wx import FONTSTYLE_NORMAL
|
|
8
|
+
from wx import FONTWEIGHT_BOLD
|
|
9
|
+
|
|
10
|
+
from wx import Font
|
|
11
|
+
from wx import StaticText
|
|
12
|
+
|
|
13
|
+
from wx.lib.sized_controls import SizedPanel
|
|
14
|
+
|
|
15
|
+
from codeallyadvanced.ui.mystic.MysticPanel import MysticPanel
|
|
16
|
+
|
|
17
|
+
STANDARD_LABEL_FONT_SIZE: int = 12
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class MysticStepBase(MysticPanel):
|
|
21
|
+
|
|
22
|
+
def __init__(self, parent: SizedPanel):
|
|
23
|
+
|
|
24
|
+
self.logger: Logger = getLogger(__name__)
|
|
25
|
+
|
|
26
|
+
super().__init__(parent=parent)
|
|
27
|
+
|
|
28
|
+
self._stepNumber: int = 0
|
|
29
|
+
|
|
30
|
+
@property
|
|
31
|
+
def stepNumber(self) -> int:
|
|
32
|
+
return self._stepNumber
|
|
33
|
+
|
|
34
|
+
@stepNumber.setter
|
|
35
|
+
def stepNumber(self, stepNumber: int):
|
|
36
|
+
self._stepNumber = stepNumber
|
|
37
|
+
|
|
38
|
+
def validate(self) -> bool:
|
|
39
|
+
"""
|
|
40
|
+
|
|
41
|
+
Returns: `True` if all the user entered data is good; Else `False`
|
|
42
|
+
"""
|
|
43
|
+
return True
|
|
44
|
+
|
|
45
|
+
def _createLabel(self, label: str, fontSize: int = STANDARD_LABEL_FONT_SIZE) -> StaticText:
|
|
46
|
+
|
|
47
|
+
staticText: StaticText = StaticText(self, ID_ANY, label)
|
|
48
|
+
|
|
49
|
+
staticText.SetFont(Font(fontSize, FONTFAMILY_SWISS, FONTSTYLE_NORMAL, FONTWEIGHT_BOLD))
|
|
50
|
+
|
|
51
|
+
return staticText
|
|
@@ -6,9 +6,10 @@ from logging import getLogger
|
|
|
6
6
|
|
|
7
7
|
from dataclasses import dataclass
|
|
8
8
|
|
|
9
|
-
from wx import
|
|
10
|
-
from wx import EVT_TEXT
|
|
9
|
+
from wx import Size
|
|
11
10
|
from wx import ID_ANY
|
|
11
|
+
from wx import EVT_TEXT
|
|
12
|
+
from wx import BORDER_THEME
|
|
12
13
|
|
|
13
14
|
from wx import SpinCtrl
|
|
14
15
|
from wx import CommandEvent
|
|
@@ -73,8 +74,8 @@ class DualSpinnerControl(SizedStaticBox):
|
|
|
73
74
|
self._wxSpinner1Id: int = wxNewIdRef()
|
|
74
75
|
|
|
75
76
|
if setControlsSize is True:
|
|
76
|
-
self._spinner0: SpinCtrl = SpinCtrl(self, self._wxSpinner0Id, "", size=(SPINNER_WIDTH, SPINNER_HEIGHT))
|
|
77
|
-
self._spinner1: SpinCtrl = SpinCtrl(self, self._wxSpinner1Id, "", size=(SPINNER_WIDTH, SPINNER_HEIGHT))
|
|
77
|
+
self._spinner0: SpinCtrl = SpinCtrl(self, self._wxSpinner0Id, "", size=Size(SPINNER_WIDTH, SPINNER_HEIGHT))
|
|
78
|
+
self._spinner1: SpinCtrl = SpinCtrl(self, self._wxSpinner1Id, "", size=Size(SPINNER_WIDTH, SPINNER_HEIGHT))
|
|
78
79
|
else:
|
|
79
80
|
self._spinner0 = SpinCtrl(self, self._wxSpinner0Id, "")
|
|
80
81
|
self._spinner1 = SpinCtrl(self, self._wxSpinner1Id, "")
|
|
File without changes
|
|
File without changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: codeallyadvanced
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.4.1
|
|
4
4
|
Summary: Humberto`s Common wxPython UI Stuff
|
|
5
5
|
Author-email: "Humberto A. Sanchez II" <Humberto.A.Sanchez.II@gmail.com>
|
|
6
6
|
Maintainer-email: "Humberto A. Sanchez II" <Humberto.A.Sanchez.II@gmail.com>
|
|
@@ -22,8 +22,8 @@ Requires-Dist: mypy-extensions==1.1.0; extra == "test"
|
|
|
22
22
|
Requires-Dist: types-Deprecated==1.3.1.20251101; extra == "test"
|
|
23
23
|
Requires-Dist: html-testRunner~=1.2.1; extra == "test"
|
|
24
24
|
Provides-Extra: deploy
|
|
25
|
-
Requires-Dist: wheel==0.
|
|
26
|
-
Requires-Dist: setuptools==
|
|
25
|
+
Requires-Dist: wheel==0.44.0; extra == "deploy"
|
|
26
|
+
Requires-Dist: setuptools==70.1.1; extra == "deploy"
|
|
27
27
|
Requires-Dist: twine==6.2.0; extra == "deploy"
|
|
28
28
|
Requires-Dist: build==1.3.0; extra == "deploy"
|
|
29
29
|
Dynamic: license-file
|
|
@@ -75,6 +75,14 @@ src/codeallyadvanced/resources/images/icons/embedded32/UmlText.py
|
|
|
75
75
|
src/codeallyadvanced/resources/images/icons/embedded32/__init__.py
|
|
76
76
|
src/codeallyadvanced/resources/images/icons/embedded32/py.typed
|
|
77
77
|
src/codeallyadvanced/resources/images/icons/sourceimages/__init__.py
|
|
78
|
+
src/codeallyadvanced/resources/mystic/MageBitMap.py
|
|
79
|
+
src/codeallyadvanced/resources/mystic/__init__.py
|
|
80
|
+
src/codeallyadvanced/resources/mystic/back16.py
|
|
81
|
+
src/codeallyadvanced/resources/mystic/back64.py
|
|
82
|
+
src/codeallyadvanced/resources/mystic/cancel16.py
|
|
83
|
+
src/codeallyadvanced/resources/mystic/cancel64.py
|
|
84
|
+
src/codeallyadvanced/resources/mystic/next16.py
|
|
85
|
+
src/codeallyadvanced/resources/mystic/next64.py
|
|
78
86
|
src/codeallyadvanced/resources/umldiagrammer/Embedded16.py
|
|
79
87
|
src/codeallyadvanced/resources/umldiagrammer/Embedded24.py
|
|
80
88
|
src/codeallyadvanced/resources/umldiagrammer/Embedded32.py
|
|
@@ -85,6 +93,10 @@ src/codeallyadvanced/ui/Common.py
|
|
|
85
93
|
src/codeallyadvanced/ui/UnitTestBaseW.py
|
|
86
94
|
src/codeallyadvanced/ui/__init__.py
|
|
87
95
|
src/codeallyadvanced/ui/py.typed
|
|
96
|
+
src/codeallyadvanced/ui/mystic/Mystic.py
|
|
97
|
+
src/codeallyadvanced/ui/mystic/MysticPanel.py
|
|
98
|
+
src/codeallyadvanced/ui/mystic/MysticStepBase.py
|
|
99
|
+
src/codeallyadvanced/ui/mystic/__init__.py
|
|
88
100
|
src/codeallyadvanced/ui/widgets/DialSelector.py
|
|
89
101
|
src/codeallyadvanced/ui/widgets/DimensionsControl.py
|
|
90
102
|
src/codeallyadvanced/ui/widgets/DirectionEnum.py
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__: str = '2.3.0'
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/__init__.py
RENAMED
|
File without changes
|
{codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/folder.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/resources/images/py.typed
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/ui/widgets/DialSelector.py
RENAMED
|
File without changes
|
|
File without changes
|
{codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/ui/widgets/DirectionEnum.py
RENAMED
|
File without changes
|
|
File without changes
|
{codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/ui/widgets/MinMaxControl.py
RENAMED
|
File without changes
|
{codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced/ui/widgets/PositionControl.py
RENAMED
|
File without changes
|
{codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{codeallyadvanced-2.3.0 → codeallyadvanced-2.4.1}/src/codeallyadvanced.egg-info/top_level.txt
RENAMED
|
File without changes
|