Browse Source

feat(theme): implement UTF-8 checkbox and radiobox (#514)

Co-authored-by: Pier CeccoPierangioliEugenio <ceccopierangiolieugenio@users.noreply.github.com>
pull/520/head
slook 6 months ago committed by GitHub
parent
commit
a02f62c706
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 4
      libs/pyTermTk/TermTk/TTkTheme/draw_ascii.py
  2. 4
      libs/pyTermTk/TermTk/TTkTheme/draw_utf8.py
  3. 4
      libs/pyTermTk/TermTk/TTkTheme/theme.py
  4. 7
      libs/pyTermTk/TermTk/TTkWidgets/checkbox.py
  5. 4
      libs/pyTermTk/TermTk/TTkWidgets/radiobutton.py

4
libs/pyTermTk/TermTk/TTkTheme/draw_ascii.py

@ -82,8 +82,8 @@ class TTkTheme():
'X',' ','X',
'X','X','X'))
combobox = {'( )','(x)'}
checkbox = {'[ ]','[x]','[/]'}
radiobox = (' ','X')
checkbox = (' ','X','/')
hscroll = ('<','-','X','>')
vscroll = ('^','|','X','v')

4
libs/pyTermTk/TermTk/TTkTheme/draw_utf8.py

@ -138,8 +138,8 @@ class TTkTheme():
'''
combobox = {'',''}
checkbox = {'','',''}
radiobox = ('','')
checkbox = ('','','')
hscroll = ('','','','')
vscroll = ('','','','')

4
libs/pyTermTk/TermTk/TTkTheme/theme.py

@ -44,6 +44,8 @@ class TTkTheme():
box = draw_utf8.TTkTheme.box
grid = draw_utf8.TTkTheme.grid
buttonBox = draw_utf8.TTkTheme.buttonBox
radiobox = draw_utf8.TTkTheme.radiobox
checkbox = draw_utf8.TTkTheme.checkbox
hscroll = draw_utf8.TTkTheme.hscroll
vscroll = draw_utf8.TTkTheme.vscroll
tree = draw_utf8.TTkTheme.tree
@ -79,6 +81,8 @@ class TTkTheme():
TTkTheme.box = theme['draw'].TTkTheme.box
TTkTheme.grid = theme['draw'].TTkTheme.grid
TTkTheme.buttonBox = theme['draw'].TTkTheme.buttonBox
TTkTheme.radiobox = theme['draw'].TTkTheme.radiobox
TTkTheme.checkbox = theme['draw'].TTkTheme.checkbox
TTkTheme.hscroll = theme['draw'].TTkTheme.hscroll
TTkTheme.vscroll = theme['draw'].TTkTheme.vscroll
TTkTheme.tree = theme['draw'].TTkTheme.tree

7
libs/pyTermTk/TermTk/TTkWidgets/checkbox.py

@ -210,9 +210,10 @@ class TTkCheckbox(TTkWidget):
canvas.drawText(pos=(0,0), color=borderColor ,text="[ ]")
canvas.drawText(pos=(3,0), color=textColor ,text=self._text)
text = {
TTkK.Checked : "X",
TTkK.Unchecked : " ",
TTkK.PartiallyChecked: "/"}.get(self._checkStatus, " ")
TTkK.Unchecked : TTkCfg.theme.checkbox[0], # ' ' or '□'
TTkK.Checked : TTkCfg.theme.checkbox[1], # 'X' or '▣'
TTkK.PartiallyChecked: TTkCfg.theme.checkbox[2] # '/' or '◪'
}.get(self._checkStatus, TTkCfg.theme.checkbox[0])
canvas.drawText(pos=(1,0), color=xColor ,text=text)
def _pressEvent(self) -> bool:

4
libs/pyTermTk/TermTk/TTkWidgets/radiobutton.py

@ -183,9 +183,9 @@ class TTkRadioButton(TTkWidget):
canvas.drawText(pos=(0,0), color=borderColor ,text="( )")
canvas.drawText(pos=(3,0), color=textColor ,text=self._text)
if self._checked:
canvas.drawText(pos=(1,0), color=xColor ,text="X")
canvas.drawText(pos=(1,0), color=xColor ,text=TTkCfg.theme.radiobox[1]) # 'X' or '◉'
else:
canvas.drawText(pos=(1,0), color=xColor ,text=" ")
canvas.drawText(pos=(1,0), color=xColor ,text=TTkCfg.theme.radiobox[0]) # ' ' or '◯'
def _checkEvent(self):
# Uncheck the radio already checked;

Loading…
Cancel
Save