ttk::scrollbar

Difference between version 14 and 15 - Previous - Next
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