Browse Source

improved textEdit showcase

pull/46/head
Eugenio Parodi 4 years ago
parent
commit
bcfe7d99b4
  1. 4
      TermTk/TTkCore/color.py
  2. 17
      demo/showcase/textedit.py

4
TermTk/TTkCore/color.py

@ -127,8 +127,8 @@ class _TTkColor:
def invertFgBg(self):
ret = self.copy()
ret._fg = self._bg
ret._bg = self._fg
ret._fg = self._bg.replace('\033[48','\033[38')
ret._bg = self._fg.replace('\033[38','\033[48')
return ret
def __str__(self):

17
demo/showcase/textedit.py

@ -107,10 +107,10 @@ def demoTextEdit(root=None):
wrapLayout.addWidget(fixWidth := ttk.TTkSpinBox(value=te.wrapWidth(), maxWidth=5, maximum=500, minimum=10, enabled=False),0,5)
fontLayout.addWidget(cb_fg := ttk.TTkCheckbox(text=" FG"),0,0)
fontLayout.addWidget(btn_fgColor := ttk.TTkColorButtonPicker(border=True, maxSize=(7,3)),1,0)
fontLayout.addWidget(btn_fgColor := ttk.TTkColorButtonPicker(border=True, enabled=False, maxSize=(7,3)),1,0)
# fontLayout.addWidget(ttk.TTkSpacer(maxWidth=3),0,1,2,1)
fontLayout.addWidget(cb_bg := ttk.TTkCheckbox(text=" BG"),0,2)
fontLayout.addWidget(btn_bgColor := ttk.TTkColorButtonPicker(border=True, maxSize=(7 ,3)),1,2)
fontLayout.addWidget(btn_bgColor := ttk.TTkColorButtonPicker(border=True, enabled=False, maxSize=(7 ,3)),1,2)
# fontLayout.addWidget(ttk.TTkSpacer(maxWidth=3),0,3,2,1)
fontLayout.addWidget(btn_bold := ttk.TTkButton(border=True, maxSize=(5,3), checkable=True, text=ttk.TTkString( 'a' , ttk.TTkColor.BOLD) ),1,4)
fontLayout.addWidget(btn_italic := ttk.TTkButton(border=True, maxSize=(5,3), checkable=True, text=ttk.TTkString( 'a' , ttk.TTkColor.ITALIC) ),1,5)
@ -118,12 +118,13 @@ def demoTextEdit(root=None):
fontLayout.addWidget(btn_strikethrough := ttk.TTkButton(border=True, maxSize=(5,3), checkable=True, text=ttk.TTkString(' a ', ttk.TTkColor.STRIKETROUGH)),1,7)
fontLayout.addWidget(ttk.TTkSpacer(),0,10,2,1)
def _setStyle():
color = ttk.TTkColor()
if cb_fg.checkState() == ttk.TTkK.Checked:
color += btn_fgColor.color()
color += btn_fgColor.color().invertFgBg()
if cb_bg.checkState() == ttk.TTkK.Checked:
color += btn_bgColor.color().invertFgBg()
color += btn_bgColor.color()
if btn_bold.isChecked():
color += ttk.TTkColor.BOLD
if btn_italic.isChecked():
@ -137,6 +138,14 @@ def demoTextEdit(root=None):
cursor.setColor(color)
te.setFocus()
cb_fg.stateChanged.connect(lambda x: btn_fgColor.setEnabled(x==ttk.TTkK.Checked))
cb_bg.stateChanged.connect(lambda x: btn_bgColor.setEnabled(x==ttk.TTkK.Checked))
cb_fg.stateChanged.connect(lambda _: _setStyle())
cb_bg.stateChanged.connect(lambda _: _setStyle())
btn_fgColor.colorSelected.connect(lambda _: _setStyle())
btn_bgColor.colorSelected.connect(lambda _: _setStyle())
btn_bold.toggled.connect(lambda _: _setStyle())
btn_italic.toggled.connect(lambda _: _setStyle())
btn_underline.toggled.connect(lambda _: _setStyle())

Loading…
Cancel
Save