From 47f73fc03a5a049ac3e6073dcadc09018b509328 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parodi=2C=20Eugenio=20=F0=9F=8C=B6?= Date: Wed, 7 May 2025 17:23:03 +0100 Subject: [PATCH] chore(kodeTab)!: reworked iterWidget in iterItems --- demo/ttkode.py | 1 + libs/pyTermTk/TermTk/TTkWidgets/kodetab.py | 10 +++++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/demo/ttkode.py b/demo/ttkode.py index a74f6230..8beef640 100755 --- a/demo/ttkode.py +++ b/demo/ttkode.py @@ -114,6 +114,7 @@ def main(): fileTree.fileActivated.connect(_openFile) + @ttk.pyTTkSlot(ttk.TTkTabWidget, int) def _reportClose(tab:ttk.TTkTabWidget, num:int): ttk.TTkLog.debug(f"DEL: {num} - {tab} - {tab.widget(num).text()}") tab.removeTab(num) diff --git a/libs/pyTermTk/TermTk/TTkWidgets/kodetab.py b/libs/pyTermTk/TermTk/TTkWidgets/kodetab.py index cd0bd458..9703222d 100644 --- a/libs/pyTermTk/TermTk/TTkWidgets/kodetab.py +++ b/libs/pyTermTk/TermTk/TTkWidgets/kodetab.py @@ -22,7 +22,7 @@ __all__ = ['TTkKodeTab'] -from typing import Callable +from typing import Callable, Iterator, Tuple from TermTk.TTkCore.constant import TTkK from TermTk.TTkCore.helper import TTkHelper @@ -86,9 +86,9 @@ class _TTkKodeTab(TTkTabWidget): self._tabBarTopLayout.update() kt._tabBarTopLayout.update() - def iterWidgets(self): + def iterItems(self): for i in range(self.count()): - yield self.widget(i), self.tabButton(i) + yield self, i def dragEnterEvent(self, evt:TTkDnDEvent) -> bool: TTkLog.debug(f"Drag Enter") @@ -266,14 +266,14 @@ class TTkKodeTab(TTkSplitter): while type(item:=kt.widget(0)) != _TTkKodeTab: kt = item return item if type(item)==_TTkKodeTab else None - def iterWidgets(self): + def iterItems(self) -> Iterator[Tuple[_TTkKodeTab, int]]: def _iterSplitter(split:TTkSplitter): for i in range(split.count()): _wid = split.widget(i) if issubclass(type(_wid), TTkSplitter): yield from _iterSplitter(_wid) elif issubclass(type(_wid), _TTkKodeTab): - yield from _wid.iterWidgets() + yield from _wid.iterItems() yield from _iterSplitter(self) def setDropEventProxy(self, proxy:Callable) -> None: