|
31 | 31 | from TermTk.TTkCore.color import TTkColor, TTkColorGradient |
32 | 32 | from TermTk.TTkCore.signal import pyTTkSlot, pyTTkSignal |
33 | 33 | from TermTk.TTkWidgets.widget import TTkWidget |
34 | | -from TermTk.TTkWidgets.tabwidget import TTkTabWidget, _TTkNewTabWidgetDragData, _TTkTabWidgetDragData |
| 34 | +from TermTk.TTkWidgets.tabwidget import TTkTabWidget, TTkBarType, _TTkNewTabWidgetDragData, _TTkTabWidgetDragData |
35 | 35 | from TermTk.TTkWidgets.splitter import TTkSplitter |
36 | 36 | from TermTk.TTkWidgets.frame import TTkFrame |
37 | 37 | from TermTk.TTkLayouts.gridlayout import TTkGridLayout |
@@ -70,7 +70,7 @@ def _importMenu(self, kt): |
70 | 70 |
|
71 | 71 | def iterWidgets(self): |
72 | 72 | for i in range(self.count()): |
73 | | - yield self.widget(i) |
| 73 | + yield self.widget(i), self.tabButton(i) |
74 | 74 |
|
75 | 75 | def dragEnterEvent(self, evt:TTkDnDEvent) -> bool: |
76 | 76 | TTkLog.debug(f"Drag Enter") |
@@ -122,7 +122,7 @@ def _processDrop(widget, label, orientation, offset): |
122 | 122 | splitter.replaceWidget(index, splitter := TTkSplitter(orientation=orientation)) |
123 | 123 | splitter.addWidget(self) |
124 | 124 | index=offset |
125 | | - splitter.insertWidget(index+offset, kt:=_TTkKodeTab(baseWidget=self._baseWidget, border=self.border(), closable=self.tabsClosable())) |
| 125 | + splitter.insertWidget(index+offset, kt:=_TTkKodeTab(baseWidget=self._baseWidget, border=self.border(), barType=self._barType, closable=self.tabsClosable())) |
126 | 126 | kt._dropEventProxy = self._dropEventProxy |
127 | 127 | kt.addTab(widget,label) |
128 | 128 | if fwold!=(fwnew := self._baseWidget._getFirstWidget()) and fwold._hasMenu(): |
@@ -208,19 +208,22 @@ def paintChildCanvas(self): |
208 | 208 |
|
209 | 209 | class TTkKodeTab(TTkSplitter): |
210 | 210 | __slots__ = ( |
211 | | - '_lastKodeTabWidget', |
| 211 | + '_lastKodeTabWidget', '_barType', |
212 | 212 | # Signals |
213 | 213 | 'currentChanged','tabBarClicked','tabCloseRequested' ) |
214 | 214 |
|
215 | | - def __init__(self, **kwargs) -> None: |
| 215 | + def __init__(self, |
| 216 | + barType:TTkBarType=TTkBarType.NONE, |
| 217 | + **kwargs) -> None: |
216 | 218 | self.currentChanged = pyTTkSignal(TTkTabWidget,int,TTkWidget,object) |
217 | 219 | self.tabBarClicked = pyTTkSignal(TTkTabWidget,int,TTkWidget,object) |
218 | 220 | self.tabCloseRequested = pyTTkSignal(TTkTabWidget,int) |
| 221 | + self._barType = barType |
219 | 222 | super().__init__(**kwargs|{'layout':TTkGridLayout()}) |
220 | 223 | kwargs.pop('parent',None) |
221 | 224 | kwargs.pop('visible',None) |
222 | 225 | # self.layout().addWidget(splitter := TTkSplitter()) |
223 | | - self._lastKodeTabWidget = _TTkKodeTab(baseWidget=self, **kwargs) |
| 226 | + self._lastKodeTabWidget = _TTkKodeTab(baseWidget=self, barType=self._barType, **kwargs) |
224 | 227 | self._lastKodeTabWidget._dropEventProxy = self._dropEventProxy |
225 | 228 | self.addWidget(self._lastKodeTabWidget) |
226 | 229 |
|
|
0 commit comments