$mw = MainWindow->new; $pane = $mw->Scrolled("Pane", -scrollbars => 'oe', -sticky=>'new')->pack(-side=>top, -expand=>1, -fill=>'both', -anchor=>n); foreach my $host(@host_list) { $frame="frame_$host"; $$frame = $pane->Frame(-borderwidth=>5, -relief=>raised, -label=>"$host")->pack(-side=>top, -expand=>1, -fill=>'x'); foreach my $db(@$host) { $dbframe = "dbframe_$db"; $dbprogressbar = "progressbar_$db"; $$dbframe = $$frame->Frame(-borderwidth=>5, -relief=>groove, -height=>50, -width=>800)->pack(-side=>top, -anchor=>w, -expand=>1, -fill=>'x'); $$dbframe->Label(-text=>"$db",-font=>"courier20bold",-relief=>flat)->grid(-column=>0,-row=>0,-sticky=>'nsew'); $$dbframe->Label(-text=>"Phase:",-relief=>flat)->grid(-column=>1,-row=>1,-sticky=>'ew'); $$dbframe->Label(-text=>"Mode:",-relief=>flat)->grid(-column=>3,-row=>0,-sticky=>'ew'); $$dbframe->Label(-textvariable=>\$$db{phase},-relief=>sunken)->grid(-column=>2,-row=>1,-sticky=>'ew'); $$dbframe->Label(-textvariable=>\$$db{mode},-relief=>sunken)->grid(-column=>4,-row=>0,-sticky=>'ew'); $$dbframe->Label(-textvariable=>\$$db{state},-relief=>flat,-background=>green)->grid(-column=>0,-row=>1,-sticky=>'nsew'); $$dbframe->Label(-text=>'Date:',-relief=>flat)->grid(-column=>3,-row=>1,-sticky=>'ew'); $$dbframe->Label(-textvariable=>\$$db{date},-relief=>sunken)->grid(-column=>4,-row=>1,-sticky=>'ew'); $$dbframe->Label(-text=>'Group:',-relief=>flat)->grid(-column=>5,-row=>0,-sticky=>'ew'); $$dbframe->Label(-textvariable=>\$$db{group},-relief=>sunken)->grid(-column=>6,-row=>0,-sticky=>'ew'); $$dbframe->Label(-text=>'Events:',-relief=>flat)->grid(-column=>5,-row=>1,-sticky=>'ew'); $$dbframe->Label(-textvariable=>\$$db{events},-relief=>sunken)->grid(-column=>6,-row=>1,-sticky=>'ew'); $$dbframe->Label(-text=>'Errors:',-relief=>flat)->grid(-column=>7,-row=>1,-sticky=>'ew'); $$dbframe->Label(-textvariable=>\$$db{hard},-relief=>sunken)->grid(-column=>8,-row=>1,-sticky=>'ew'); $$dbframe->Label(-text=>'StartTime:',-relief=>flat)->grid(-column=>7,-row=>0,-sticky=>'ew'); $$dbframe->Label(-textvariable=>\$dbstart,-relief=>sunken)->grid(-column=>8,-row=>0,-sticky=>'ew'); $$dbframe->Label(-text=>'CycleTime:',-relief=>flat)->grid(-column=>9,-row=>0,-sticky=>'ew'); $$dbframe->Label(-textvariable=>\$dbcycle,-relief=>sunken)->grid(-column=>10,-row=>0,-sticky=>'ew'); $$dbframe->Label(-text=>'EndTime:',-relief=>flat)->grid(-column=>11,-row=>0,-sticky=>'ew'); $$dbframe->Label(-textvariable=>\$dbend,-relief=>sunken)->grid(-column=>12,-row=>0,-sticky=>'ew'); $$dbframe->Label(-text=>'LastUpdate:',-relief=>flat)->grid(-column=>11,-row=>1,-sticky=>'ew'); $$dbframe->Label(-textvariable=>\$$db{update},-relief=>sunken)->grid(-column=>12,-row=>1,-sticky=>'ew'); } } while(1) { foreach my $host(@host_list) { foreach my $db(@$host) { $datafile="$datadir/$host/$db"; $dbframe = "dbframe_$db"; dbmopen(%DB, "$datafile", undef); %$db = %DB; $mw->update; dbmclose(%DB); } } $mw->after(1000); }