diff --git a/libs/pyTermTk/TermTk/TTkCore/canvas.py b/libs/pyTermTk/TermTk/TTkCore/canvas.py index 0939a735..7d3c75b6 100644 --- a/libs/pyTermTk/TermTk/TTkCore/canvas.py +++ b/libs/pyTermTk/TermTk/TTkCore/canvas.py @@ -381,20 +381,20 @@ class TTkCanvas(): for ix in vlines: self._set(y+iy, x+ix, gg[0x0A], color) - def drawScroll(self, pos, size, slider, orientation, color=TTkColor.RST): + def drawScroll(self, pos, size, slider, orientation, color=TTkColor.RST, borderColor=TTkColor.RST): if not self._visible: return x,y = pos f,t = slider # slider from-to position if orientation == TTkK.HORIZONTAL: for i in range(x+1,x+size-1): # H line - self._set(y,x+i, TTkCfg.theme.hscroll[1], color) + self._set(y,x+i, TTkCfg.theme.hscroll[1], borderColor) for i in range(f,t): # Slider self._set(y,x+i, TTkCfg.theme.hscroll[2], color) self._set(y,x+size-1, TTkCfg.theme.hscroll[3], color) # Right Arrow self._set(y,x, TTkCfg.theme.hscroll[0], color) # Left Arrow else: for i in range(y+1,y+size-1): # V line - self._set(y+i,x, TTkCfg.theme.vscroll[1], color) + self._set(y+i,x, TTkCfg.theme.vscroll[1], borderColor) for i in range(f,t): # Slider self._set(y+i,x, TTkCfg.theme.vscroll[2], color) self._set(y+size-1,x, TTkCfg.theme.vscroll[3], color) # Down Arrow diff --git a/libs/pyTermTk/TermTk/TTkTheme/draw_ascii.py b/libs/pyTermTk/TermTk/TTkTheme/draw_ascii.py index 2572bf9d..e7346341 100644 --- a/libs/pyTermTk/TermTk/TTkTheme/draw_ascii.py +++ b/libs/pyTermTk/TermTk/TTkTheme/draw_ascii.py @@ -85,8 +85,8 @@ class TTkTheme(): radiobox = (' ','X') checkbox = (' ','X','/') - hscroll = ('<','-','X','>') - vscroll = ('^','|','X','v') + hscroll = ('<','-','+','>') + vscroll = ('^','|','+','v') tree = (' ','+','-',' ', '|','|','v','^',) diff --git a/libs/pyTermTk/TermTk/TTkTheme/draw_utf8.py b/libs/pyTermTk/TermTk/TTkTheme/draw_utf8.py index e9e707d7..80582c4c 100644 --- a/libs/pyTermTk/TermTk/TTkTheme/draw_utf8.py +++ b/libs/pyTermTk/TermTk/TTkTheme/draw_utf8.py @@ -141,8 +141,8 @@ class TTkTheme(): radiobox = ('◯','◉') checkbox = ('□','▣','◪') - hscroll = ('◀','┄','▓','▶') - vscroll = ('▲','┊','▓','▼') + hscroll = ('◀','─','■','▶') + vscroll = ('▲','│','█','▼') tree = ('•','▶','▼',' ', '│','╿','▼','▲') diff --git a/libs/pyTermTk/TermTk/TTkWidgets/scrollbar.py b/libs/pyTermTk/TermTk/TTkWidgets/scrollbar.py index 33ed4425..f84a1209 100644 --- a/libs/pyTermTk/TermTk/TTkWidgets/scrollbar.py +++ b/libs/pyTermTk/TermTk/TTkWidgets/scrollbar.py @@ -36,9 +36,10 @@ class TTkScrollBar(TTkWidget): '''TTkScrollBar''' classStyle = { - 'default': {'color': TTkColor.RST}, + 'default': {'color': TTkColor.fg('#AAAACC'), 'borderColor': TTkColor.fg('#004080')}, 'disabled': {'color': TTkColor.fg('#888888')}, - 'focus': {'color': TTkColor.fg('#cccc00')}, + 'focus': {'color': TTkColor.fg('#cccc00'), 'borderColor': TTkColor.fg('#AAAA88')}, + 'hover': {'color': TTkColor.fg('#0088FF'), 'borderColor': TTkColor.fg('#6666BB')}, } __slots__ = ( @@ -103,7 +104,8 @@ class TTkScrollBar(TTkWidget): ''' def paintEvent(self, canvas): style = self.currentStyle() - color = style['color'] + color = style.get('color', TTkColor.RST) + borderColor = style.get('borderColor', color) if self._orientation == TTkK.VERTICAL: size=self._height @@ -123,7 +125,8 @@ class TTkScrollBar(TTkWidget): # convert i screen coordinates aa = asciiDrawingSize * a // (self._maximum - self._minimum) bb = aa + asciiStep - canvas.drawScroll(pos=(0,0),size=size,slider=(aa+1,bb+1),orientation=self._orientation, color=color) + canvas.drawScroll(pos=(0,0),size=size,slider=(aa+1,bb+1),orientation=self._orientation, + color=color,borderColor=borderColor) # Update the screen position coordinates self._screenPgDown = ( 1 , aa+1 ) self._screenScroller = ( aa+1 , bb+1)