| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
|
|
| tixWidgetClass tixMultiView { |
| -classname TixMultiView |
| -superclass tixPrimitive |
| -method { |
| add |
| } |
| -flag { |
| -browsecmd -command -view |
| } |
| -forcecall { |
| -view |
| } |
| -configspec { |
| {-browsecmd browseCmd BrowseCmd ""} |
| {-command command Command ""} |
| {-view view View icon tixMultiView:VerifyView} |
| } |
| -alias { |
| } |
|
|
| -default { |
| } |
| } |
|
|
| proc tixMultiView:InitWidgetRec {w} { |
| upvar #0 $w data |
| global env |
|
|
| tixChainMethod $w InitWidgetRec |
| } |
|
|
| |
| |
| |
| proc tixMultiView:ConstructWidget {w} { |
| upvar #0 $w data |
|
|
| tixChainMethod $w ConstructWidget |
|
|
| set data(w:stlist) [tixScrolledTList $w.stlist] |
| set data(w:sgrid) [tixScrolledGrid $w.sgrid] |
| set data(w:icon) [tixIconView $w.icon] |
|
|
| set data(w:tlist) [$data(w:stlist) subwidget tlist] |
| set data(w:grid) [$data(w:sgrid) subwidget grid] |
|
|
| $data(w:grid) config -formatcmd [list tixMultiView:GridFormat $w] \ |
| -leftmargin 0 -topmargin 1 |
| } |
|
|
| proc tixMultiView:SetBindings {w} { |
| upvar #0 $w data |
|
|
| tixChainMethod $w SetBindings |
| } |
|
|
| proc tixMultiView:GetWid {w which} { |
| upvar #0 $w data |
|
|
| case $which { |
| list { |
| return $data(w:stlist) |
| } |
| icon { |
| return $data(w:icon) |
| } |
| detail { |
| return $data(w:sgrid) |
| } |
| } |
| } |
| |
| |
| |
| proc tixMultiView:config-view {w value} { |
| upvar #0 $w data |
|
|
| if {$data(-view) != ""} { |
| pack forget [tixMultiView:GetWid $w $data(-view)] |
| } |
|
|
| pack [tixMultiView:GetWid $w $value] -expand yes -fill both |
| } |
| |
| |
| |
| proc tixMultiView:GridFormat {w area x1 y1 x2 y2} { |
| upvar #0 $w data |
|
|
| case $area { |
| main { |
| } |
| {x-margin y-margin s-margin} { |
| |
| |
| $data(w:grid) format cborder $x1 $y1 $x2 $y2 \ |
| -fill 1 -relief raised -bd 2 -bg gray60 \ |
| -selectbackground gray80 |
| } |
| } |
|
|
| } |
|
|
| |
| |
| |
|
|
| |
| |
| |
| proc tixMultiView:add {w name args} { |
| upvar #0 $w data |
|
|
| set validOptions {-image -text} |
|
|
| set opt(-image) "" |
| set opt(-text) "" |
|
|
| tixHandleOptions -nounknown opt $validOptions $args |
|
|
| $data(w:icon) add $name $opt(-image) $opt(-text) |
| $data(w:tlist) insert end -itemtype imagetext \ |
| -image $opt(-image) -text $opt(-text) |
| $data(w:grid) set 0 end -itemtype imagetext \ |
| -image $opt(-image) -text $opt(-text) |
|
|
| return max |
| } |
|
|
| |
| |
| |
| proc tixMultiView:VerifyView {value} { |
| case $value { |
| {icon list detail} { |
| return $value |
| } |
| } |
| error "bad view \"$value\", must be detail, icon or list" |
| } |
|
|
|
|