--- db2gantt.cgi 2002/09/13 18:35:50 1.11 +++ 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); @@ -125,18 +127,31 @@ print " | |
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],sprintf("%02d",$hr++ % 24));
+ 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 @@ -224,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; @@ -298,5 +328,5 @@ # it will first evaluate bar sub (thus increasing number by one) and # then display number (wrongly). } -print " |
Reload url(-relative=>1),"\">current.
"; +print "Reload url(-relative=>1),"\">current or see help.