psiutils 0.1.68__tar.gz → 0.1.69__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.
- {psiutils-0.1.68 → psiutils-0.1.69}/PKG-INFO +13 -6
- {psiutils-0.1.68 → psiutils-0.1.69}/pyproject.toml +13 -6
- psiutils-0.1.69/src/psiutils/_version.py +1 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/buttons.py +4 -2
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/menus.py +10 -1
- psiutils-0.1.68/src/psiutils/_version.py +0 -1
- {psiutils-0.1.68 → psiutils-0.1.69}/README.md +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/__init__.py +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/_about_frame.py +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/constants.py +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/drag_manager.py +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/errors.py +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/icecream_init.py +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/icons/build.png +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/icons/cancel.png +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/icons/code.png +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/icons/compare.png +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/icons/copy_clipboard.png +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/icons/copy_docs.png +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/icons/delete.png +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/icons/diff.png +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/icons/done.png +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/icons/edit.png +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/icons/gear.png +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/icons/new.png +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/icons/next.png +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/icons/open.png +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/icons/pause.png +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/icons/preferences.png +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/icons/previous.png +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/icons/process.png +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/icons/redo.png +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/icons/refresh.png +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/icons/rename.png +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/icons/report.png +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/icons/reset.png +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/icons/save.png +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/icons/send.png +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/icons/start.png +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/icons/update.png +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/icons/upgrade.png +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/icons/windows.png +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/images/icon-error.png +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/images/icon-info.png +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/images/icon-query.png +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/known_paths.py +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/messagebox.py +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/text.py +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/treeview.py +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/utilities.py +0 -0
- {psiutils-0.1.68 → psiutils-0.1.69}/src/psiutils/widgets.py +0 -0
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: psiutils
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.69
|
|
4
4
|
Summary: Various TKinter utilities.
|
|
5
5
|
Author: Jeff
|
|
6
6
|
Author-email: Jeff <<jeffwatkins2000@gmail.com>>
|
|
7
|
-
Requires-Dist:
|
|
8
|
-
Requires-Dist:
|
|
9
|
-
Requires-Dist:
|
|
10
|
-
Requires-Dist:
|
|
11
|
-
Requires-Dist:
|
|
7
|
+
Requires-Dist: iniconfig>=2.1.0
|
|
8
|
+
Requires-Dist: markdown>=3.8.2
|
|
9
|
+
Requires-Dist: packaging>=25.0
|
|
10
|
+
Requires-Dist: pillow>=11.3.0
|
|
11
|
+
Requires-Dist: pluggy>=1.6.0
|
|
12
|
+
Requires-Dist: psi-toml>=0.0.12
|
|
13
|
+
Requires-Dist: psiconfig>=0.0.14
|
|
14
|
+
Requires-Dist: pygments>=2.19.2
|
|
15
|
+
Requires-Dist: tkinterweb>=4.4.4
|
|
16
|
+
Requires-Dist: tkinterweb-tkhtml>=1.1.1
|
|
17
|
+
Requires-Dist: tomli>=2.2.1
|
|
18
|
+
Requires-Dist: tomli-w>=1.2.0
|
|
12
19
|
Requires-Python: ==3.13.*
|
|
13
20
|
Description-Content-Type: text/markdown
|
|
14
21
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "psiutils"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.69"
|
|
4
4
|
description = "Various TKinter utilities."
|
|
5
5
|
authors = [{name = "Jeff", "email" = "<jeffwatkins2000@gmail.com>"}]
|
|
6
6
|
requires-python = '==3.13.*'
|
|
@@ -9,11 +9,18 @@ readme = "README.md"
|
|
|
9
9
|
include = ["HISTORY.md", "src/psiutils/icons/*.png"]
|
|
10
10
|
|
|
11
11
|
dependencies = [
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
12
|
+
"iniconfig>=2.1.0",
|
|
13
|
+
"markdown>=3.8.2",
|
|
14
|
+
"packaging>=25.0",
|
|
15
|
+
"pillow>=11.3.0",
|
|
16
|
+
"pluggy>=1.6.0",
|
|
17
|
+
"psi-toml>=0.0.12",
|
|
18
|
+
"psiconfig>=0.0.14",
|
|
19
|
+
"pygments>=2.19.2",
|
|
20
|
+
"tkinterweb>=4.4.4",
|
|
21
|
+
"tkinterweb-tkhtml>=1.1.1",
|
|
22
|
+
"tomli>=2.2.1",
|
|
23
|
+
"tomli-w>=1.2.0",
|
|
17
24
|
]
|
|
18
25
|
|
|
19
26
|
[dependency-groups]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = '0.1.69'
|
|
@@ -21,9 +21,9 @@ class IconButton(ttk.Frame):
|
|
|
21
21
|
dimmable: bool = False,
|
|
22
22
|
icon_path: str = '',
|
|
23
23
|
**kwargs):
|
|
24
|
-
super().__init__(master, borderwidth=1, relief=
|
|
24
|
+
super().__init__(master, borderwidth=1, relief='raised', **kwargs)
|
|
25
25
|
self.command = command
|
|
26
|
-
self._state =
|
|
26
|
+
self._state = tk.NORMAL
|
|
27
27
|
self.text = button_text
|
|
28
28
|
self.icon = icon
|
|
29
29
|
|
|
@@ -74,6 +74,8 @@ class IconButton(ttk.Frame):
|
|
|
74
74
|
event.widget.winfo_toplevel().config(cursor=HAND)
|
|
75
75
|
|
|
76
76
|
def _on_click(self, *args):
|
|
77
|
+
if self._state == tk.DISABLED:
|
|
78
|
+
return
|
|
77
79
|
if self.command:
|
|
78
80
|
self.command()
|
|
79
81
|
|
|
@@ -12,8 +12,9 @@ class Menu(tk.Menu):
|
|
|
12
12
|
super().__init__(root)
|
|
13
13
|
self.menu_items = menu_items
|
|
14
14
|
for menu_item in menu_items:
|
|
15
|
+
menu_item.menu = self
|
|
15
16
|
self.add_command(label=menu_item.text, command=menu_item.command,
|
|
16
|
-
underline=
|
|
17
|
+
underline=menu_item.underline,)
|
|
17
18
|
|
|
18
19
|
def enable(self, enable: bool = True) -> None:
|
|
19
20
|
enable_menu_items(self, self.menu_items, enable)
|
|
@@ -32,8 +33,10 @@ class MenuItem():
|
|
|
32
33
|
self.command: object = command
|
|
33
34
|
self.dimmable = dimmable
|
|
34
35
|
self.underline = None
|
|
36
|
+
self.menu = None
|
|
35
37
|
|
|
36
38
|
if 'disabled' in kwargs and kwargs['disabled']:
|
|
39
|
+
self.state = tk.DISABLED
|
|
37
40
|
self.disable()
|
|
38
41
|
if 'underline' in kwargs:
|
|
39
42
|
self.underline = kwargs['underline']
|
|
@@ -41,6 +44,12 @@ class MenuItem():
|
|
|
41
44
|
def __repr__(self) -> str:
|
|
42
45
|
return f'MenuItem: {self.text}'
|
|
43
46
|
|
|
47
|
+
def enable(self) -> None:
|
|
48
|
+
enable_menu_items(self.menu, [self], True)
|
|
49
|
+
|
|
50
|
+
def disable(self) -> None:
|
|
51
|
+
enable_menu_items(self.menu, [self], False)
|
|
52
|
+
|
|
44
53
|
|
|
45
54
|
def enable_menu_items(menu: Menu, menu_items: list, enable: bool) -> None:
|
|
46
55
|
state = tk.NORMAL if enable else tk.DISABLED
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = '0.1.68'
|
|
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
|