1 # vim: foldmarker=<<<,>>>
4 inherit tlc
::Datasource
9 variable list {} {invoke_handlers onchange
}
10 variable headers
{} {invoke_handlers onchange
}
11 variable id_column
0 {invoke_handlers onchange
}
13 method get_list
{criteria
{headersvar
{}}}
14 method add_item
{row
{col_list
""}}
16 method update_item
{oldrow newrow
{old_col_list
""} {new_col_list
""}}
17 method remove_item
{row
{col_list
""}}
23 body tlc
::DSlist::constructor {args
} { #<<<1
33 body tlc
::DSlist::get_list {criteria
{headersvar
{}}} { #<<<1
34 if {$headersvar != {}} {
37 #puts "DSlist::get_list: setting headers: ($h)"
40 set last_headers
$headers
42 #puts "DSlist::get_list: returning list: ($list)"
47 body tlc
::DSlist::add_item {row
{col_list
""}} { #<<<1
55 if {[info exists dat
($h)]} {
57 lappend res
$h $dat($h)
64 #puts "Adding item: ($item)"
66 invoke_handlers onchange
72 body tlc
::DSlist::add_row {row
} { #<<<1
74 invoke_handlers onchange
78 body tlc
::DSlist::update_item {oldrow newrow
{old_col_list
""} {new_col_list
""}} { #<<<1
82 body tlc
::DSlist::remove_item {row
{col_list
""}} { #<<<1
86 body tlc
::DSlist::get_headers {} { #<<<1