version 1.175, 2014/06/19 17:23:50
|
version 1.181, 2018/10/24 13:37:43
|
Line 42 use Apache::lonnet;
|
Line 42 use Apache::lonnet;
|
use LONCAPA; |
use LONCAPA; |
|
|
|
|
use vars qw/$weboutputformat $version/; |
use vars qw/$weboutputformat $version $colorprefix/; |
|
|
|
|
|
|
Line 56 BEGIN {
|
Line 56 BEGIN {
|
if ($version >= 4) { |
if ($version >= 4) { |
$weboutputformat = 'png'; |
$weboutputformat = 'png'; |
} |
} |
|
$colorprefix = 'x'; |
|
if ($version > 4.6) { |
|
$colorprefix = '#'; |
|
} |
} |
} |
|
|
|
|
Line 186 my %gnuplot_defaults =
|
Line 189 my %gnuplot_defaults =
|
size => '10' |
size => '10' |
}, |
}, |
bgcolor => { |
bgcolor => { |
default => 'xffffff', |
default => $colorprefix.'ffffff', |
test => $color_test, |
test => $color_test, |
description => 'Background color of image (xffffff)', |
description => 'Background color of image ('.$colorprefix.'ffffff)', |
edit_type => 'entry', |
edit_type => 'entry', |
size => '10', |
size => '10', |
class => 'colorchooser' |
class => 'colorchooser' |
}, |
}, |
fgcolor => { |
fgcolor => { |
default => 'x000000', |
default => $colorprefix.'000000', |
test => $color_test, |
test => $color_test, |
description => 'Foreground color of image (x000000)', |
description => 'Foreground color of image ('.$colorprefix.'000000)', |
edit_type => 'entry', |
edit_type => 'entry', |
size => '10', |
size => '10', |
class => 'colorchooser' |
class => 'colorchooser' |
Line 258 my %gnuplot_defaults =
|
Line 261 my %gnuplot_defaults =
|
test => sub {$_[0]=~/^(left|right|middle|center)$/}, |
test => sub {$_[0]=~/^(left|right|middle|center)$/}, |
description => 'Alignment for image in HTML', |
description => 'Alignment for image in HTML', |
edit_type => 'choice', |
edit_type => 'choice', |
choices => ['left','right','middle'] |
choices => ['left','right','middle','center'] |
}, |
}, |
texwidth => { |
texwidth => { |
default => '93', |
default => '93', |
Line 367 my %gnuplot_defaults =
|
Line 370 my %gnuplot_defaults =
|
}, |
}, |
); |
); |
|
|
|
|
my %key_defaults = |
my %key_defaults = |
( |
( |
title => { |
title => { |
Line 488 my @axis_edit_order = ('color','xmin','x
|
Line 492 my @axis_edit_order = ('color','xmin','x
|
my %axis_defaults = |
my %axis_defaults = |
( |
( |
color => { |
color => { |
default => 'x000000', |
default => $colorprefix.'000000', |
test => $color_test, |
test => $color_test, |
description => 'Color of grid lines (x000000)', |
description => 'Color of grid lines ('.$colorprefix.'000000)', |
edit_type => 'entry', |
edit_type => 'entry', |
size => '10', |
size => '10', |
class => 'colorchooser' |
class => 'colorchooser' |
Line 525 my %axis_defaults =
|
Line 529 my %axis_defaults =
|
}, |
}, |
xformat => { |
xformat => { |
default => 'on', |
default => 'on', |
test => sub {$_[0]=~/^(on|off|\d+(f|F|e|E))$/}, |
test => sub {$_[0]=~/^(on|off|\d+(f|F|e|E|P(|\s*\Q\0317\0200\E)))$/}, |
description => 'X-axis number formatting', |
description => 'X-axis number formatting', |
edit_type => 'choice', |
edit_type => 'choice', |
choices => ['on', 'off', '2e', '2f'], |
choices => ['on', 'off', '2e', '2f'], |
}, |
}, |
yformat => { |
yformat => { |
default => 'on', |
default => 'on', |
test => sub {$_[0]=~/^(on|off|\d+(f|F|e|E))$/}, |
test => sub {$_[0]=~/^(on|off|\d+(f|F|e|E|P(|\s*\Q\0317\0200\E)))$/}, |
description => 'Y-axis number formatting', |
description => 'Y-axis number formatting', |
edit_type => 'choice', |
edit_type => 'choice', |
choices => ['on', 'off', '2e', '2f'], |
choices => ['on', 'off', '2e', '2f'], |
Line 564 my @curve_edit_order = ('color','name','
|
Line 568 my @curve_edit_order = ('color','name','
|
my %curve_defaults = |
my %curve_defaults = |
( |
( |
color => { |
color => { |
default => 'x000000', |
default => $colorprefix.'000000', |
test => $color_test, |
test => $color_test, |
description => 'Color of curve (x000000)', |
description => 'Color of curve ('.$colorprefix.'000000)', |
edit_type => 'entry', |
edit_type => 'entry', |
size => '10', |
size => '10', |
class => 'colorchooser' |
class => 'colorchooser' |
Line 697 sub start_gnuplot {
|
Line 701 sub start_gnuplot {
|
|
|
if ($constructtag) { |
if ($constructtag) { |
# |
# |
# The color chooser does not prepent x to the color values |
# Color chooser does not prepend x (or #) to the color values |
# Do that here: |
# Do that here: |
# |
# |
foreach my $attribute ('bgcolor', 'fgcolor') { |
foreach my $attribute ('bgcolor', 'fgcolor') { |
my $value = $token->[2]{$attribute}; |
my $value = $token->[2]{$attribute}; |
if (defined $value && !($value =~ /^x/)) { |
if (defined $value && ($value !~ /^\Q$colorprefix\E/)) { |
$token->[2]{$attribute} = 'x' . $value; |
$token->[2]{$attribute} = $colorprefix . $value; |
} |
} |
} |
} |
$result = &Apache::edit::rebuild_tag($token); |
$result = &Apache::edit::rebuild_tag($token); |
Line 739 sub end_gnuplot {
|
Line 743 sub end_gnuplot {
|
$filename = &escape($filename); |
$filename = &escape($filename); |
## return image tag for the plot |
## return image tag for the plot |
if ($target eq 'web') { |
if ($target eq 'web') { |
$result .= <<"ENDIMAGE"; |
my $srcatt = "src=\"/cgi-bin/plot.$weboutputformat?file=$filename.data\""; |
<img src = "/cgi-bin/plot.$weboutputformat?file=$filename.data" |
my $widthatt = "width=\"$Apache::lonplot::plot{'width'}\""; |
width = "$Apache::lonplot::plot{'width'}" |
my $heightatt = "height=\"$Apache::lonplot::plot{'height'}\""; |
height = "$Apache::lonplot::plot{'height'}" |
my $alignatt = "align=\"$Apache::lonplot::plot{'align'}\""; |
align = "$Apache::lonplot::plot{'align'}" |
my $altatt = "alt=\"$Apache::lonplot::plot{'alttag'}\""; |
alt = "$Apache::lonplot::plot{'alttag'}" /> |
if ($Apache::lonplot::plot{'align'} eq 'center') { |
ENDIMAGE |
$result .= '<div style="text-align:center">'. |
|
"<img $srcatt $widthatt $heightatt $altatt>". |
|
"</div>\n"; |
|
|
|
} else { |
|
$result .= "<img $srcatt $widthatt $heightatt $alignatt $altatt>"; |
|
} |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
&Apache::lonxml::debug(" gnuplot wid = $Apache::lonplot::plot{'width'}"); |
&Apache::lonxml::debug(" gnuplot wid = $Apache::lonplot::plot{'width'}"); |
&Apache::lonxml::debug(" gnuplot ht = $Apache::lonplot::plot{'height'}"); |
&Apache::lonxml::debug(" gnuplot ht = $Apache::lonplot::plot{'height'}"); |
Line 753 ENDIMAGE
|
Line 763 ENDIMAGE
|
&Apache::lonxml::register_ssi("/cgi-bin/plot.gif?file=$filename.data&output=eps"); |
&Apache::lonxml::register_ssi("/cgi-bin/plot.gif?file=$filename.data&output=eps"); |
$result = "%DYNAMICIMAGE:$Apache::lonplot::plot{'width'}:$Apache::lonplot::plot{'height'}:$Apache::lonplot::plot{'texwidth'}\n"; |
$result = "%DYNAMICIMAGE:$Apache::lonplot::plot{'width'}:$Apache::lonplot::plot{'height'}:$Apache::lonplot::plot{'texwidth'}\n"; |
$result .= '\graphicspath{{'.$tmpdir.'}}'."\n"; |
$result .= '\graphicspath{{'.$tmpdir.'}}'."\n"; |
|
if ($Apache::lonplot::plot{'align'} eq 'center') { |
|
$result .= '\begin{center}'; |
|
} |
$result .= '\includegraphics[width='.$Apache::lonplot::plot{'texwidth'}.' mm]{'.&unescape($filename).'.eps}'; |
$result .= '\includegraphics[width='.$Apache::lonplot::plot{'texwidth'}.' mm]{'.&unescape($filename).'.eps}'; |
|
if ($Apache::lonplot::plot{'align'} eq 'center') { |
|
$result .= '\end{center}'; |
|
} |
} |
} |
} elsif ($target eq 'edit') { |
} elsif ($target eq 'edit') { |
$result.=&Apache::edit::tag_end($target,$token); |
$result.=&Apache::edit::tag_end($target,$token); |
Line 1485 sub start_curve {
|
Line 1501 sub start_curve {
|
($token,$parstack,$safeeval,keys(%curve_defaults)); |
($token,$parstack,$safeeval,keys(%curve_defaults)); |
if ($constructtag) { |
if ($constructtag) { |
# |
# |
# Fix up the color attribute as jcolor does not prepend an x |
# Fix up the color attribute as jcolor does not prepend an x |
|
# (or #) |
# |
# |
my $value = $token->[2]{'color'}; |
my $value = $token->[2]{'color'}; |
if (defined $value && !($value =~ /^x/)) { |
if (defined $value && ($value !~ /^\Q$colorprefix\E/)) { |
$token->[2]{'color'} = 'x' . $value; |
$token->[2]{'color'} = $colorprefix . $value; |
} |
} |
$result = &Apache::edit::rebuild_tag($token); |
$result = &Apache::edit::rebuild_tag($token); |
} |
} |
Line 1643 sub start_axis {
|
Line 1660 sub start_axis {
|
if ($constructtag) { |
if ($constructtag) { |
# |
# |
# Fix up the color attribute since jchooser does not |
# Fix up the color attribute since jchooser does not |
# prepend an x to the color: |
# prepend an x (or #) to the color: |
# |
# |
my $value = $token->[2]{'color'}; |
my $value = $token->[2]{'color'}; |
if (defined $value && !($value =~ /^x/)) { |
if (defined $value && ($value !~ /^\Q$colorprefix\E/)) { |
$token->[2]{'color'} = 'x' . $value; |
$token->[2]{'color'} = $colorprefix . $value; |
} |
} |
|
|
$result = &Apache::edit::rebuild_tag($token); |
$result = &Apache::edit::rebuild_tag($token); |