File: spinner

package info (click to toggle)
itcl3.0 3.0.1-5
  • links: PTS
  • area: main
  • in suites: woody
  • size: 10,140 kB
  • ctags: 3,519
  • sloc: tcl: 32,416; ansic: 12,683; sh: 3,911; makefile: 692; awk: 273; perl: 265
file content (33 lines) | stat: -rw-r--r-- 924 bytes parent folder | download | duplicates (14)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/bin/sh
# ----------------------------------------------------------------------
#  DEMO: spinner in [incr Widgets]
# ----------------------------------------------------------------------
#\
exec itkwish -f "$0" ${1+"$@"}
package require -exact Iwidgets 2.2

# itkwish interprets the rest...
# ----------------------------------------------------------------------
option add *textBackground seashell

proc spinMonth {win step} {
    set months {
        January February March April
        May June July August September
        October November December
    }

    set index [expr [lsearch $months [$win get]] + $step]

    if {$index < 0} {set index 11}
    if {$index > 11} {set index 0}

    $win delete 0 end
    $win insert 0 [lindex $months $index]
}

iwidgets::spinner .sm -labeltext "Month:" -width 10 -fixed 10 \
    -decrement {spinMonth .sm -1} -increment {spinMonth .sm 1}

pack .sm
.sm insert 0 "January"