Browse Source

Adapted the Splitter to the new style format

pull/165/head
Eugenio Parodi 3 years ago
parent
commit
840b13c699
  1. 27
      TermTk/TTkWidgets/splitter.py

27
TermTk/TTkWidgets/splitter.py

@ -24,6 +24,7 @@
from TermTk.TTkCore.constant import TTkK
from TermTk.TTkCore.cfg import TTkCfg
from TermTk.TTkCore.color import TTkColor
from TermTk.TTkCore.string import TTkString
from TermTk.TTkLayouts.layout import TTkLayout
from TermTk.TTkWidgets.widget import TTkWidget
@ -31,6 +32,16 @@ from TermTk.TTkWidgets.container import TTkContainer
class TTkSplitter(TTkContainer):
'''TTkSplitter'''
classStyle = {
'default': {'color': TTkColor.fg("#dddddd")+TTkColor.bg("#222222"),
'borderColor': TTkColor.RST},
'disabled': {'color': TTkColor.fg('#888888'),
'borderColor':TTkColor.fg('#888888')},
'focus': {'color': TTkColor.fg("#ffddff")+TTkColor.bg("#222222"),
'borderColor': TTkColor.fg("#ffffaa")}
}
__slots__ = (
'_orientation', '_separators', '_refSizes',
'_items', '_titles', '_separatorSelected',
@ -414,19 +425,23 @@ class TTkSplitter(TTkContainer):
return ret
def paintEvent(self, canvas):
style = self.currentStyle()
color = style['color']
borderColor = style['borderColor']
off = 0
w,h = self.size()
if self._border:
off= 1
canvas.drawBox(pos=(0,0),size=(w,h))
canvas.drawBox(pos=(0,0),size=(w,h),color=borderColor)
if self._orientation == TTkK.HORIZONTAL:
for i in self._separators[:-1]:
canvas.drawVLine(pos=(i+off,0), size=h)
canvas.drawVLine(pos=(i+off,0), size=h,color=borderColor)
else:
for i in self._separators[:-1]:
canvas.drawHLine(pos=(0,i+off), size=w)
canvas.drawHLine(pos=(0,i+off), size=w,color=borderColor)
if self._orientation == TTkK.HORIZONTAL and self._border:
for i,t in enumerate(self._titles):
@ -437,7 +452,8 @@ class TTkSplitter(TTkContainer):
pos=(a,0),
size=(b-a+1,1),
text=t,
colorText=TTkCfg.theme.frameTitleColor)
color=borderColor,
colorText=color)
elif self._orientation == TTkK.VERTICAL:
for i,t in enumerate(self._titles):
if i == 0 and not self._border: continue
@ -449,5 +465,6 @@ class TTkSplitter(TTkContainer):
size=(w,1),
grid=grid,
text=t,
colorText=TTkCfg.theme.frameTitleColor)
color=borderColor,
colorText=color)

Loading…
Cancel
Save