--- db2gantt.cgi 2002/09/13 16:54:44 1.10 +++ db2gantt.cgi 2002/09/14 20:03:36 1.15 @@ -11,7 +11,7 @@ my $debug = 0; my $width = 600; # width of bar -my $height = 12; # height of bar +my $height = 19; # height of bar my $use_js = 1; # use JavaScript pop-up # status colors @@ -75,10 +75,12 @@ } print "Content-type: text/html +Cache-Control: max-age=60, must-revalidate
-Specification | "; print mknav(($from_t-$int_t),$to_t,'<<'),$from; print mknav(($from_t+$int_t),$to_t,'>>') if ($from_t+$int_t < $to_t); @@ -121,18 +123,35 @@ print $to,mknav($from_t,($to_t+$int_t),'>>')," | ||||
hour grid | ";
-my @c = ("255,255,128","255,192,128");
-my $hr=strftime("%H",localtime ($from_t));
-print color_bar(3600 - $from_t % 3600,$c[0],$hr++ % 24);
-for (my $i=1; $ihour grid | ";
+ my @c = ("255,255,128","255,192,128");
+ my $hr=strftime("%H",localtime ($from_t));
+ sub hour_bar {
+ my ($t,$c,$hr) = @_;
+ my $clock_hr = $hr % 24;
+ my $alt = sprintf("%02d:00",$clock_hr);
+ if ($clock_hr == 0) {
+ my $pix_hr = int(1 / $width);
+ print color_bar($pix_hr,"0,0,0",strftime("%Y-%m-%d", localtime($from_t + $hr*3600)));
+ print color_bar($t-$pix_hr,$c,$alt);
+ } else {
+ print color_bar($t,$c,$alt);
+ }
+ }
+ hour_bar(3600 - $from_t % 3600,$c[0],$hr++);
+ for (my $i=1; $i | | ||
", $row->{specification}," | "; $curr_t = $from_t; # init timeline @@ -220,14 +250,18 @@ } - my $start_t = m_round(str2time($row->{start})); - my $fin_t = m_round(str2time($row->{finish})); + my $start_t = str2time($row->{start}); + my $fin_t = str2time($row->{finish}); - if ($start_t > $curr_t + 60) { + # Can I squeeze here 1 pixel of time (many seconds) ? + if ($start_t > $curr_t + ($len_t / $width)) { my $t = $start_t - $curr_t; print STDERR "[middle filler $curr_t:$t]" if ($debug); print bar($t); $curr_t = $start_t; + } else { + # prepend too few seconds to next event + $start_t = $curr_t; } my $len = $fin_t - $start_t; @@ -276,7 +310,9 @@ undef $sth; $dbh->disconnect; -print " |
Reload url(-relative=>1),"\">current.
"; +print "\nReload url(-relative=>1),"\">current or see help.