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} } } } }