Browse Source

Moved old table/tree to 'FancyTable/Tre'

pull/17/head
Eugenio Parodi 4 years ago
parent
commit
baf59d9ac5
  1. 4
      TermTk/TTkTypes/treewidgetitem.py
  2. 5
      TermTk/TTkWidgets/Fancy/__init__.py
  3. 62
      TermTk/TTkWidgets/Fancy/table.py
  4. 16
      TermTk/TTkWidgets/Fancy/tableview.py
  5. 61
      TermTk/TTkWidgets/Fancy/tree.py
  6. 39
      TermTk/TTkWidgets/Fancy/treeview.py
  7. 26
      TermTk/TTkWidgets/Fancy/treewidget.py
  8. 3
      TermTk/TTkWidgets/TTkPickers/__init__.py
  9. 43
      TermTk/TTkWidgets/TTkPickers/filepicker.py
  10. 6
      TermTk/TTkWidgets/__init__.py
  11. 8
      TermTk/TTkWidgets/table.py
  12. 8
      TermTk/TTkWidgets/tree.py
  13. 6
      TermTk/TTkWidgets/treeview.py
  14. 2
      demo/gittk.py
  15. 2
      demo/showcase/table.py
  16. 30
      demo/showcase/tree.py
  17. 6
      tests/test.ui.008.table.py
  18. 24
      tests/test.ui.011.tree.py

4
TermTk/TTkTypes/treewidgetitem.py

@ -27,13 +27,13 @@ from TermTk.TTkCore.constant import TTkK
from TermTk.TTkCore.log import TTkLog
from TermTk.TTkCore.signal import pyTTkSlot, pyTTkSignal
class TTkTreeWidgetItem():
class TtkFancyTreeWidgetItem():
__slots__ = ('_parent', '_data', '_childs', '_expand', '_childIndicatorPolicy',
# Signals
'refreshData')
def __init__(self, *args, **kwargs):
# Signals
self.refreshData = pyTTkSignal(TTkTreeWidgetItem)
self.refreshData = pyTTkSignal(TtkFancyTreeWidgetItem)
self._data = args[0]
self._childs = []
self._childIndicatorPolicy = kwargs.get('childIndicatorPolicy', TTkK.DontShowIndicatorWhenChildless)

5
TermTk/TTkWidgets/Fancy/__init__.py

@ -0,0 +1,5 @@
from .table import *
from .tableview import *
from .tree import *
from .treeview import *
from .treewidget import *

62
TermTk/TTkWidgets/Fancy/table.py

@ -0,0 +1,62 @@
#!/usr/bin/env python3
# MIT License
#
# Copyright (c) 2021 Eugenio Parodi <ceccopierangiolieugenio AT googlemail DOT com>
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
from TermTk.TTkCore.cfg import TTkCfg
from TermTk.TTkCore.constant import TTkK
from TermTk.TTkCore.log import TTkLog
from TermTk.TTkCore.signal import pyTTkSlot, pyTTkSignal
from TermTk.TTkCore.color import TTkColor
from TermTk.TTkWidgets.Fancy.tableview import TtkFancyTableView
from TermTk.TTkLayouts.gridlayout import TTkGridLayout
from TermTk.TTkAbstract.abstractscrollarea import TTkAbstractScrollArea
class TtkFancyTable(TTkAbstractScrollArea):
__slots__ = (
'_tableView', 'activated',
# Forwarded Methods
'setAlignment', 'setHeader', 'setColumnSize', 'setColumnColors', 'appendItem' )
def __init__(self, *args, **kwargs):
TTkAbstractScrollArea.__init__(self, *args, **kwargs)
self._name = kwargs.get('name' , 'TtkFancyTable' )
if 'parent' in kwargs: kwargs.pop('parent')
self._tableView = TtkFancyTableView(*args, **kwargs)
# Forward the signal
self.activated = self._tableView.activated
self.setFocusPolicy(TTkK.ClickFocus)
self.setViewport(self._tableView)
# Forwarded Methods
self.setAlignment = self._tableView.setAlignment
self.setHeader = self._tableView.setHeader
self.setColumnSize = self._tableView.setColumnSize
self.setColumnColors = self._tableView.setColumnColors
self.appendItem = self._tableView.appendItem

