2222
2323__all__ = ['TTkFileTree' ]
2424
25+ from TermTk .TTkCore .constant import TTkK
26+ from TermTk .TTkCore .string import TTkString
27+ from TermTk .TTkCore .signal import pyTTkSlot , pyTTkSignal
2528from TermTk .TTkWidgets .TTkModelView .tree import TTkTree
2629from TermTk .TTkWidgets .TTkModelView .filetreewidget import TTkFileTreeWidget
30+ from TermTk .TTkWidgets .TTkModelView .treewidgetitem import TTkTreeWidgetItem
31+ from TermTk .TTkAbstract .abstractscrollarea import _ForwardData
2732
2833class TTkFileTree (TTkTree ):
2934 __doc__ = '''
3035 :py:class:`TTkFileTree` is a container widget which place :py:class:`TTkFileTreeWidget` in a scrolling area with on-demand scroll bars.
3136
3237 ''' + TTkFileTreeWidget .__doc__
3338
34- __slots__ = tuple (
35- ['_fileTreeWidget' ] +
36- (_forwardedSignals := [# Forwarded Signals from TTkFileTreeWidget
37- * TTkTree ._forwardedSignals ,
38- 'fileClicked' , 'folderClicked' , 'fileDoubleClicked' , 'folderDoubleClicked' , 'fileActivated' , 'folderActivated' ]) +
39- (_forwardedMethods := [# Forwarded Methods From TTkTreeWidget
40- * TTkTree ._forwardedMethods ,
41- 'openPath' , 'getOpenPath' ,
42- 'setFilter' ])
39+ _ttk_forward = _ForwardData (
40+ forwardClass = TTkFileTreeWidget ,
41+ instance = "self._fileTreeWidget" ,
42+ signals = [# Forwarded Signals from TTkFileTreeWidget
43+ * TTkTree ._ttk_forward .signals ,
44+ 'fileClicked' , 'folderClicked' , 'fileDoubleClicked' , 'folderDoubleClicked' , 'fileActivated' , 'folderActivated' ],
45+ methods = [# Forwarded Methods From TTkTreeWidget
46+ * TTkTree ._ttk_forward .methods ,
47+ 'openPath' , 'getOpenPath' ,
48+ 'setFilter' ]
4349 )
44- _forwardWidget = TTkFileTreeWidget
50+
51+ __slots__ = ('_fileTreeWidget' , * _ttk_forward .signals )
4552
4653 def __init__ (self , ** kwargs ) -> None :
4754 wkwargs = kwargs .copy ()
@@ -51,5 +58,140 @@ def __init__(self, **kwargs) -> None:
5158
5259 super ().__init__ (** kwargs , treeWidget = self ._fileTreeWidget )
5360
54- for _attr in self ._forwardedSignals + self . _forwardedMethods :
61+ for _attr in self ._ttk_forward . signals :
5562 setattr (self ,_attr ,getattr (self ._fileTreeWidget ,_attr ))
63+
64+ #--FORWARD-AUTOGEN-START--#
65+ def setHeaderLabels (self , labels :TTkString ) -> None :
66+ '''
67+ .. seealso:: this method is forwarded to :py:meth:`TTkFileTreeWidget.setHeaderLabels`
68+
69+ setHeaderLabels
70+ '''
71+ return self ._fileTreeWidget .setHeaderLabels (labels = labels )
72+ def setColumnWidth (self , column :int , width : int ) -> None :
73+ '''
74+ .. seealso:: this method is forwarded to :py:meth:`TTkFileTreeWidget.setColumnWidth`
75+
76+ setColumnWidth
77+ '''
78+ return self ._fileTreeWidget .setColumnWidth (column = column , width = width )
79+ def resizeColumnToContents (self , column :int ) -> None :
80+ '''
81+ .. seealso:: this method is forwarded to :py:meth:`TTkFileTreeWidget.resizeColumnToContents`
82+
83+ resizeColumnToContents
84+ '''
85+ return self ._fileTreeWidget .resizeColumnToContents (column = column )
86+ def sortColumn (self ):
87+ '''
88+ .. seealso:: this method is forwarded to :py:meth:`TTkFileTreeWidget.sortColumn`
89+
90+ Returns the column used to sort the contents of the widget.
91+ '''
92+ return self ._fileTreeWidget .sortColumn ()
93+ def sortItems (self , col :int , order :TTkK .SortOrder ) -> None :
94+ '''
95+ .. seealso:: this method is forwarded to :py:meth:`TTkFileTreeWidget.sortItems`
96+
97+ Sorts the items in the widget in the specified order by the values in the given column.
98+ '''
99+ return self ._fileTreeWidget .sortItems (col = col , order = order )
100+ def dragDropMode (self ):
101+ '''
102+ .. seealso:: this method is forwarded to :py:meth:`TTkFileTreeWidget.dragDropMode`
103+
104+ dragDropMode
105+ '''
106+ return self ._fileTreeWidget .dragDropMode ()
107+ def setDragDropMode (self , dndMode ):
108+ '''
109+ .. seealso:: this method is forwarded to :py:meth:`TTkFileTreeWidget.setDragDropMode`
110+
111+ setDragDropMode
112+ '''
113+ return self ._fileTreeWidget .setDragDropMode (dndMode = dndMode )
114+ @pyTTkSlot ()
115+ def expandAll (self ) -> None :
116+ '''
117+ .. seealso:: this method is forwarded to :py:meth:`TTkFileTreeWidget.expandAll`
118+
119+ expandAll
120+ '''
121+ return self ._fileTreeWidget .expandAll ()
122+ @pyTTkSlot ()
123+ def collapseAll (self ) -> None :
124+ '''
125+ .. seealso:: this method is forwarded to :py:meth:`TTkFileTreeWidget.collapseAll`
126+
127+ collapseAll
128+ '''
129+ return self ._fileTreeWidget .collapseAll ()
130+ def addTopLevelItem (self , item :TTkTreeWidgetItem ) -> None :
131+ '''
132+ .. seealso:: this method is forwarded to :py:meth:`TTkFileTreeWidget.addTopLevelItem`
133+
134+ addTopLevelItem
135+ '''
136+ return self ._fileTreeWidget .addTopLevelItem (item = item )
137+ def addTopLevelItems (self , items :TTkTreeWidgetItem ) -> None :
138+ '''
139+ .. seealso:: this method is forwarded to :py:meth:`TTkFileTreeWidget.addTopLevelItems`
140+
141+ addTopLevelItems
142+ '''
143+ return self ._fileTreeWidget .addTopLevelItems (items = items )
144+ def takeTopLevelItem (self , index ) -> None :
145+ '''
146+ .. seealso:: this method is forwarded to :py:meth:`TTkFileTreeWidget.takeTopLevelItem`
147+
148+ takeTopLevelItem
149+ '''
150+ return self ._fileTreeWidget .takeTopLevelItem (index = index )
151+ def topLevelItem (self , index ) -> TTkTreeWidgetItem :
152+ '''
153+ .. seealso:: this method is forwarded to :py:meth:`TTkFileTreeWidget.topLevelItem`
154+
155+ topLevelItem
156+ '''
157+ return self ._fileTreeWidget .topLevelItem (index = index )
158+ def indexOfTopLevelItem (self , item :TTkTreeWidgetItem ) -> int :
159+ '''
160+ .. seealso:: this method is forwarded to :py:meth:`TTkFileTreeWidget.indexOfTopLevelItem`
161+
162+ indexOfTopLevelItem
163+ '''
164+ return self ._fileTreeWidget .indexOfTopLevelItem (item = item )
165+ def selectedItems (self ) -> list [TTkTreeWidgetItem ]:
166+ '''
167+ .. seealso:: this method is forwarded to :py:meth:`TTkFileTreeWidget.selectedItems`
168+
169+ selectedItems
170+ '''
171+ return self ._fileTreeWidget .selectedItems ()
172+ def clear (self ) -> None :
173+ '''
174+ .. seealso:: this method is forwarded to :py:meth:`TTkFileTreeWidget.clear`
175+
176+ clear
177+ '''
178+ return self ._fileTreeWidget .clear ()
179+ def openPath (self , path ):
180+ '''
181+ .. seealso:: this method is forwarded to :py:meth:`TTkFileTreeWidget.openPath`
182+
183+ '''
184+ return self ._fileTreeWidget .openPath (path = path )
185+ def getOpenPath (self ):
186+ '''
187+ .. seealso:: this method is forwarded to :py:meth:`TTkFileTreeWidget.getOpenPath`
188+
189+ '''
190+ return self ._fileTreeWidget .getOpenPath ()
191+ def setFilter (self , filter ):
192+ '''
193+ .. seealso:: this method is forwarded to :py:meth:`TTkFileTreeWidget.setFilter`
194+
195+ '''
196+ return self ._fileTreeWidget .setFilter (filter = filter )
197+ #--FORWARD-AUTOGEN-END--#
0 commit comments