#!./wish

proc AddIndicators {t l} {
    set r0 ""
    set r1 ""
    for {set i 0} {$i<200} {incr i} {
        set r0 "$r0[expr $i/10]"
        set r1 "$r1[expr $i%10]"
    }
    
    $l insert end "$r0"
    $l insert end "$r1"
    $t insert end "$r0\n"
    $t insert end "$r1\n"
    for {set i 3} {$i < 50} {incr i} {
        $l insert end "$i"
        $t insert end "$i\n"
    }
}

proc MakeSwitcher {w t l} {
    global gridowner

    frame $w
    label $w.label -text "Gridowner: "
    radiobutton $w.t -text "Text" -variable gridowner -value text \
        -command "$l configure -setgrid 0; $t configure -setgrid 1"
    radiobutton $w.l -text "Listbox" -variable gridowner -value listbox \
        -command "$t configure -setgrid 0;$l configure -setgrid 1"
    
    if {1 == [$t cget -setgrid]} {
        set gridowner text
    } else {
        set gridowner listbox
    }
    pack $w.label $w.t $w.l -side left
}

wm geom . +0+0
panedwindow .p -orient vertical

set l .p.l
set t .p.t

listbox $l -height 10
text $t -wrap none -setgrid 1

AddIndicators $t $l

.p add $l $t

MakeSwitcher .s $t $l
pack .s -side top
pack .p -fill both -expand 1

