From 7f2871368267faed03f36ad3b31fc739fc838bef Mon Sep 17 00:00:00 2001 From: Eugenio Parodi Date: Wed, 2 Jun 2021 14:54:11 +0100 Subject: [PATCH] Used function pointer to forward methods --- TermTk/TTkWidgets/list.py | 22 +++++++++++----------- TermTk/TTkWidgets/table.py | 26 ++++++++++++++------------ TermTk/TTkWidgets/tableview.py | 31 ++++++++++++++----------------- TermTk/TTkWidgets/tree.py | 28 +++++++++++++--------------- 4 files changed, 52 insertions(+), 55 deletions(-) diff --git a/TermTk/TTkWidgets/list.py b/TermTk/TTkWidgets/list.py index a2b26e63..fc89feb7 100644 --- a/TermTk/TTkWidgets/list.py +++ b/TermTk/TTkWidgets/list.py @@ -30,7 +30,11 @@ from TermTk.TTkWidgets.listwidget import TTkListWidget from TermTk.TTkAbstract.abstractscrollarea import TTkAbstractScrollArea class TTkList(TTkAbstractScrollArea): - __slots__ = ('_listView', 'itemClicked', 'textClicked') + __slots__ = ( + '_listView', 'itemClicked', 'textClicked', + # Forwarded Methods + 'addItem', 'setSelectionMode', 'selectedLabels', 'setCurrentRow', 'setCurrentItem' ) + def __init__(self, *args, **kwargs): TTkAbstractScrollArea.__init__(self, *args, **kwargs) self._name = kwargs.get('name' , 'TTkList' ) @@ -41,14 +45,10 @@ class TTkList(TTkAbstractScrollArea): self.textClicked = self._listView.textClicked # self.setFocusPolicy(TTkK.ClickFocus + TTkK.TabFocus) - def addItem(self, *args, **kwargs): - return self._listView.addItem(*args, **kwargs) - def setSelectionMode(self, *args, **kwargs): - return self._listView.setSelectionMode(*args, **kwargs) - def selectedLabels(self, *args, **kwargs): - return self._listView.selectedLabels(*args, **kwargs) - def setCurrentRow(self, *args, **kwargs): - return self._listView.setCurrentRow(*args, **kwargs) - def setCurrentItem(self, *args, **kwargs): - return self._listView.setCurrentItem(*args, **kwargs) + # Forwearded Methods + self.addItem = self._listView.addItem + self.setSelectionMode = self._listView.setSelectionMode + self.selectedLabels = self._listView.selectedLabels + self.setCurrentRow = self._listView.setCurrentRow + self.setCurrentItem = self._listView.setCurrentItem diff --git a/TermTk/TTkWidgets/table.py b/TermTk/TTkWidgets/table.py index b1d26bdf..713fad50 100644 --- a/TermTk/TTkWidgets/table.py +++ b/TermTk/TTkWidgets/table.py @@ -32,7 +32,14 @@ from TermTk.TTkLayouts.gridlayout import TTkGridLayout from TermTk.TTkAbstract.abstractscrollarea import TTkAbstractScrollArea class TTkTable(TTkAbstractScrollArea): - __slots__ = ('_tableView', 'activated') + __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' , 'TTkTable' ) @@ -43,17 +50,12 @@ class TTkTable(TTkAbstractScrollArea): self.setFocusPolicy(TTkK.ClickFocus) self.setViewport(self._tableView) - - def setAlignment(self, *args, **kwargs) : - self._tableView.setAlignment(*args, **kwargs) - def setHeader(self, *args, **kwargs) : - self._tableView.setHeader(*args, **kwargs) - def setColumnSize(self, *args, **kwargs) : - self._tableView.setColumnSize(*args, **kwargs) - def setColumnColors(self, *args, **kwargs): - self._tableView.setColumnColors(*args, **kwargs) - def appendItem(self, *args, **kwargs) : - self._tableView.appendItem(*args, **kwargs) + # 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 diff --git a/TermTk/TTkWidgets/tableview.py b/TermTk/TTkWidgets/tableview.py index 90534ad0..3ab068d3 100644 --- a/TermTk/TTkWidgets/tableview.py +++ b/TermTk/TTkWidgets/tableview.py @@ -311,7 +311,10 @@ class _TTkTableView(TTkAbstractScrollView): self._canvas.drawTableLine(pos=(0,y), items=item, sizes=sizes, colors=colors, alignments=self._alignments) class TTkTableView(TTkAbstractScrollView): - __slots__ = ( '_header', '_tableView', '_showHeader', 'activated') + __slots__ = ( + '_header', '_tableView', '_showHeader', 'activated', + # Forwarded Methods + 'setHeader', 'setColumnColors', 'appendItem', 'indexOf', 'insertItem', 'removeItem', 'removeItemAt', 'removeItemsFrom') def __init__(self, *args, **kwargs): super().__init__(self, *args, **kwargs) @@ -331,6 +334,16 @@ class TTkTableView(TTkAbstractScrollView): if not self._showHeader: self._header.hide() + # Forward Methods + self.setHeader = self._header.setHeader + self.setColumnColors = self._tableView.setColumnColors + self.appendItem = self._tableView.appendItem + self.indexOf = self._tableView.indexOf + self.insertItem = self._tableView.insertItem + self.removeItem = self._tableView.removeItem + self.removeItemAt = self._tableView.removeItemAt + self.removeItemsFrom = self._tableView.removeItemsFrom + @pyTTkSlot(int, int) def viewMoveTo(self, x, y): self._tableView.viewMoveTo(x, y) @@ -347,22 +360,6 @@ class TTkTableView(TTkAbstractScrollView): def setAlignment(self, *args, **kwargs) : self._tableView.setAlignment(*args, **kwargs) self._header.setAlignment(*args, **kwargs) - def setHeader(self, *args, **kwargs) : - self._header.setHeader(*args, **kwargs) def setColumnSize(self, *args, **kwargs) : self._tableView.setColumnSize(*args, **kwargs) self._header.setColumnSize(*args, **kwargs) - def setColumnColors(self, *args, **kwargs): - self._tableView.setColumnColors(*args, **kwargs) - def appendItem(self, *args, **kwargs) : - self._tableView.appendItem(*args, **kwargs) - def indexOf(self, *args, **kwargs) : - return self._tableView.indexOf(*args, **kwargs) - def insertItem(self, *args, **kwargs) : - self._tableView.insertItem(*args, **kwargs) - def removeItem(self, *args, **kwargs) : - self._tableView.removeItem(*args, **kwargs) - def removeItemAt(self, *args, **kwargs) : - self._tableView.removeItemAt(*args, **kwargs) - def removeItemsFrom(self, *args, **kwargs) : - self._tableView.removeItemsFrom(*args, **kwargs) diff --git a/TermTk/TTkWidgets/tree.py b/TermTk/TTkWidgets/tree.py index 2ee60fcd..f427b37c 100644 --- a/TermTk/TTkWidgets/tree.py +++ b/TermTk/TTkWidgets/tree.py @@ -32,7 +32,11 @@ from TermTk.TTkLayouts.gridlayout import TTkGridLayout from TermTk.TTkAbstract.abstractscrollarea import TTkAbstractScrollArea class TTkTree(TTkAbstractScrollArea): - __slots__ = ('_treeView', 'activated') + __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' , 'TTkTree' ) @@ -44,20 +48,14 @@ class TTkTree(TTkAbstractScrollArea): self.setFocusPolicy(TTkK.ClickFocus) self.setViewport(self._treeView) - def setAlignment(self, *args, **kwargs) : - self._treeView.setAlignment(*args, **kwargs) - def setHeader(self, *args, **kwargs) : - self._treeView.setHeader(*args, **kwargs) - def setHeaderLabels(self, *args, **kwargs) : - self._treeView.setHeaderLabels(*args, **kwargs) - def setColumnSize(self, *args, **kwargs) : - self._treeView.setColumnSize(*args, **kwargs) - def setColumnColors(self, *args, **kwargs): - self._treeView.setColumnColors(*args, **kwargs) - def appendItem(self, *args, **kwargs) : - self._treeView.appendItem(*args, **kwargs) - def addTopLevelItem(self, *args, **kwargs) : - self._treeView.addTopLevelItem(*args, **kwargs) + # 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