version 1.75, 2005/05/24 10:10:16
|
version 1.76, 2005/05/31 22:14:32
|
Line 67 my $cgi_id;
|
Line 67 my $cgi_id;
|
my $scale_factor; # image scale factor. |
my $scale_factor; # image scale factor. |
my $label_xscale; # Label scale factor (needed for gnuplot). |
my $label_xscale; # Label scale factor (needed for gnuplot). |
my $label_yscale; |
my $label_yscale; |
|
my $gnuplot_background; # This will be true if a gnuplot backgound |
|
|
|
|
BEGIN { |
BEGIN { |
&Apache::lonxml::register('Apache::randomlabel',('randomlabel','labelgroup','location','label','bgimg')); |
&Apache::lonxml::register('Apache::randomlabel',('randomlabel','labelgroup','location','label','bgimg')); |
} |
} |
|
|
|
# Gnuplot calback called if a </gnuplot> tag is encountered: |
|
# |
|
sub gnuplot_handler { |
|
$gnuplot_background = 1; |
|
} |
|
|
sub check_int { |
sub check_int { |
# utility function to do error checking on a integer. |
# utility function to do error checking on a integer. |
my ($num,$default) = @_; |
my ($num,$default) = @_; |
Line 85 sub check_int {
|
Line 94 sub check_int {
|
|
|
my ($height_param,$width_param); |
my ($height_param,$width_param); |
sub start_randomlabel { |
sub start_randomlabel { |
|
|
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
|
$gnuplot_background = 0; |
|
&Apache::lonplot::register_callback(\&gnuplot_handler); |
my $result=''; |
my $result=''; |
push (@Apache::lonxml::namespace,'randomlabel'); |
push (@Apache::lonxml::namespace,'randomlabel'); |
($height_param,$width_param)=(0,0); |
($height_param,$width_param)=(0,0); |
Line 147 sub end_randomlabel {
|
Line 159 sub end_randomlabel {
|
} elsif ($target eq 'edit') { |
} elsif ($target eq 'edit') { |
$result.=&Apache::edit::end_table; |
$result.=&Apache::edit::end_table; |
} |
} |
|
&Apache::lonplot::clear_callback(); |
return $result; |
return $result; |
} |
} |
|
|
Line 170 sub end_bgimg {
|
Line 183 sub end_bgimg {
|
# If it's a gnuplot the uncleaned image will have |
# If it's a gnuplot the uncleaned image will have |
# the text "dynamically generated plot" |
# the text "dynamically generated plot" |
# and "cgi-bin/plot.gif?" |
# and "cgi-bin/plot.gif?" |
if ( ($bgimg =~ /dynamically generated plot/) && |
if ( $gnuplot_background) { |
($bgimg =~ /cgi-bin\/plot.gif\?/) ) { |
|
&Apache::lonxml::debug("Gnuplot image!"); |
&Apache::lonxml::debug("Gnuplot image!"); |
my $plot_x = $Apache::lonplot::plot{'width'}; |
my $plot_x = $Apache::lonplot::plot{'width'}; |
my $plot_y = $Apache::lonplot::plot{'height'}; |
my $plot_y = $Apache::lonplot::plot{'height'}; |
Line 195 sub end_bgimg {
|
Line 207 sub end_bgimg {
|
$src =~ s/^\s+//s; |
$src =~ s/^\s+//s; |
|
|
|
|
if ($src =~ /^\\graphicspath/) { |
if ($gnuplot_background) { |
$height_param = $Apache::lonplot::plot{'height'}; |
$height_param = $Apache::lonplot::plot{'height'}; |
my $initial_width= $Apache::lonplot::plot{'width'}; |
my $initial_width= $Apache::lonplot::plot{'width'}; |
$width_param = $Apache::lonplot::plot{'texwidth'}; |
$width_param = $Apache::lonplot::plot{'texwidth'}; |