sub hlist_notebook{
my ( $hash_ref, $hash_ref_ini, $page, $hlist, $befehl, $choices) = @_;
my ( $counter, $choices_for_browse, $choices_befehl, $feld, $feldname);
for $feldname (keys(%{$hash_ref_ini})) {
$counter++;
}
my @choices = lies_tabellen_zeilen($dbh, "adresstyp", "beschreibung");
$hlist = $page->Scrolled("HList",
-header => 1,
-columns => $counter,
-scrollbars => 'oe',
-width => 145,
-height => 20,
-relief => 'flat',
)
->$befehl();
for my $datensatz_id (sort keys(%{$hash_ref})){
my $e = $hlist->addchild("");
for $feldname (keys(%{$hash_ref_ini})) {
my $browse = $hash_ref_ini->{$feldname}->{'widget'};
$hlist->header('create',
$hash_ref_ini->{$feldname}->{'place'},
-itemtype => 'window',
-widget => $hlist->Button(-text => $hash_ref_ini->{$feldname}->{'buttonname'},
-relief => 'flat',
-command => [ \&MyTk::HList::order, $hash_ref_ini->{$feldname}->{'place'}, 0 ]),
-style => $headerstyle);
$hlist->itemCreate($e,
$hash_ref_ini->{$feldname}->{'place'},
-itemtype => 'window',
(-widget => $feld = $hlist->$browse($hash_ref_ini->{$feldname}->{'variable'} => \$hash_ref->{$datensatz_id}->{$feldname},
-width => $hash_ref_ini->{$feldname}->{'width'})));
if ($browse eq "BrowseEntry"){
$feld->insert('end',$_) for (@choices);
}
elsif ( $browse eq "Checkbutton"){
$feld->configure(-command => [\&auswahl_checkbutton,\%{$hash_ref}, $datensatz_id, \%{$hash_ref_ini} ]);
}
}
}
}#hlist_notebook
sub auswahl_checkbutton{
my ($hash_ref, $datensatz, $hash_ref_ini ) = @_;
for my $datensatz_id (sort keys(%{$hash_ref})){
for my $feldname (keys(%{$hash_ref_ini})) {
if ( $hash_ref_ini->{$feldname}->{'widget'} eq "Checkbutton" ){
if ( $hash_ref->{$datensatz_id}->{$feldname} == 1) {$hash_ref->{$datensatz_id}->{$feldname} = 0}
if ( $datensatz_id == $datensatz) {$hash_ref->{$datensatz_id}->{$feldname} = 1}
}
}
}
}