1 # vim: foldmarker=<<<,>>>
3 option add *Browse_treeview_list.actionsOrient v widgetDefault
4 option add *Browse_treeview_list.actionButtonWidth 1 widgetDefault
5 option add *Browse_treeview_list.actionsPos {10,11 -fill y} widgetDefault
7 class tlc::Browse_treeview_list {
8 inherit tlc::Mywidget tlc::Handlers
14 variable state "normal" ;# not currently used
17 variable item_schema {}
20 method column_configure {args} {return [eval $w.list column_configure $args]}
24 variable oldtextvariable ""
30 method newvalue {args}
37 configbody tlc::Browse_treeview_list::textvariable { #<<<1
38 if {$oldtextvariable != ""} {
39 trace vdelete $oldtextvariable wu [code $this newvalue]
42 if {$textvariable != ""} {
43 trace variable $textvariable wu [code $this newvalue]
46 set oldtextvariable $textvariable
52 configbody tlc::Browse_treeview_list::headers { #<<<1
53 $ds configure -headers $headers
57 configbody tlc::Browse_treeview_list::item_schema { #<<<1
58 $ds configure -item_schema $item_schema
62 configbody tlc::Browse_treeview_list::id_column { #<<<1
63 $ds configure -id_column $id_column
67 body tlc::Browse_treeview_list::constructor {args} { #<<<1
68 set ds [tlc::DSlist ::#auto]
70 itk_component add list {
71 tlc::Browse_treeview_flat $w.list -datasource $ds
73 keep -hide_id_col -show_criteria -criteriapos -filterpos -actionspos
74 keep -actions_orient -listpos -criteria_label -showfilter
75 keep -action_buttonwidth -width -height -column_widths
78 $w.list action_add "+" add
79 $w.list action_add "-" del
82 $w.list 1,1 -fill both
84 $ds register_handler onchange [code $this newvalue2]
86 eval itk_initialize $args
90 body tlc::Browse_treeview_list::destructor {} { #<<<1
91 if {[info exists ds]} {
96 after cancel $afterid; set afterid ""
101 body tlc::Browse_treeview_list::newvalue {args} { #<<<1
105 $ds configure -list [set $textvariable]
110 body tlc::Browse_treeview_list::newvalue2 {} { #<<<1
111 invoke_handlers onchange
113 puts "tlc::Browse_treeview_list::newvalue2"
114 if {$afterid != ""} return
115 set afterid [after idle [code $this getlist]]
119 body tlc::Browse_treeview_list::getlist {} { #<<<1
120 puts "tlc::Browse_treeview_list::getlist"
121 after cancel $afterid; set afterid ""
122 if {$textvariable == ""} return
125 set $textvariable [$ds get_list {}]
127 invoke_handlers onchange