Fixes for componentized Pagedform
[tcl-tlc.git] / examples / browse_tktreectrl.tcl
blob3e8a35e18df33bfe944b42f3809e008d38b0c346
1 #!/usr/bin/env tclsh8.4
3 source "boilerplate.tcl"
5 package require TLC 0.77.0
6 option add *Entry.background [$tlc::theme setting textbackground]
7 option add *Entry.highlightBackground [$tlc::theme setting background]
9 set data {}
10 lappend data {asdf lkjqh lkqjwehr}
11 lappend data {agwer sdfg jkh}
12 lappend data {asdfg kjqew kjhvawe}
14 set ds [DSlist #auto -headers {foo bar baz} -list $data]
16 proc manage_bar_visibility {visible} {
17 .l column_configure bar -visible $visible
20 proc add {} {
21 puts "Add called"
24 proc edit {} {
25 puts "Edit called, on item(s) ([.l get_selected_items])"
28 proc del {} {
29 puts "Del called, on item(s) ([.l get_selected_items])"
32 Browse_tktreectrl .l -datasource $ds -actionside right -actionbuttonwidth 5 \
33 -column_options {
34 foo {-expand false -text "Foo ID"}
35 bar {-visible false -justify right}
37 [.l component filters] register_handler onchange,bleh manage_bar_visibility
39 .l action_add "Add" add
40 .l action_add "Edit" edit
41 .l action_add "Del" del
43 .l action_attach_signal "Edit" [.l signal_ref item_selected]
44 .l action_attach_signal "Del" [.l signal_ref item_selected]
46 .l filter_add "Search" {spec entry -width 8} {
47 [string match -nocase "*$filter(spec)*" $row(foo)] ||
48 [string match -nocase "*$filter(spec)*" $row(baz)]
50 .l filter_add " Bleh" {bleh checkbutton -text "Show Bar"}
52 proc onselect_id {newid} {
53 puts "newid: ($newid)"
56 proc onselect_row {newrow} {
57 puts "newrow: ($newrow)"
60 proc item_selected_changed {selected} {
61 puts "itemselected: ($selected)"
64 .l register_handler onselect_id onselect_id
65 .l register_handler onselect onselect_row
66 [.l signal_ref item_selected] attach_output item_selected_changed
68 blt::table . \
69 .l 1,1 -fill both