# ----------------------------------------------------------------------
#  DEMO: spinner in [incr Widgets]
# ----------------------------------------------------------------------
package require Iwidgets 4.0

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"
