Browse Source

Added some r/o params to the dom viewer

pull/95/head
Eugenio Parodi 3 years ago
parent
commit
8b23988e0f
  1. 2
      TermTk/TTkCore/ttk.py
  2. 24
      TermTk/TTkTestWidgets/domtreeview.py
  3. 22
      TermTk/TTkWidgets/lineedit.py
  4. 14
      TermTk/TTkWidgets/splitter.py
  5. 2
      tests/test.ui.024.canvas.boundaries.py

2
TermTk/TTkCore/ttk.py

@ -289,4 +289,4 @@ class TTk(TTkWidget):
self.quit()
def isVisibleAndParent(self):
return self.isVisible()
return self.isVisible()

24
TermTk/TTkTestWidgets/domtreeview.py

@ -264,20 +264,26 @@ class TTkDomTreeView(TTkWidget):
_f(_w,_val)
return _ret
getval = prop['get']['cb'](domw)
if prop['get']['type'] == 'multiflags' and 'set' in prop:
if prop['get']['type'] == 'multiflags':
flags = prop['get']['flags']
value = TTkFrame(layout=TTkVBoxLayout(), height=len(flags), border=False)
for fl in flags:
value.layout().addWidget(fcb := TTkCheckbox(text=f" {fl}", checked=bool(prop['get']['cb'](domw)&flags[fl])))
fcb.stateChanged.connect(_boundFlags(
prop['set']['cb'], prop['get']['cb'],
domw, lambda v: v==TTkK.Checked, flags[fl]))
elif prop['get']['type'] == 'singleflag' and 'set' in prop:
if 'set' in prop:
value.layout().addWidget(fcb := TTkCheckbox(text=f" {fl}", checked=bool(prop['get']['cb'](domw)&flags[fl])))
fcb.stateChanged.connect(_boundFlags(
prop['set']['cb'], prop['get']['cb'],
domw, lambda v: v==TTkK.Checked, flags[fl]))
else:
value.layout().addWidget(fcb := TTkCheckbox(text=f" {fl}", checked=bool(prop['get']['cb'](domw)&flags[fl]), enabled=False))
elif prop['get']['type'] == 'singleflag':
flags = prop['get']['flags']
items = [(k,v) for k,v in flags.items()]
value = TTkComboBox(list=[n for n,_ in items], height=1, textAlign=TTkK.LEFT_ALIGN)
value.setCurrentIndex([cs for _,cs in items].index(getval))
value.currentTextChanged.connect(_bound(prop['set']['cb'],domw, lambda v:flags[v]))
if 'set' in prop:
value = TTkComboBox(list=[n for n,_ in items], height=1, textAlign=TTkK.LEFT_ALIGN)
value.setCurrentIndex([cs for _,cs in items].index(getval))
value.currentTextChanged.connect(_bound(prop['set']['cb'],domw, lambda v:flags[v]))
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)

22
TermTk/TTkWidgets/lineedit.py

@ -77,6 +77,10 @@ class TTkLineEdit(TTkWidget):
'''text'''
return self._text
def inputType(self):
'''inputType'''
return self._inputType
def _pushCursor(self):
w = self.width()
@ -247,3 +251,21 @@ class TTkLineEdit(TTkWidget):
self._selectionTo = 0
TTkHelper.hideCursor()
self.update()
_ttkProperties = {
'Input Type' : {
'init': {'name':'inputType', 'type':'multiflags',
'flags': {
'Text' : TTkK.Input_Text ,
'Number' : TTkK.Input_Number ,
'Password': TTkK.Input_Password } },
'get': {'cb':inputType, 'type':'multiflags',
'flags': {
'Text' : TTkK.Input_Text ,
'Number' : TTkK.Input_Number ,
'Password': TTkK.Input_Password } } },
'Text' : {
'init': {'name':'text', 'type':TTkString } ,
'get': {'cb':text, 'type':TTkString } ,
'set': {'cb':setText, 'type':TTkString } }
}

14
TermTk/TTkWidgets/splitter.py

@ -382,3 +382,17 @@ class TTkSplitter(TTkFrame):
if ret > item.maximumWidth():
ret = item.maximumWidth()
return ret
_ttkProperties = {
'Border' : {
'init': {'name':'border', 'type':bool } },
'Orientation' : {
'init': {'name':'orientation', 'type':'singleflag',
'flags': {
'Horizontal' : TTkK.HORIZONTAL ,
'Vertical' : TTkK.VERTICAL } } ,
'get': {'cb':orientation, 'type':'singleflag',
'flags': {
'Horizontal' : TTkK.HORIZONTAL ,
'Vertical' : TTkK.VERTICAL } } }
}

2
tests/test.ui.024.canvas.boundaries.py

@ -2,7 +2,7 @@
# MIT License
#
# Copyright (c) 2022 Luchr <https://github.com/luchr>
# Copyright (c) 2023 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

Loading…
Cancel
Save