kivydk 0.0.6.dev1__tar.gz → 0.10.5.dev1__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.
- {kivydk-0.0.6.dev1/kivydk.egg-info → kivydk-0.10.5.dev1}/PKG-INFO +73 -73
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk/__init__.py +3 -3
- kivydk-0.10.5.dev1/kivydk/__pycache__/__init__.cpython-312.pyc +0 -0
- kivydk-0.10.5.dev1/kivydk/__pycache__/_version.cpython-312.pyc +0 -0
- kivydk-0.10.5.dev1/kivydk/__pycache__/app.cpython-312.pyc +0 -0
- kivydk-0.10.5.dev1/kivydk/__pycache__/logger.cpython-312.pyc +0 -0
- kivydk-0.10.5.dev1/kivydk/__ref/__pycache__/__init__.cpython-312.pyc +0 -0
- kivydk-0.10.5.dev1/kivydk/__ref/__pycache__/window.cpython-312.pyc +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk/_version.py +4 -4
- kivydk-0.10.5.dev1/kivydk/app.py +49 -0
- kivydk-0.10.5.dev1/kivydk/core/__pycache__/__init__.cpython-312.pyc +0 -0
- kivydk-0.10.5.dev1/kivydk/core/mapping/__pycache__/__init__.cpython-312.pyc +0 -0
- kivydk-0.10.5.dev1/kivydk/core/mapping/__pycache__/cursors.cpython-312.pyc +0 -0
- kivydk-0.10.5.dev1/kivydk/core/mapping/__pycache__/icons.cpython-312.pyc +0 -0
- kivydk-0.10.5.dev1/kivydk/core/resources/__pycache__/__init__.cpython-312.pyc +0 -0
- kivydk-0.10.5.dev1/kivydk/core/resources/__pycache__/fonts.cpython-312.pyc +0 -0
- kivydk-0.10.5.dev1/kivydk/debug.py +63 -0
- kivydk-0.10.5.dev1/kivydk/examples/__pycache__/ButtonIcon.cpython-312.pyc +0 -0
- {kivydk-0.0.6.dev1/kivydk/uix → kivydk-0.10.5.dev1/kivydk}/manager/__init__.py +0 -4
- kivydk-0.10.5.dev1/kivydk/manager/__pycache__/__init__.cpython-312.pyc +0 -0
- kivydk-0.10.5.dev1/kivydk/manager/__pycache__/pointer.cpython-312.pyc +0 -0
- kivydk-0.10.5.dev1/kivydk/manager/__pycache__/tooltip.cpython-312.pyc +0 -0
- kivydk-0.10.5.dev1/kivydk/manager/pointer.py +393 -0
- kivydk-0.10.5.dev1/kivydk/manager/tooltip.py +639 -0
- {kivydk-0.0.6.dev1/kivydk/uix/widgets → kivydk-0.10.5.dev1/kivydk/uix}/__init__.py +3 -12
- kivydk-0.10.5.dev1/kivydk/uix/__pycache__/__init__.cpython-312.pyc +0 -0
- kivydk-0.10.5.dev1/kivydk/uix/__pycache__/line_number.cpython-312.pyc +0 -0
- kivydk-0.10.5.dev1/kivydk/uix/__pycache__/tooltip.cpython-312.pyc +0 -0
- kivydk-0.10.5.dev1/kivydk/uix/abc/__init__.py +14 -0
- kivydk-0.10.5.dev1/kivydk/uix/abc/__pycache__/__init__.cpython-312.pyc +0 -0
- kivydk-0.10.5.dev1/kivydk/uix/abc/__pycache__/tooltip.cpython-312.pyc +0 -0
- kivydk-0.10.5.dev1/kivydk/uix/abc/tooltip.py +58 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk/uix/behavior/__init__.py +4 -3
- kivydk-0.10.5.dev1/kivydk/uix/behavior/__pycache__/__init__.cpython-312.pyc +0 -0
- kivydk-0.10.5.dev1/kivydk/uix/behavior/__pycache__/click.cpython-312.pyc +0 -0
- kivydk-0.10.5.dev1/kivydk/uix/behavior/__pycache__/hover.cpython-312.pyc +0 -0
- kivydk-0.10.5.dev1/kivydk/uix/behavior/__pycache__/press.cpython-312.pyc +0 -0
- kivydk-0.10.5.dev1/kivydk/uix/behavior/__pycache__/tooltip.cpython-312.pyc +0 -0
- kivydk-0.10.5.dev1/kivydk/uix/behavior/click.py +136 -0
- kivydk-0.10.5.dev1/kivydk/uix/behavior/hover.py +94 -0
- kivydk-0.10.5.dev1/kivydk/uix/behavior/press.py +85 -0
- kivydk-0.10.5.dev1/kivydk/uix/behavior/tooltip.py +90 -0
- {kivydk-0.0.6.dev1/kivydk/uix/widgets → kivydk-0.10.5.dev1/kivydk/uix}/line_number.py +116 -53
- kivydk-0.10.5.dev1/kivydk/uix/tooltip.py +183 -0
- kivydk-0.10.5.dev1/kivydk/utils/__init__.py +14 -0
- kivydk-0.10.5.dev1/kivydk/utils/__pycache__/__init__.cpython-312.pyc +0 -0
- kivydk-0.10.5.dev1/kivydk/utils/__pycache__/numeric.cpython-312.pyc +0 -0
- kivydk-0.10.5.dev1/kivydk/utils/numeric.py +110 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1/kivydk.egg-info}/PKG-INFO +73 -73
- kivydk-0.10.5.dev1/kivydk.egg-info/SOURCES.txt +86 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/pyproject.toml +1 -1
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/setup.cfg +4 -4
- kivydk-0.0.6.dev1/kivydk/debug.py +0 -74
- kivydk-0.0.6.dev1/kivydk/uix/__init__.py +0 -24
- kivydk-0.0.6.dev1/kivydk/uix/behavior/click.py +0 -77
- kivydk-0.0.6.dev1/kivydk/uix/behavior/hover.py +0 -76
- kivydk-0.0.6.dev1/kivydk/uix/manager/hover.py +0 -79
- kivydk-0.0.6.dev1/kivydk.egg-info/SOURCES.txt +0 -50
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/LICENSE +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/MANIFEST.in +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/README.md +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk/__ref/__init__.py +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk/__ref/window.py +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk/__ref/window_adapter.py +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk/core/__init__.py +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk/core/mapping/__init__.py +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk/core/mapping/cursors.py +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk/core/mapping/icons.py +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk/core/resources/__init__.py +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk/core/resources/fonts.py +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk/data/fonts/JetBrainsMono/JetBrainsMono-Bold.otf +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk/data/fonts/JetBrainsMono/JetBrainsMono-Bold.ttf +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk/data/fonts/JetBrainsMono/JetBrainsMono-BoldItalic.otf +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk/data/fonts/JetBrainsMono/JetBrainsMono-BoldItalic.ttf +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk/data/fonts/JetBrainsMono/JetBrainsMono-Italic.otf +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk/data/fonts/JetBrainsMono/JetBrainsMono-Italic.ttf +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk/data/fonts/JetBrainsMono/JetBrainsMono-Regular.otf +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk/data/fonts/JetBrainsMono/JetBrainsMono-Regular.ttf +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk/data/fonts/JetBrainsMono/LICENSE.txt +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk/data/fonts/MaterialIcons/LICENSE.txt +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk/data/fonts/MaterialIcons/MaterialIcons-Filled.ttf +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk/data/fonts/MaterialIcons/MaterialIcons-Outlined.otf +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk/data/fonts/MaterialIcons/MaterialIcons-Round.otf +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk/data/fonts/MaterialIcons/MaterialIcons-Sharp.otf +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk/data/fonts/MaterialIcons/MaterialIcons-TwoTone.otf +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk/data/fonts/materialdesignicons-webfont.ttf +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk/examples/ButtonIcon.py +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk/examples/debug_objects.py +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk/logger.py +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk/tools/monkey/event.py +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk/tools/monkey/patch.py +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk.egg-info/dependency_links.txt +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk.egg-info/requires.txt +0 -0
- {kivydk-0.0.6.dev1 → kivydk-0.10.5.dev1}/kivydk.egg-info/top_level.txt +0 -0
|
@@ -1,73 +1,73 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: kivydk
|
|
3
|
-
Version: 0.
|
|
4
|
-
Summary: Kivy Desktop Kit — A desktop-focused UI toolkit for Kivy
|
|
5
|
-
Author: ASI
|
|
6
|
-
License: MIT License
|
|
7
|
-
|
|
8
|
-
Copyright (c) 2026 Afanase Ioan (ASI)
|
|
9
|
-
|
|
10
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
11
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
12
|
-
in the Software without restriction, including without limitation the rights
|
|
13
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
14
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
15
|
-
furnished to do so, subject to the following conditions:
|
|
16
|
-
|
|
17
|
-
The above copyright notice and this permission notice shall be included in all
|
|
18
|
-
copies or substantial portions of the Software.
|
|
19
|
-
|
|
20
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
21
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
22
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
23
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
24
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
25
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
26
|
-
SOFTWARE.
|
|
27
|
-
Project-URL: Documentation, https://kmcasi.github.io/KivyDK/
|
|
28
|
-
Project-URL: Source, https://github.com/kmcasi/KivyDK
|
|
29
|
-
Project-URL: Issues, https://github.com/kmcasi/KivyDK/issues
|
|
30
|
-
Keywords: kivy,kivydk,desktop,kit,ui,uix,material
|
|
31
|
-
Classifier: Development Status :: 4 - Beta
|
|
32
|
-
Classifier: Intended Audience :: Developers
|
|
33
|
-
Classifier: Intended Audience :: End Users/Desktop
|
|
34
|
-
Classifier: Intended Audience :: Information Technology
|
|
35
|
-
Classifier: Intended Audience :: Science/Research
|
|
36
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
37
|
-
Classifier: Natural Language :: English
|
|
38
|
-
Classifier: Operating System :: OS Independent
|
|
39
|
-
Classifier: Operating System :: Microsoft :: Windows
|
|
40
|
-
Classifier: Programming Language :: Python :: 3
|
|
41
|
-
Classifier: Programming Language :: Python :: 3 :: Only
|
|
42
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
43
|
-
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
44
|
-
Classifier: Topic :: Artistic Software
|
|
45
|
-
Classifier: Topic :: Games/Entertainment
|
|
46
|
-
Classifier: Topic :: Multimedia :: Graphics :: 3D Rendering
|
|
47
|
-
Classifier: Topic :: Multimedia :: Graphics :: Capture :: Digital Camera
|
|
48
|
-
Classifier: Topic :: Multimedia :: Graphics :: Presentation
|
|
49
|
-
Classifier: Topic :: Multimedia :: Graphics :: Viewers
|
|
50
|
-
Classifier: Topic :: Multimedia :: Sound/Audio :: Players :: MP3
|
|
51
|
-
Classifier: Topic :: Multimedia :: Video :: Display
|
|
52
|
-
Classifier: Topic :: Scientific/Engineering :: Human Machine Interfaces
|
|
53
|
-
Classifier: Topic :: Scientific/Engineering :: Visualization
|
|
54
|
-
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
55
|
-
Classifier: Topic :: Software Development :: User Interfaces
|
|
56
|
-
Requires-Python: >=3.12
|
|
57
|
-
Description-Content-Type: text/markdown
|
|
58
|
-
Requires-Dist: kivy>=2.3.1
|
|
59
|
-
Requires-Dist: Pygments>=2.19.2
|
|
60
|
-
Requires-Dist: pillow>=12.1.0
|
|
61
|
-
Provides-Extra: docs
|
|
62
|
-
Requires-Dist: sphinx; extra == "docs"
|
|
63
|
-
Requires-Dist: sphinx-copybutton; extra == "docs"
|
|
64
|
-
Requires-Dist: sphinx_design; extra == "docs"
|
|
65
|
-
Requires-Dist: sphinx-doclang; extra == "docs"
|
|
66
|
-
Requires-Dist: sphinx-localtoc; extra == "docs"
|
|
67
|
-
Requires-Dist: furo; extra == "docs"
|
|
68
|
-
|
|
69
|
-
# KivyDK — Kivy Desktop Kit
|
|
70
|
-
# WIP - Work in progress
|
|
71
|
-
|
|
72
|
-
KivyDK is a desktop-focused UI toolkit for Kivy, designed to support multi-monitor workflows, editor-inspired widgets, and advanced behaviors like hover, click and bind.
|
|
73
|
-
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: kivydk
|
|
3
|
+
Version: 0.10.5.dev1
|
|
4
|
+
Summary: Kivy Desktop Kit — A desktop-focused UI toolkit for Kivy
|
|
5
|
+
Author: ASI
|
|
6
|
+
License: MIT License
|
|
7
|
+
|
|
8
|
+
Copyright (c) 2026 Afanase Ioan (ASI)
|
|
9
|
+
|
|
10
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
11
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
12
|
+
in the Software without restriction, including without limitation the rights
|
|
13
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
14
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
15
|
+
furnished to do so, subject to the following conditions:
|
|
16
|
+
|
|
17
|
+
The above copyright notice and this permission notice shall be included in all
|
|
18
|
+
copies or substantial portions of the Software.
|
|
19
|
+
|
|
20
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
21
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
22
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
23
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
24
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
25
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
26
|
+
SOFTWARE.
|
|
27
|
+
Project-URL: Documentation, https://kmcasi.github.io/KivyDK/
|
|
28
|
+
Project-URL: Source, https://github.com/kmcasi/KivyDK
|
|
29
|
+
Project-URL: Issues, https://github.com/kmcasi/KivyDK/issues
|
|
30
|
+
Keywords: kivy,kivydk,desktop,kit,ui,uix,material
|
|
31
|
+
Classifier: Development Status :: 4 - Beta
|
|
32
|
+
Classifier: Intended Audience :: Developers
|
|
33
|
+
Classifier: Intended Audience :: End Users/Desktop
|
|
34
|
+
Classifier: Intended Audience :: Information Technology
|
|
35
|
+
Classifier: Intended Audience :: Science/Research
|
|
36
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
37
|
+
Classifier: Natural Language :: English
|
|
38
|
+
Classifier: Operating System :: OS Independent
|
|
39
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
40
|
+
Classifier: Programming Language :: Python :: 3
|
|
41
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
42
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
43
|
+
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
44
|
+
Classifier: Topic :: Artistic Software
|
|
45
|
+
Classifier: Topic :: Games/Entertainment
|
|
46
|
+
Classifier: Topic :: Multimedia :: Graphics :: 3D Rendering
|
|
47
|
+
Classifier: Topic :: Multimedia :: Graphics :: Capture :: Digital Camera
|
|
48
|
+
Classifier: Topic :: Multimedia :: Graphics :: Presentation
|
|
49
|
+
Classifier: Topic :: Multimedia :: Graphics :: Viewers
|
|
50
|
+
Classifier: Topic :: Multimedia :: Sound/Audio :: Players :: MP3
|
|
51
|
+
Classifier: Topic :: Multimedia :: Video :: Display
|
|
52
|
+
Classifier: Topic :: Scientific/Engineering :: Human Machine Interfaces
|
|
53
|
+
Classifier: Topic :: Scientific/Engineering :: Visualization
|
|
54
|
+
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
55
|
+
Classifier: Topic :: Software Development :: User Interfaces
|
|
56
|
+
Requires-Python: >=3.12
|
|
57
|
+
Description-Content-Type: text/markdown
|
|
58
|
+
Requires-Dist: kivy>=2.3.1
|
|
59
|
+
Requires-Dist: Pygments>=2.19.2
|
|
60
|
+
Requires-Dist: pillow>=12.1.0
|
|
61
|
+
Provides-Extra: docs
|
|
62
|
+
Requires-Dist: sphinx; extra == "docs"
|
|
63
|
+
Requires-Dist: sphinx-copybutton; extra == "docs"
|
|
64
|
+
Requires-Dist: sphinx_design; extra == "docs"
|
|
65
|
+
Requires-Dist: sphinx-doclang; extra == "docs"
|
|
66
|
+
Requires-Dist: sphinx-localtoc; extra == "docs"
|
|
67
|
+
Requires-Dist: furo; extra == "docs"
|
|
68
|
+
|
|
69
|
+
# KivyDK — Kivy Desktop Kit
|
|
70
|
+
# WIP - Work in progress
|
|
71
|
+
|
|
72
|
+
KivyDK is a desktop-focused UI toolkit for Kivy, designed to support multi-monitor workflows, editor-inspired widgets, and advanced behaviors like hover, click and bind.
|
|
73
|
+
|
|
@@ -18,8 +18,8 @@ __all__ = ("DIR_ROOT", "DIR_DATA", "DIR_FONTS")
|
|
|
18
18
|
#//|>-----------------------------------------------------------------------------------------------------------------<|
|
|
19
19
|
#//| KivyDK directories
|
|
20
20
|
#//|>-----------------------------------------------------------------------------------------------------------------<|
|
|
21
|
-
from importlib.resources import files
|
|
22
|
-
from importlib.resources.abc import Traversable
|
|
21
|
+
from importlib.resources import files # noqa: E402
|
|
22
|
+
from importlib.resources.abc import Traversable # noqa: E402
|
|
23
23
|
|
|
24
24
|
#: The root directory of the KivyDK package.
|
|
25
25
|
DIR_ROOT: Traversable = files(__name__)
|
|
@@ -43,6 +43,6 @@ _auto_register_fonts(DIR_FONTS)
|
|
|
43
43
|
#//| KivyDK initialization log
|
|
44
44
|
#//|>-----------------------------------------------------------------------------------------------------------------<|
|
|
45
45
|
from kivydk._version import VERSION_STRING # noqa: E402
|
|
46
|
-
from kivydk.logger import Logger
|
|
46
|
+
from kivydk.logger import Logger # noqa: E402
|
|
47
47
|
|
|
48
48
|
Logger.InfoS(version=VERSION_STRING, root_directory=DIR_ROOT)
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -9,8 +9,8 @@ __all__ = (
|
|
|
9
9
|
#//| Version variables
|
|
10
10
|
#//|>--------------------------------------------------------<|
|
|
11
11
|
MAJOR: int = 0
|
|
12
|
-
MINOR: int =
|
|
13
|
-
MICRO: int =
|
|
12
|
+
MINOR: int = 10
|
|
13
|
+
MICRO: int = 5
|
|
14
14
|
VERSION_STRING: str = f"{MAJOR}.{MINOR}.{MICRO}"
|
|
15
15
|
|
|
16
16
|
|
|
@@ -21,9 +21,9 @@ RELEASE: bool = False
|
|
|
21
21
|
|
|
22
22
|
# If is not the stable release, update `VERSION_STRING` to reflect that
|
|
23
23
|
if not RELEASE:
|
|
24
|
-
VERSION_STRING
|
|
24
|
+
VERSION_STRING = f"{VERSION_STRING}.dev{max(1, REVISION)}"
|
|
25
25
|
elif REVISION:
|
|
26
|
-
VERSION_STRING
|
|
26
|
+
VERSION_STRING = f"{VERSION_STRING}.rev{REVISION}"
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
#//| exec'd from setup.py ?
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
#//|>-----------------------------------------------------------------------------------------------------------------<|
|
|
2
|
+
#//| Copyright (c) 25 Sep 2026. All rights are reserved by ASI
|
|
3
|
+
#//|>-----------------------------------------------------------------------------------------------------------------<|
|
|
4
|
+
# noinspection SpellCheckingInspection
|
|
5
|
+
"""
|
|
6
|
+
This module provides the KivyDK-specific :class:`App` implementation responsible for preparing
|
|
7
|
+
and maintaining the runtime environment required by KivyDK. It initializes internal managers,
|
|
8
|
+
registers event systems such as the :class:`PointerManager` and serves as the integration point
|
|
9
|
+
for framework-level features including the settings panel, theme management and tool execution utilities.
|
|
10
|
+
"""
|
|
11
|
+
__all__ = ("App",)
|
|
12
|
+
|
|
13
|
+
#// IMPORT
|
|
14
|
+
from kivy.app import App as App_kivy
|
|
15
|
+
|
|
16
|
+
from kivydk.manager.pointer import PointerManager
|
|
17
|
+
from kivydk.manager.tooltip import TooltipManager
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
#// LOGIC
|
|
21
|
+
class App(App_kivy):
|
|
22
|
+
"""
|
|
23
|
+
KiviDK application class extending Kivy's :class:`~kivy.app.App`.
|
|
24
|
+
|
|
25
|
+
It ensures that KiviDK specific managers are properly initialized and registered with the
|
|
26
|
+
window system, allowing the framework's internal logic such as pointer routing or tooltip
|
|
27
|
+
to operate correctly during the application's lifecycle.
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
def __init__(self, **kwargs) -> None:
|
|
31
|
+
super().__init__(**kwargs)
|
|
32
|
+
|
|
33
|
+
# Private variables
|
|
34
|
+
self.__kdk_pointer_manager: PointerManager = PointerManager()
|
|
35
|
+
self.__kdk_tooltip_manager: TooltipManager = TooltipManager()
|
|
36
|
+
|
|
37
|
+
def _run_prepare(self) -> None:
|
|
38
|
+
""" Prepare the current application for the main loop. """
|
|
39
|
+
super()._run_prepare()
|
|
40
|
+
|
|
41
|
+
self.root_window.register_event_manager(self.__kdk_pointer_manager)
|
|
42
|
+
self.root_window.register_event_manager(self.__kdk_tooltip_manager)
|
|
43
|
+
|
|
44
|
+
def _stop(self, *args) -> None:
|
|
45
|
+
""" Stop the current application by leaving the main loop. """
|
|
46
|
+
self.root_window.unregister_event_manager(self.__kdk_pointer_manager)
|
|
47
|
+
self.root_window.unregister_event_manager(self.__kdk_tooltip_manager)
|
|
48
|
+
|
|
49
|
+
super()._stop(*args)
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
#// IMPORT
|
|
2
|
+
from kivy.uix.button import Button
|
|
3
|
+
from kivy.uix.boxlayout import BoxLayout
|
|
4
|
+
|
|
5
|
+
from kivydk.uix.behavior.tooltip import TooltipBehavior
|
|
6
|
+
from kivydk.uix.tooltip import Tooltip
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
#// LOGIC
|
|
10
|
+
class MyButton(TooltipBehavior, Button):
|
|
11
|
+
pass
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class TestTooltip(BoxLayout):
|
|
15
|
+
def __init__(self, **kwargs):
|
|
16
|
+
super().__init__(spacing=16, size_hint_y=None, height=128, **kwargs)
|
|
17
|
+
|
|
18
|
+
# Default tooltip
|
|
19
|
+
self.add_widget(
|
|
20
|
+
MyButton(
|
|
21
|
+
text="Default tooltip",
|
|
22
|
+
tooltip_text="This is a simple tooltip.",
|
|
23
|
+
)
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
# Tooltip on the cursor position
|
|
27
|
+
self.add_widget(
|
|
28
|
+
MyButton(
|
|
29
|
+
text="Cursor tooltip",
|
|
30
|
+
tooltip_text="Tooltip shown on the cursor side.",
|
|
31
|
+
tooltip_side="cursor",
|
|
32
|
+
)
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
# Custom tooltip widget
|
|
36
|
+
custom_tooltip = Tooltip(
|
|
37
|
+
background_color=[0.2, 0.2, 0.2, 1.0],
|
|
38
|
+
foreground_color=[0.9, 0.9, 0.9, 1.0],
|
|
39
|
+
font_size="24sp",
|
|
40
|
+
size_max=(256, 64)
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
self.add_widget(
|
|
44
|
+
MyButton(
|
|
45
|
+
text="Custom tooltip",
|
|
46
|
+
tooltip_text="This tooltip is interactive and uses a custom widget.",
|
|
47
|
+
tooltip_template=custom_tooltip,
|
|
48
|
+
tooltip_side="left",
|
|
49
|
+
tooltip_interactive=True,
|
|
50
|
+
tooltip_offset="24sp",
|
|
51
|
+
)
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
#// RUN FILE
|
|
56
|
+
if __name__ == "__main__":
|
|
57
|
+
from kivydk.app import App
|
|
58
|
+
|
|
59
|
+
class Example(App):
|
|
60
|
+
def build(self):
|
|
61
|
+
return TestTooltip()
|
|
62
|
+
|
|
63
|
+
Example().run()
|
|
@@ -11,7 +11,3 @@ complex interactions work consistently across the framework without requiring ma
|
|
|
11
11
|
These modules are not intended for direct use. All managers are created and controlled internally by KivyDK
|
|
12
12
|
and developers typically never need to interact with them directly.
|
|
13
13
|
"""
|
|
14
|
-
__all__ = ("HoverManager",)
|
|
15
|
-
|
|
16
|
-
#// IMPORT
|
|
17
|
-
from kivydk.uix.manager.hover import HoverManager
|
|
Binary file
|
|
Binary file
|
|
Binary file
|