16
TermTk/TTkWidgets/tableview.py → TermTk/TTkWidgets/Fancy/tableview.py

@ -31,11 +31,11 @@ from TermTk.TTkWidgets.widget import TTkWidget
from TermTk.TTkLayouts.gridlayout import TTkGridLayout
from TermTk.TTkAbstract.abstractscrollview import TTkAbstractScrollView
class _TTkTableViewHeader(TTkWidget):
class _TtkFancyTableViewHeader(TTkWidget):
__slots__ = ('_header', '_alignments', '_headerColor', '_columns')
def __init__(self, *args, **kwargs):
TTkWidget.__init__(self, *args, **kwargs)
self._name = kwargs.get('name' , '_TTkTableViewHeader' )
self._name = kwargs.get('name' , '_TtkFancyTableViewHeader' )
self._columns = kwargs.get('columns' , [-1] )
self._header = [""]*len(self._columns)
self._alignments = [TTkK.NONE]*len(self._columns)
@ -80,7 +80,7 @@ class _TTkTableViewHeader(TTkWidget):
self._canvas.drawTableLine(pos=(0,0), items=self._header, sizes=sizes, colors=colors, alignments=self._alignments)
class _TTkTableView(TTkAbstractScrollView):
class _TtkFancyTableView(TTkAbstractScrollView):
__slots__ = (
'_alignments', '_headerColor',
'_columns', '_columnColors',
@ -94,7 +94,7 @@ class _TTkTableView(TTkAbstractScrollView):
self._tableDataWidget = []
self._shownWidgets = []
TTkAbstractScrollView.__init__(self, *args, **kwargs)
self._name = kwargs.get('name' , '_TTkTableView' )
self._name = kwargs.get('name' , '_TtkFancyTableView' )
# define signals
self.activated = pyTTkSignal(int) # Value
self.doubleClicked = pyTTkSignal(int) # Value
@ -335,7 +335,7 @@ class _TTkTableView(TTkAbstractScrollView):
colors = [c.modParam(val=-val) for c in self._columnColors]
self._canvas.drawTableLine(pos=(0,y), items=item, sizes=sizes, colors=colors, alignments=self._alignments)
class TTkTableView(TTkAbstractScrollView):
class TtkFancyTableView(TTkAbstractScrollView):
__slots__ = (
'_header', '_tableView', '_showHeader', 'activated',
# Forwarded Methods
@ -344,12 +344,12 @@ class TTkTableView(TTkAbstractScrollView):
def __init__(self, *args, **kwargs):
super().__init__(self, *args, **kwargs)
self._name = kwargs.get('name' , 'TTkTableView' )
self._name = kwargs.get('name' , 'TtkFancyTableView' )
if 'parent' in kwargs: kwargs.pop('parent')
self._showHeader = kwargs.get('showHeader', True)
self.setLayout(TTkGridLayout())
self._tableView = _TTkTableView(*args, **kwargs)
self._header = _TTkTableViewHeader(*args, **kwargs)
self._tableView = _TtkFancyTableView(*args, **kwargs)
self._header = _TtkFancyTableViewHeader(*args, **kwargs)
self.layout().addWidget(self._header,0,0)
self.layout().addWidget(self._tableView,1,0)
# Forward the tableSignals

61
TermTk/TTkWidgets/Fancy/tree.py

@ -0,0 +1,61 @@
#!/usr/bin/env python3
# MIT License
#
# Copyright (c) 2021 Eugenio Parodi <ceccopierangiolieugenio AT googlemail DOT com>
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
from TermTk.TTkCore.cfg import TTkCfg
from TermTk.TTkCore.constant import TTkK
from TermTk.TTkCore.log import TTkLog
from TermTk.TTkCore.signal import pyTTkSlot, pyTTkSignal
from TermTk.TTkCore.color import TTkColor
from TermTk.TTkWidgets.Fancy.treewidget import TtkFancyTreeWidget
from TermTk.TTkLayouts.gridlayout import TTkGridLayout
from TermTk.TTkAbstract.abstractscrollarea import TTkAbstractScrollArea
class TtkFancyTree(TTkAbstractScrollArea):
__slots__ = (
'_treeView', 'activated',
# Forwarded Methods
'setAlignment', 'setHeader', 'setHeaderLabels', 'setColumnSize', 'setColumnColors', 'appendItem', 'addTopLevelItem' )
def __init__(self, *args, **kwargs):
TTkAbstractScrollArea.__init__(self, *args, **kwargs)
self._name = kwargs.get('name' , 'TtkFancyTree' )
if 'parent' in kwargs: kwargs.pop('parent')
self._treeView = TtkFancyTreeWidget(*args, **kwargs)
# Forward the signal
self.activated = self._treeView.activated
self.setFocusPolicy(TTkK.ClickFocus)
self.setViewport(self._treeView)
# Forwarded Methods
self.setAlignment = self._treeView.setAlignment
self.setHeader = self._treeView.setHeader
self.setHeaderLabels = self._treeView.setHeaderLabels
self.setColumnSize = self._treeView.setColumnSize
self.setColumnColors = self._treeView.setColumnColors
self.appendItem = self._treeView.appendItem
self.addTopLevelItem = self._treeView.addTopLevelItem

39
TermTk/TTkWidgets/Fancy/treeview.py

@ -0,0 +1,39 @@
#!/usr/bin/env python3
# MIT License
#
# Copyright (c) 2021 Eugenio Parodi <ceccopierangiolieugenio AT googlemail DOT com>
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
from TermTk.TTkCore.cfg import TTkCfg
from TermTk.TTkCore.constant import TTkK
from TermTk.TTkCore.log import TTkLog
from TermTk.TTkCore.signal import pyTTkSlot, pyTTkSignal
from TermTk.TTkCore.color import TTkColor
from TermTk.TTkWidgets.Fancy.tableview import TtkFancyTableView
class TtkFancyTreeView(TtkFancyTableView):
__slots__ = ( '_header', '_treeView', '_showHeader', 'activated')
def __init__(self, *args, **kwargs):
super().__init__(self, *args, **kwargs)
self._name = kwargs.get('name' , 'TtkFancyTreeView' )
# if 'parent' in kwargs: kwargs.pop('parent')

26
TermTk/TTkWidgets/treewidget.py → TermTk/TTkWidgets/Fancy/treewidget.py

@ -29,9 +29,9 @@ from TermTk.TTkCore.signal import pyTTkSlot, pyTTkSignal
from TermTk.TTkCore.color import TTkColor
from TermTk.TTkWidgets.widget import TTkWidget
from TermTk.TTkWidgets.checkbox import TTkCheckbox
from TermTk.TTkWidgets.tableview import TTkTableView
from TermTk.TTkWidgets.Fancy.tableview import TtkFancyTableView
from TermTk.TTkLayouts.gridlayout import TTkGridLayout
from TermTk.TTkTypes.treewidgetitem import TTkTreeWidgetItem
from TermTk.TTkTypes.treewidgetitem import TtkFancyTreeWidgetItem
class _TTkDisplayedTreeItemControl(TTkCheckbox):
def __init__(self, *args, **kwargs):
@ -51,7 +51,7 @@ class _TTkDisplayedTreeItem(TTkWidget):
def __init__(self, *args, **kwargs):
super().__init__(self, *args, **kwargs)
#Signals
self._clicked = pyTTkSignal(bool, _TTkDisplayedTreeItem, TTkTreeWidgetItem)
self._clicked = pyTTkSignal(bool, _TTkDisplayedTreeItem, TtkFancyTreeWidgetItem)
self._name = kwargs.get('name' , '_TTkDisplayedTreeItem' )
self._depth = kwargs.get('depth' , 0 )
@ -77,13 +77,13 @@ class _TTkDisplayedTreeItem(TTkWidget):
self._canvas.drawText(pos=(self._depth+2, 0), text=self._text)
class TTkTreeWidget(TTkTableView):
class TtkFancyTreeWidget(TtkFancyTableView):
__slots__ = ( '_topLevelItems')
def __init__(self, *args, **kwargs):
super().__init__(self, *args, **kwargs)
self._name = kwargs.get('name' , 'TTkTreeView' )
self._topLevelItems = TTkTreeWidgetItem(None)
self._name = kwargs.get('name' , 'TtkFancyTreeView' )
self._topLevelItems = TtkFancyTreeWidgetItem(None)
self.doubleClicked.connect(self._doubleClickItem)
# if 'parent' in kwargs: kwargs.pop('parent')
@ -120,23 +120,23 @@ class TTkTreeWidget(TTkTableView):
def _doubleClickItem(self, index):
if not (item := self.itemAt(index)): return
if item[0]._isLeaf: return
if not item[0]._treeWidgetItem.expand(): # we need to expand the TtkTreeWidgetItem
if not item[0]._treeWidgetItem.expand(): # we need to expand the TtkFancyTreeWidgetItem
self._expand(item=item[0]._treeWidgetItem, depth=item[0]._depth+1)
else: # we need to shrink the TtkTreeWidgetItem
else: # we need to shrink the TtkFancyTreeWidgetItem
self._shrink(item=item[0]._treeWidgetItem)
@pyTTkSlot(bool, _TTkDisplayedTreeItem, TTkTreeWidgetItem)
@pyTTkSlot(bool, _TTkDisplayedTreeItem, TtkFancyTreeWidgetItem)
def _controlClicked(self, status, widget, item):
TTkLog.debug(f"{status} {widget._name}")
if status: # we need to expand the TtkTreeWidgetItem
if status: # we need to expand the TtkFancyTreeWidgetItem
self._expand(item=item, depth=(widget._depth+1))
else: # we need to shrink the TtkTreeWidgetItem
else: # we need to shrink the TtkFancyTreeWidgetItem
self._shrink(item=item)
def _addTreeWidgetItem(self, item, depth=0, index=-1):
if not isinstance(item, TTkTreeWidgetItem):
raise TypeError("TTkTreeWidgetItem is required in TTkTreeWidget.addTopLevelItem(item)")
if not isinstance(item, TtkFancyTreeWidgetItem):
raise TypeError("TtkFancyTreeWidgetItem is required in TtkFancyTreeWidget.addTopLevelItem(item)")
if item.parent() is None:
self._topLevelItems.addChild(item)
displayedItems = item.data().copy()

3
TermTk/TTkWidgets/TTkPickers/__init__.py

@ -1 +1,2 @@
from .colorpicker import *
from .colorpicker import *
from .filepicker import *

43
TermTk/TTkWidgets/TTkPickers/filepicker.py

@ -0,0 +1,43 @@
#!/usr/bin/env python3
# MIT License
#
# Copyright (c) 2021 Eugenio Parodi <ceccopierangiolieugenio AT googlemail DOT com>
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
from os import walk
from TermTk.TTkWidgets.window import TTkWindow
from TermTk.TTkTypes.treewidgetitem import TtkFancyTreeWidgetItem
class _FileWidgetItem(TtkFancyTreeWidgetItem):
def __init__(self, *args, **kwargs):
TtkFancyTreeWidgetItem.__init__(self, *args, **kwargs)
class TTkFileDialogPicker(TTkWindow):
def __init__(self, *args, **kwargs):
TTkWindow.__init__(self, *args, **kwargs)
self._name = kwargs.get('name' , 'TTkFileDialogPicker' )
'''
for (dirpath, dirnames, filenames) in walk('/tmp'):
print(f"{dirpath} {dirnames} {filenames}")
break
'''

6
TermTk/TTkWidgets/__init__.py

@ -16,14 +16,10 @@ from .window import *
from .tabwidget import *
from .list_ import *
from .listwidget import *
from .table import *
from .tableview import *
from .tree import *
from .treeview import *
from .treewidget import *
from .graph import *
from .menubar import *
from .TTkPickers import *
from .spinbox import *
from .image import TTkImage
from .about import TTkAbout
from .Fancy import *

8
TermTk/TTkWidgets/table.py

@ -27,11 +27,11 @@ from TermTk.TTkCore.constant import TTkK
from TermTk.TTkCore.log import TTkLog
from TermTk.TTkCore.signal import pyTTkSlot, pyTTkSignal
from TermTk.TTkCore.color import TTkColor
from TermTk.TTkWidgets.tableview import TTkTableView
from TermTk.TTkWidgets.Fancy.tableview import TtkFancyTableView
from TermTk.TTkLayouts.gridlayout import TTkGridLayout
from TermTk.TTkAbstract.abstractscrollarea import TTkAbstractScrollArea
class TTkTable(TTkAbstractScrollArea):
class TtkFancyTable(TTkAbstractScrollArea):
__slots__ = (
'_tableView', 'activated',
# Forwarded Methods
@ -42,9 +42,9 @@ class TTkTable(TTkAbstractScrollArea):
def __init__(self, *args, **kwargs):
TTkAbstractScrollArea.__init__(self, *args, **kwargs)
self._name = kwargs.get('name' , 'TTkTable' )
self._name = kwargs.get('name' , 'TtkFancyTable' )
if 'parent' in kwargs: kwargs.pop('parent')
self._tableView = TTkTableView(*args, **kwargs)
self._tableView = TtkFancyTableView(*args, **kwargs)
# Forward the signal
self.activated = self._tableView.activated

8
TermTk/TTkWidgets/tree.py

@ -27,11 +27,11 @@ from TermTk.TTkCore.constant import TTkK
from TermTk.TTkCore.log import TTkLog
from TermTk.TTkCore.signal import pyTTkSlot, pyTTkSignal
from TermTk.TTkCore.color import TTkColor
from TermTk.TTkWidgets.treewidget import TTkTreeWidget
from TermTk.TTkWidgets.Fancy.treewidget import TtkFancyTreeWidget
from TermTk.TTkLayouts.gridlayout import TTkGridLayout
from TermTk.TTkAbstract.abstractscrollarea import TTkAbstractScrollArea
class TTkTree(TTkAbstractScrollArea):
class TtkFancyTree(TTkAbstractScrollArea):
__slots__ = (
'_treeView', 'activated',
# Forwarded Methods
@ -39,9 +39,9 @@ class TTkTree(TTkAbstractScrollArea):
def __init__(self, *args, **kwargs):
TTkAbstractScrollArea.__init__(self, *args, **kwargs)
self._name = kwargs.get('name' , 'TTkTree' )
self._name = kwargs.get('name' , 'TtkFancyTree' )
if 'parent' in kwargs: kwargs.pop('parent')
self._treeView = TTkTreeWidget(*args, **kwargs)
self._treeView = TtkFancyTreeWidget(*args, **kwargs)
# Forward the signal
self.activated = self._treeView.activated

6
TermTk/TTkWidgets/treeview.py

@ -27,13 +27,13 @@ from TermTk.TTkCore.constant import TTkK
from TermTk.TTkCore.log import TTkLog
from TermTk.TTkCore.signal import pyTTkSlot, pyTTkSignal
from TermTk.TTkCore.color import TTkColor
from TermTk.TTkWidgets.tableview import TTkTableView
from TermTk.TTkWidgets.Fancy.tableview import TtkFancyTableView
class TTkTreeView(TTkTableView):
class TtkFancyTreeView(TtkFancyTableView):
__slots__ = ( '_header', '_treeView', '_showHeader', 'activated')
def __init__(self, *args, **kwargs):
super().__init__(self, *args, **kwargs)
self._name = kwargs.get('name' , 'TTkTreeView' )
self._name = kwargs.get('name' , 'TtkFancyTreeView' )
# if 'parent' in kwargs: kwargs.pop('parent')

2
demo/gittk.py

@ -59,7 +59,7 @@ else:
gittk = ttk.TTkWindow(parent=root,pos = (1,1), size=(100,40), title="gittk", border=True, layout=ttk.TTkGridLayout())
gittkVsplitter = ttk.TTkSplitter(parent=gittk, orientation=ttk.TTkK.VERTICAL)
tableCommit = ttk.TTkTable(parent=gittkVsplitter, selectColor=ttk.TTkColor.bg('#882200'))
tableCommit = ttk.TtkFancyTable(parent=gittkVsplitter, selectColor=ttk.TTkColor.bg('#882200'))
gittkHsplitter = ttk.TTkSplitter(parent=gittkVsplitter, orientation=ttk.TTkK.HORIZONTAL)
diffText = ttk.TTkTextEdit(parent=gittkHsplitter)
gittkHsplitter.addWidget(ttk.TTkTestWidgetSizes(border=True, title="Details"),20)

2
demo/showcase/table.py

@ -42,7 +42,7 @@ def demoTable(root=None):
btn1 = ttk.TTkButton(parent=top, maxHeight=3, border=True, text='Add')
btn2 = ttk.TTkButton(parent=top, maxHeight=3, border=True, text='Add Many')
table1 = ttk.TTkTable(parent=frame, selectColor=ttk.TTkColor.bg('#882200'))
table1 = ttk.TtkFancyTable(parent=frame, selectColor=ttk.TTkColor.bg('#882200'))
table1.setColumnSize((5,10,-1,10,20))
table1.setAlignment((

30
demo/showcase/tree.py

@ -40,49 +40,49 @@ def getSentence(a,b):
return " ".join([getWord() for i in range(0,random.randint(a,b))])
def demoTree(root=None):
# tw = ttk.TTkTreeWidget(parent=rootTree1)
tw = ttk.TTkTree(parent=root)
# tw = ttk.TtkFancyTreeWidget(parent=rootTree1)
tw = ttk.TtkFancyTree(parent=root)
tw.setHeaderLabels(["Column 1", "Column 2", "Column 3"])
tw.setColumnSize((20,20,-1))
tw.setColumnSize((-1,20,20))
tw.setColumnColors((
ttk.TTkColor.RST,
ttk.TTkColor.fg('#00dddd', modifier=ttk.TTkColorGradient(increment=-4)),
ttk.TTkColor.fg('#cccc00', modifier=ttk.TTkColorGradient(increment=-2))
))
l1 = ttk.TTkTreeWidgetItem(["String A", "String B", "String C"])
l2 = ttk.TTkTreeWidgetItem(["String AA", "String BB", "String CC"])
l3 = ttk.TTkTreeWidgetItem(["String AAA", "String BBB", "String CCC"])
l4 = ttk.TTkTreeWidgetItem(["String AAAA", "String BBBB", "String CCCC"])
l5 = ttk.TTkTreeWidgetItem(["String AAAAA", "String BBBBB", "String CCCCC"])
l1 = ttk.TtkFancyTreeWidgetItem(["String A", "String B", "String C"])
l2 = ttk.TtkFancyTreeWidgetItem(["String AA", "String BB", "String CC"])
l3 = ttk.TtkFancyTreeWidgetItem(["String AAA", "String BBB", "String CCC"])
l4 = ttk.TtkFancyTreeWidgetItem(["String AAAA", "String BBBB", "String CCCC"])
l5 = ttk.TtkFancyTreeWidgetItem(["String AAAAA", "String BBBBB", "String CCCCC"])
l2.addChild(l5)
for i in range(3):
l1_child = ttk.TTkTreeWidgetItem(["Child A" + str(i), "Child B" + str(i), "Child C" + str(i)])
l1_child = ttk.TtkFancyTreeWidgetItem(["Child A" + str(i), "Child B" + str(i), "Child C" + str(i)])
l1.addChild(l1_child)
for j in range(2):
l2_child = ttk.TTkTreeWidgetItem(["Child AA" + str(j), "Child BB" + str(j), "Child CC" + str(j)])
l2_child = ttk.TtkFancyTreeWidgetItem(["Child AA" + str(j), "Child BB" + str(j), "Child CC" + str(j)])
l2.addChild(l2_child)
for j in range(2):
l3_child = ttk.TTkTreeWidgetItem(["Child AAA" + str(j), "Child BBB" + str(j), "Child CCC" + str(j)])
l3_child = ttk.TtkFancyTreeWidgetItem(["Child AAA" + str(j), "Child BBB" + str(j), "Child CCC" + str(j)])
l3.addChild(l3_child)
for j in range(2):
l4_child = ttk.TTkTreeWidgetItem(["Child AAAA" + str(j), "Child BBBB" + str(j), "Child CCCC" + str(j)])
l4_child = ttk.TtkFancyTreeWidgetItem(["Child AAAA" + str(j), "Child BBBB" + str(j), "Child CCCC" + str(j)])
l4.addChild(l4_child)
for j in range(2):
l5_child = ttk.TTkTreeWidgetItem(["Child AAAAA" + str(j), "Child BBBBB" + str(j), "Child CCCCC" + str(j)])
l5_child = ttk.TtkFancyTreeWidgetItem(["Child AAAAA" + str(j), "Child BBBBB" + str(j), "Child CCCCC" + str(j)])
l5.addChild(l5_child)
l6 = ttk.TTkTreeWidgetItem(["RND", "RND", "RND"], childIndicatorPolicy=ttk.TTkK.ShowIndicator)
l6 = ttk.TtkFancyTreeWidgetItem(["RND", "RND", "RND"], childIndicatorPolicy=ttk.TTkK.ShowIndicator)
def updateChilds(item):
if item.childs(): return
for _ in range(0,random.randint(3,8)):
child = ttk.TTkTreeWidgetItem([getWord(),getWord(),getWord()])
child = ttk.TtkFancyTreeWidgetItem([getWord(),getWord(),getWord()])
if random.randint(0,10)>5:
child.setChildIndicatorPolicy(ttk.TTkK.ShowIndicator)
child.refreshData.connect(updateChilds)

6
tests/test.ui.008.table.py

@ -42,13 +42,13 @@ btn1 = ttk.TTkButton(parent=root, pos=(0,0), size=(5,3), border=True, text='Add'
btn2 = ttk.TTkButton(parent=root, pos=(5,0), size=(10,3), border=True, text='Add Many')
win_table1 = ttk.TTkWindow(parent=root,pos = (3,3), size=(150,40), title="Test Table 1", layout=ttk.TTkHBoxLayout(), border=True)
table1 = ttk.TTkTable(parent=win_table1, selectColor=ttk.TTkColor.bg('#882200'))
table1 = ttk.TtkFancyTable(parent=win_table1, selectColor=ttk.TTkColor.bg('#882200'))
win_table2 = ttk.TTkWindow(parent=root,pos = (15,5), size=(100,30), title="Test Table 2 Default", layout=ttk.TTkHBoxLayout(), border=True)
table2 = ttk.TTkTable(parent=win_table2)
table2 = ttk.TtkFancyTable(parent=win_table2)
win_table3 = ttk.TTkWindow(parent=root,pos = (15,5), size=(130,40), title="Test Table 2 Default", layout=ttk.TTkHBoxLayout(), border=True)
table3 = ttk.TTkTable(parent=win_table3, showHeader=False)
table3 = ttk.TtkFancyTable(parent=win_table3, showHeader=False)
table1.setColumnSize((5,10,-1,10,20))
table1.setAlignment((

24
tests/test.ui.011.tree.py

@ -42,8 +42,8 @@ if fullscreen:
else:
rootTree1 = ttk.TTkWindow(parent=root,pos = (0,0), size=(150,50), title="Test Tree 1", layout=ttk.TTkGridLayout(), border=True)
# tw = ttk.TTkTreeWidget(parent=rootTree1)
tw = ttk.TTkTree(parent=rootTree1)
# tw = ttk.TtkFancyTreeWidget(parent=rootTree1)
tw = ttk.TtkFancyTree(parent=rootTree1)
tw.setHeaderLabels(["Column 1", "Column 2", "Column 3"])
tw.setColumnSize((20,20,-1))
tw.setColumnColors((
@ -51,32 +51,32 @@ tw.setColumnColors((
ttk.TTkColor.fg('#00dddd', modifier=ttk.TTkColorGradient(increment=-4)),
ttk.TTkColor.fg('#cccc00', modifier=ttk.TTkColorGradient(increment=-2))
))
l1 = ttk.TTkTreeWidgetItem(["String A", "String B", "String C"])
l2 = ttk.TTkTreeWidgetItem(["String AA", "String BB", "String CC"])
l3 = ttk.TTkTreeWidgetItem(["String AAA", "String BBB", "String CCC"])
l4 = ttk.TTkTreeWidgetItem(["String AAAA", "String BBBB", "String CCCC"])
l5 = ttk.TTkTreeWidgetItem(["String AAAAA", "String BBBBB", "String CCCCC"])
l1 = ttk.TtkFancyTreeWidgetItem(["String A", "String B", "String C"])
l2 = ttk.TtkFancyTreeWidgetItem(["String AA", "String BB", "String CC"])
l3 = ttk.TtkFancyTreeWidgetItem(["String AAA", "String BBB", "String CCC"])
l4 = ttk.TtkFancyTreeWidgetItem(["String AAAA", "String BBBB", "String CCCC"])
l5 = ttk.TtkFancyTreeWidgetItem(["String AAAAA", "String BBBBB", "String CCCCC"])
l2.addChild(l5)
for i in range(3):
l1_child = ttk.TTkTreeWidgetItem(["Child A" + str(i), "Child B" + str(i), "Child C" + str(i)])
l1_child = ttk.TtkFancyTreeWidgetItem(["Child A" + str(i), "Child B" + str(i), "Child C" + str(i)])
l1.addChild(l1_child)
for j in range(2):
l2_child = ttk.TTkTreeWidgetItem(["Child AA" + str(j), "Child BB" + str(j), "Child CC" + str(j)])
l2_child = ttk.TtkFancyTreeWidgetItem(["Child AA" + str(j), "Child BB" + str(j), "Child CC" + str(j)])
l2.addChild(l2_child)
for j in range(2):
l3_child = ttk.TTkTreeWidgetItem(["Child AAA" + str(j), "Child BBB" + str(j), "Child CCC" + str(j)])
l3_child = ttk.TtkFancyTreeWidgetItem(["Child AAA" + str(j), "Child BBB" + str(j), "Child CCC" + str(j)])
l3.addChild(l3_child)
for j in range(2):
l4_child = ttk.TTkTreeWidgetItem(["Child AAAA" + str(j), "Child BBBB" + str(j), "Child CCCC" + str(j)])
l4_child = ttk.TtkFancyTreeWidgetItem(["Child AAAA" + str(j), "Child BBBB" + str(j), "Child CCCC" + str(j)])
l4.addChild(l4_child)
for j in range(2):
l5_child = ttk.TTkTreeWidgetItem(["Child AAAAA" + str(j), "Child BBBBB" + str(j), "Child CCCCC" + str(j)])
l5_child = ttk.TtkFancyTreeWidgetItem(["Child AAAAA" + str(j), "Child BBBBB" + str(j), "Child CCCCC" + str(j)])
l5.addChild(l5_child)

Loading…
Cancel
Save