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

option add *Calendar.buttonForeground black
option add *Calendar.outline black
option add *Calendar.weekdayBackground white
option add *Calendar.weekendBackground mistyrose
option add *Calendar.selectColor red
. configure -background white

iwidgets::calendar .cal
pack .cal -expand yes -fill both

iwidgets::optionmenu .days -labeltext "Start Day:" -command {
    set day [.days get]
    .cal configure -startday $day -days $caldays($day)
}
pack .days -padx 4 -pady 4

array set caldays {
    sunday {S M T W T F S}
    monday {Mo Tu We Th Fr Sa Su}
}
.days insert end sunday monday
