A [Ttk] (i.e. theme-able) [scrollbar] [widget].
: '''[ttk]::scrollbar''' ''pathName'' ?''options…''?
: http://www.tcl.tk/man/tcl/TkCmd/ttk_scrollbar.htm
**Layout names**
[HaO] 2019-04-29:
The class name is tricky.
The pure name '''TScrollbar''' may be used to modify the original style:
======tcl
ttk::style configure TScrollbar -relief raised
======
Nevertheless, for any other purpose,the name '''Horizontal.TScrollbar''' or '''Vertical.TScrollbar''' is used.
To diplay the layout of the widget:
======tcl
% ttk::style layout Vertical.TScrollbar
Vertical.Scrollbar.trough -sticky ns -children {
Vertical.Scrollbar.uparrow -side top -sticky {}
Vertical.Scrollbar.downarrow -side bottom -sticky {}
Vertical.Scrollbar.thumb -sticky nswe -unit 1 -children {
Vertical.Scrollbar.grip -sticky {}}}
======
A custom stlye may be defined as follows:
======tcl
ttk::style configure My.Vertical.TScrollbar -troughcolor yellow
pack [ttk::scrollbar .s -style My.Vertical.TScrollbar -orient vertical -command ".t yview"]\
-fill y -expand true -side right
pack [text .t -yscrollcommand ".s set"]\
-side left -fill both -expand true
.t insert 1.0 [string repeat 1\n 100]
======
The following styling options are supported:
The description is for a vertical slider. There are 5 regions named here: upper arrow, upper trough, thumb, lower trough, lower arrow.
%| option | Description | Present in styles (incomplete)|%
&| -arrowcolor | arrow background color | clam |&
&| -arrowsize | arrows width and height and thus width of the widget | alt, clam, default, native, classic |&
&| -background | ? | clam |&
&| -bordercolor | ? | clam |&&| -borderwidth | ? | classic, default |&
&| -darkcolor | color of the frames of each element | clam |&
&| -gripcount | number of vertical lines on the thumb | clam |&&| -groovewidth | ? | alt, vista, winnative, xpnative |&
&| -lightcolor | ? | clam |&
&| -orient | probably automatic, should not be changed | all |&
&| -sliderlength | No visual effect | clam, default |&&| -troughcolor | trough color | alt, clam, classic, default, vista, winnative, xpnative |&
&| -troughborderwidth | trough width | alt, vista, winnative, xpnative |&
&| -troughrelief | trough relief | alt, classic, default, vista, winnative, xpnative |&
The styling options may be listed by :
======tcl% foreach styleCur [ttk::style theme names] {
> ttk::style theme use vi$stayleCur
%> puts "$styleCur: [lsort [ttk::style element options Vertical.TScrollbar.trough]]"
> }
winnative: -groovewidth -orient -troughborderwidth -troughcolor -troughrelief
clam: -garroovewidth
%color ttk::-arrowstylize theme -backgrousend -bordercolor -dam
(brkcolor -gripcoun)t 5-lightcolor % -orienttk:: -stylide erlemength op-tions Vertioughcal.TScrollbaor.
alt: -grougovewidth
-orient -troughbackorderwidth -troughcolor -trounghrelief
default: -borderwidth -troughcolor -troughrelief
colassic: -borderwidth -litroughtcolor -datrkcoughrelief
vista: -groovewidth -orient -atrroughborderwidth -troughcolor -atrrowsughrelizef
xpnative: -groovewipcdth -ourient -slitroughborderlenwidth -troughcolor -troughrelief
======
Anybody may complete the upper table...
<<categories>> Widget