Browse Source

Renamed DomTree to TomTree

pull/95/head
Eugenio Parodi 3 years ago
parent
commit
d889773e2b
  1. 2
      TermTk/TTkTestWidgets/__init__.py
  2. 23
      TermTk/TTkTestWidgets/tominspector.py
  3. 9
      TermTk/TTkWidgets/combobox.py
  4. 10
      demo/demo.py

2
TermTk/TTkTestWidgets/__init__.py

@ -3,4 +3,4 @@ from .testwidget import TTkTestWidget
from .testwidgetsizes import TTkTestWidgetSizes
from .testabstractscroll import TTkTestAbstractScrollWidget
from .keypressview import TTkKeyPressView
from .domtreeview import TTkDomTreeView
from .tominspector import TTkTomInspector

23
TermTk/TTkTestWidgets/domtreeview.py → TermTk/TTkTestWidgets/tominspector.py

@ -142,7 +142,7 @@ class _TTkDomTreeWidgetItem(TTkTreeWidgetItem):
def domWidget(self):
return self._domWidget
class TTkDomTreeView(TTkWidget):
class TTkTomInspector(TTkWidget):
__slots__ = ('_domTree','_detail','_splitter')
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
@ -152,7 +152,7 @@ class TTkDomTreeView(TTkWidget):
self._domTree = TTkTree()
self._domTree.setHeaderLabels(["Object", "Class", "Visibility", "Layout"])
self._domTree.addTopLevelItem(TTkDomTreeView._getDomTreeItem(TTkHelper._rootWidget._widgetItem))
self._domTree.addTopLevelItem(TTkTomInspector._getTomTreeItem(TTkHelper._rootWidget._widgetItem))
self._detail = TTkFrame()
@ -193,12 +193,12 @@ class TTkDomTreeView(TTkWidget):
# Skip the mouse event if outside this widget
if wx <= x < wx+ww and wy <= y < wy+wh:
wevt = evt.clone(pos=(x-wx, y-wy))
return TTkDomTreeView._findWidget(wevt,widget.rootLayout())
return TTkTomInspector._findWidget(wevt,widget.rootLayout())
continue
elif item.layoutItemType == TTkK.LayoutItem:
levt = evt.clone(pos=(x, y))
if (wid:=TTkDomTreeView._findWidget(levt, item)):
if (wid:=TTkTomInspector._findWidget(levt, item)):
return wid
return layout.parentWidget()
@ -209,7 +209,7 @@ class TTkDomTreeView(TTkWidget):
# TTkHelper._rootWidget.setEnabled(True)
# TTkHelper._rootWidget._input.inputEvent.connect(TTkHelper._rootWidget._processInput)
TTkHelper._rootWidget._input.inputEvent.disconnect(self._processInput)
widget = TTkDomTreeView._findWidget(mevt,TTkHelper._rootWidget.rootLayout())
widget = TTkTomInspector._findWidget(mevt,TTkHelper._rootWidget.rootLayout())
TTkLog.debug(f"{widget=}")
if widget:
self._makeDetail(widget)
@ -227,7 +227,7 @@ class TTkDomTreeView(TTkWidget):
@pyTTkSlot()
def _refresh(self, widget=None):
self._domTree.clear()
self._domTree.addTopLevelItem(TTkDomTreeView._getDomTreeItem(TTkHelper._rootWidget._widgetItem, widget))
self._domTree.addTopLevelItem(TTkTomInspector._getTomTreeItem(TTkHelper._rootWidget._widgetItem, widget))
@pyTTkSlot(_TTkDomTreeWidgetItem, int)
def _setDetail(self, widget, _):
@ -285,9 +285,6 @@ class TTkDomTreeView(TTkWidget):
else:
value = TTkLabel(text=items[[cs for _,cs in items].index(getval)][0])
elif prop['get']['type'] == bool and 'set' in prop:
# value = TTkComboBox(list=['True','False'])
# value.setCurrentIndex(0 if getval else 1)
# value.currentIndexChanged.connect(_bound(prop['set']['cb'],domw, lambda v:v==0))
value = TTkCheckbox(text=f" {p}", checked=getval, height=1)
value.stateChanged.connect(_bound(prop['set']['cb'],domw, lambda v:v==TTkK.Checked))
elif prop['get']['type'] == int and 'set' in prop:
@ -314,7 +311,7 @@ class TTkDomTreeView(TTkWidget):
@staticmethod
def _getDomTreeItem(layoutItem, widSelected=None):
def _getTomTreeItem(layoutItem, widSelected=None):
if layoutItem.layoutItemType == TTkK.WidgetItem:
widget = layoutItem.widget()
expanded = TTkHelper.isParent(widSelected,widget) if widSelected else False
@ -325,20 +322,20 @@ class TTkDomTreeView(TTkWidget):
domWidget=widget,
expanded=expanded)
for c in widget.layout().children():
top.addChild(TTkDomTreeView._getDomTreeItem(c,widSelected))
top.addChild(TTkTomInspector._getTomTreeItem(c,widSelected))
for c in widget.rootLayout().children():
if c == widget.layout(): continue
if c.layoutItemType == TTkK.LayoutItem:
top.addChild(tc:=_TTkDomTreeWidgetItem(["layout (Other)", c.__class__.__name__, ""]))
for cc in c.children():
tc.addChild(TTkDomTreeView._getDomTreeItem(cc,widSelected))
tc.addChild(TTkTomInspector._getTomTreeItem(cc,widSelected))
return top
if layoutItem.layoutItemType == TTkK.LayoutItem:
top = _TTkDomTreeWidgetItem(["layout", layoutItem.__class__.__name__,"",layoutItem.__class__.__name__])
for c in layoutItem.children():
top.addChild(TTkDomTreeView._getDomTreeItem(c,widSelected))
top.addChild(TTkTomInspector._getTomTreeItem(c,widSelected))
return top
return _TTkDomTreeWidgetItem(["ERROR!!!", "None"])

