Browse Source

Added warning for deprecated TtkWidget -> addWidget/removeWidget

pull/44/head
Eugenio Parodi 4 years ago
parent
commit
c57df6acf0
  1. 10
      TermTk/TTkLayouts/layout.py
  2. 8
      TermTk/TTkWidgets/splitter.py
  3. 40
      TermTk/TTkWidgets/widget.py
  4. 2
      docs/MDNotes/TODO.md

10
TermTk/TTkLayouts/layout.py

@ -231,6 +231,11 @@ class TTkLayout(TTkLayoutItem):
self.parentWidget().update(repaint=True, updateLayout=True)
def addWidget(self, widget):
''' Add a widget to this Layout
:param widget: the widget to be added
:type widget: :class:`~TermTk.TTkWidgets`
'''
self.insertWidget(len(self._items),widget)
def insertWidget(self, index, widget):
@ -244,6 +249,11 @@ class TTkLayout(TTkLayoutItem):
self._zSortItems()
def removeWidget(self, widget):
''' Remove a widget from this Layout
:param widget: the widget to be removed
:type widget: :class:`~TermTk.TTkWidgets`
'''
for item in self._items:
if item.layoutItemType == TTkK.WidgetItem and \
item.widget() == widget:

8
TermTk/TTkWidgets/splitter.py

@ -50,15 +50,15 @@ class TTkSplitter(TTkFrame):
self._splitterInitialized = True
class _SplitterLayout(TTkLayout):
def addWidget(s, *args, **kwargs):
TTkLayout.addWidget(s, *args, **kwargs)
self._addWidget(*args, **kwargs)
def addWidget(s, widget, size=None):
TTkLayout.addWidget(s, widget)
self._addWidget(size)
self.setLayout(_SplitterLayout())
def orientation(self):
return self._orientation
def _addWidget(self, widget, size=None):
def _addWidget(self, size=None):
_,_,w,h = self.geometry()
if self.border():
w-=2

40
TermTk/TTkWidgets/widget.py

@ -159,6 +159,38 @@ class TTkWidget(TMouseEvents,TKeyEvents, TDragEvents):
def widgetItem(self): return self._widgetItem
def addWidget(self, widget):
'''
.. warning::
Method Deprecated,
use :class:`TTkWidget` -> :class:`~TermTk.TTkWidgets.widget.TTkWidget.layout` -> :class:`~TermTk.TTkLayouts.layout.TTkLayout.addWidget`
i.e.
.. code:: python
parentWidget.layout().addWidget(childWidget)
'''
TTkLog.error("<TTkWidget>.addWidget(...) is deprecated, use <TTkWidget>.layout().addWidget(...)")
if self.layout(): self.layout().addWidget(widget)
def removeWidget(self, widget):
'''
.. warning::
Method Deprecated,
use :class:`TTkWidget` -> :class:`~TermTk.TTkWidgets.widget.TTkWidget.layout` -> :class:`~TermTk.TTkLayouts.layout.TTkLayout.removeWidget`
i.e.
.. code:: python
parentWidget.layout().removeWidget(childWidget)
'''
TTkLog.error("<TTkWidget>.removeWidget(...) is deprecated, use <TTkWidget>.layout().removeWidget(...)")
if self.layout(): self.layout().removeWidget(widget)
def paintEvent(self):
'''
Paint Event callback,
@ -383,7 +415,13 @@ class TTkWidget(TMouseEvents,TKeyEvents, TDragEvents):
#self.layout().setParent(self)
self.update(repaint=True, updateLayout=True)
def layout(self): return self._layout.itemAt(0)
def layout(self):
''' Get the layout
:return: The layout used
:rtype: :class:`TTkLayout` or derived
'''
return self._layout.itemAt(0)
def rootLayout(self): return self._layout
def setParent(self, parent):

2
docs/MDNotes/TODO.md

@ -64,7 +64,7 @@
- [x] Add Grid Layout
- [x] Add ColSpan / RowSpan
- [x] Get rid of groupMoveTo
- [ ] Get rid of addWidget
- [x] Get rid of addWidget
### AbstractScrollArea
- [x] Implement something that mimic the QAbstactScrollArea

Loading…
Cancel
Save