version 1.33, 2002/01/06 02:19:25
|
version 1.34, 2002/01/08 21:41:20
|
Line 28
|
Line 28
|
# 12/15/01 Matthew |
# 12/15/01 Matthew |
# 12/17 12/18 12/19 12/20 12/21 12/27 12/28 12/30 12/31 Matthew |
# 12/17 12/18 12/19 12/20 12/21 12/27 12/28 12/30 12/31 Matthew |
# 01/01/02 Matthew |
# 01/01/02 Matthew |
# 01/02 01/03 Matthew |
# 01/02 01/03 01/04 Matthew |
package Apache::lonplot; |
package Apache::lonplot; |
|
|
use strict; |
use strict; |
Line 84 my %linestyles =
|
Line 84 my %linestyles =
|
steps => 2, # now there are more important things |
steps => 2, # now there are more important things |
fsteps => 2, # for me to deal with. |
fsteps => 2, # for me to deal with. |
histeps => 2, |
histeps => 2, |
errorbars => 2, |
errorbars => 3, |
xerrorbars => 2, |
xerrorbars => [3,4], |
yerrorbars => 2, |
yerrorbars => [3,4], |
xyerrorbars => 2, |
xyerrorbars => [4,6,7], |
boxes => 2, |
boxes => 3, |
boxerrorbars => 2, |
boxerrorbars => [3,4,5], |
boxxyerrorbars => 2, |
boxxyerrorbars => [4,6,7], |
financebars => 2, |
financebars => 5, |
candlesticks => 2, |
candlesticks => 5, |
vector => 2 |
vector => 2 |
); |
); |
|
|
Line 111 my $words_test = sub {$_[0]=~s/\s+/
|
Line 111 my $words_test = sub {$_[0]=~s/\s+/
|
## Attribute metadata ## |
## Attribute metadata ## |
## ## |
## ## |
################################################################### |
################################################################### |
|
my @plot_edit_order = |
|
qw/bgcolor fgcolor height width font transparent grid border/; |
my %plot_defaults = |
my %plot_defaults = |
( |
( |
height => { |
height => { |
Line 140 my %plot_defaults =
|
Line 142 my %plot_defaults =
|
transparent => { |
transparent => { |
default => 'off', |
default => 'off', |
test => $onoff_test, |
test => $onoff_test, |
description => '', |
description => 'Transparent image', |
edit_type => 'on_off' |
edit_type => 'on_off' |
}, |
}, |
grid => { |
grid => { |
default => 'off', |
default => 'off', |
test => $onoff_test, |
test => $onoff_test, |
description => '', |
description => 'Display grid', |
edit_type => 'on_off' |
edit_type => 'on_off' |
}, |
}, |
border => { |
border => { |
default => 'on', |
default => 'on', |
test => $onoff_test, |
test => $onoff_test, |
description => '', |
description => 'Draw border around plot', |
edit_type => 'on_off' |
edit_type => 'on_off' |
}, |
}, |
font => { |
font => { |
Line 304 sub start_plot {
|
Line 306 sub start_plot {
|
$tagstack->[-1]); |
$tagstack->[-1]); |
} elsif ($target eq 'edit') { |
} elsif ($target eq 'edit') { |
$result .= &Apache::edit::tag_start($target,$token,'Plot'); |
$result .= &Apache::edit::tag_start($target,$token,'Plot'); |
$result .= &edit_attributes($target,$token,\%plot_defaults); |
$result .= &edit_attributes($target,$token,\%plot_defaults, |
|
\@plot_edit_order); |
} elsif ($target eq 'modified') { |
} elsif ($target eq 'modified') { |
my $constructtag=&Apache::edit::get_new_args |
my $constructtag=&Apache::edit::get_new_args |
($token,$parstack,$safeeval,keys(%plot_defaults)); |
($token,$parstack,$safeeval,keys(%plot_defaults)); |
Line 798 sub check_inputs {
|
Line 801 sub check_inputs {
|
## Make sure we have all the input we need: |
## Make sure we have all the input we need: |
if (! %plot) { &set_defaults(\%plot,\%plot_defaults); } |
if (! %plot) { &set_defaults(\%plot,\%plot_defaults); } |
if (! %key ) {} # No key for this plot, thats okay |
if (! %key ) {} # No key for this plot, thats okay |
if (! %axis) { &set_defaults(\%axis,\%axis_defaults); } |
# if (! %axis) { &set_defaults(\%axis,\%axis_defaults); } |
if (! defined($title )) {} # No title for this plot, thats okay |
if (! defined($title )) {} # No title for this plot, thats okay |
if (! defined($xlabel)) {} # No xlabel for this plot, thats okay |
if (! defined($xlabel)) {} # No xlabel for this plot, thats okay |
if (! defined($ylabel)) {} # No ylabel for this plot, thats okay |
if (! defined($ylabel)) {} # No ylabel for this plot, thats okay |
Line 818 sub check_inputs {
|
Line 821 sub check_inputs {
|
|
|
#------------------------------------------------ make_edit |
#------------------------------------------------ make_edit |
sub edit_attributes { |
sub edit_attributes { |
my ($target,$token,$defaults) = @_; |
my ($target,$token,$defaults,$keys) = @_; |
my $result; |
my ($result,@keys); |
foreach my $attr (sort keys(%$defaults)) { |
if ($keys && ref($keys) eq 'ARRAY') { |
|
@keys = @$keys; |
|
} else { |
|
@keys = sort(keys(%$defaults)); |
|
} |
|
foreach my $attr (@keys) { |
if ($defaults->{$attr}->{'edit_type'} eq 'entry') { |
if ($defaults->{$attr}->{'edit_type'} eq 'entry') { |
$result .= &Apache::edit::text_arg( |
$result .= &Apache::edit::text_arg( |
$defaults->{$attr}->{'description'}, |
$defaults->{$attr}->{'description'}, |
Line 832 sub edit_attributes {
|
Line 840 sub edit_attributes {
|
$attr, |
$attr, |
$defaults->{$attr}->{'choices'}, |
$defaults->{$attr}->{'choices'}, |
$token); |
$token); |
|
} elsif ($defaults->{$attr}->{'edit_type'} eq 'on_off') { |
|
$result .= &Apache::edit::select_arg( |
|
$defaults->{$attr}->{'description'}, |
|
$attr, |
|
['on','off'], |
|
$token); |
} |
} |
$result .= '<br />'; |
$result .= '<br />'; |
} |
} |