9
TermTk/TTkWidgets/combobox.py

@ -124,9 +124,12 @@ class TTkComboBox(TTkWidget):
self._textAlign = align
self.update()
def addItem(self,item):
'''addItem'''
self._list.append(item)
def addItem(self, text, userData=None):
'''addItem
Adds an item to the combobox with the given text, and containing the specified userData (stored in the Qt::UserRole). The item is appended to the list of existing items.
'''
self._list.append(text)
self.update()
def addItems(self,items):

10
demo/demo.py

@ -105,8 +105,8 @@ def demoShowcase(root=None, border=True):
logInput = ttk.TTkKeyPressView(visible=False, maxHeight=3, minHeight=3)
root.layout().addWidget(logInput, 1, 0)
domTree = ttk.TTkFrame(title="Dom Inspector", border=True, visible=False, layout=ttk.TTkGridLayout())
ttk.TTkDomTreeView(parent=domTree)
domTree = ttk.TTkFrame(title="Tom Inspector", border=True, visible=False, layout=ttk.TTkGridLayout())
ttk.TTkTomInspector(parent=domTree)
root.layout().addWidget(domTree, 0, 1)
leftFrame = ttk.TTkFrame(parent=splitter, layout=ttk.TTkGridLayout(), border=False)
@ -115,8 +115,8 @@ def demoShowcase(root=None, border=True):
listMenu = ttk.TTkList(maxWidth=30, minWidth=10)
logInputToggler = ttk.TTkCheckbox(text='ShowInput')
logInputToggler.stateChanged.connect(lambda x: logInput.setVisible(x==ttk.TTkK.Checked))
domTreeToggler = ttk.TTkCheckbox(text='Dom Tree')
domTreeToggler.stateChanged.connect(lambda x: domTree.setVisible(x==ttk.TTkK.Checked))
tomTreeToggler = ttk.TTkCheckbox(text='Tom View')
tomTreeToggler.stateChanged.connect(lambda x: domTree.setVisible(x==ttk.TTkK.Checked))
mouseToggler = ttk.TTkCheckbox(text='Mouse 🐀', checked=True)
mouseToggler.stateChanged.connect(lambda x: ttk.TTkTerm.push(ttk.TTkTerm.Mouse.ON if x==ttk.TTkK.Checked else ttk.TTkTerm.Mouse.OFF))
quitButton = ttk.TTkButton(text="Quit", border=True, maxHeight=3)
@ -125,7 +125,7 @@ def demoShowcase(root=None, border=True):
leftFrame.layout().addWidget(themesFrame, 0, 0)
leftFrame.layout().addWidget(listMenu, 1, 0)
leftFrame.layout().addWidget(mouseToggler, 2, 0)
leftFrame.layout().addWidget(domTreeToggler, 3, 0)
leftFrame.layout().addWidget(tomTreeToggler, 3, 0)
leftFrame.layout().addWidget(logInputToggler, 4, 0)
leftFrame.layout().addWidget(quitButton, 5, 0)

Loading…
Cancel
Save