version 1.22, 2010/11/01 00:04:09
|
version 1.23, 2010/11/06 14:37:24
|
Line 363 sub end_splinerule {
|
Line 363 sub end_splinerule {
|
|
|
|
|
# |
# |
# <spline label="..." order="1,2,3,4" initx="..." inity="..." scalex="..." scaley="..." /> |
# <spline index="..." order="1,2,3,4" initx="..." inity="..." scalex="..." scaley="..." /> |
# |
# |
# Unfortunately, GeoGebra seems to want all splines after everything else, so we need to store them |
# Unfortunately, GeoGebra seems to want all splines after everything else, so we need to store them |
# |
# |
Line 371 sub start_spline {
|
Line 371 sub start_spline {
|
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my $result=''; |
my $result=''; |
if ($target eq 'web') { |
if ($target eq 'web') { |
my $label=&Apache::lonxml::get_param('label',$parstack,$safeeval); |
my $label=&Apache::lonxml::get_param('index',$parstack,$safeeval); |
$Apache::functionplotresponse::counter++; |
$Apache::functionplotresponse::counter++; |
if ($label=~/\W/) { |
if ($label=~/\W/) { |
&Apache::lonxml::warning(&mt('Spline labels should only contain alphanumeric characters.')); |
&Apache::lonxml::warning(&mt('Spline indices should only contain alphanumeric characters.')); |
} |
} |
$label=~s/\W//gs; |
$label=~s/\W//gs; |
unless ($label) { $label='S'.$Apache::functionplotresponse::counter; } |
unless ($label) { |
|
$label='S'.$Apache::functionplotresponse::counter; |
|
} else { |
|
$label='S'.$label; |
|
} |
if ($Apache::functionplotresponse::splineorder{$label}) { |
if ($Apache::functionplotresponse::splineorder{$label}) { |
&Apache::lonxml::error(&mt('Spline labels must be unique.')); |
&Apache::lonxml::error(&mt('Spline indices must be unique.')); |
} |
} |
|
|
my $order=&Apache::lonxml::get_param('order',$parstack,$safeeval); |
my $order=&Apache::lonxml::get_param('order',$parstack,$safeeval); |
Line 404 sub start_spline {
|
Line 408 sub start_spline {
|
$Apache::functionplotresponse::splinescaley{$label}=$sy; |
$Apache::functionplotresponse::splinescaley{$label}=$sy; |
} elsif ($target eq 'edit') { |
} elsif ($target eq 'edit') { |
$result=&Apache::edit::tag_start($target,$token,'Spline'). |
$result=&Apache::edit::tag_start($target,$token,'Spline'). |
&Apache::edit::text_arg('Label:','label', |
&Apache::edit::text_arg('Index:','index', |
$token,'4').' '. |
$token,'4').' '. |
&Apache::edit::select_arg('Order:','order', |
&Apache::edit::select_arg('Order:','order', |
['2','3','4','5','6','7','8','9'],$token).' '. |
['2','3','4','5','6','7','8','9'],$token).' '. |
Line 419 sub start_spline {
|
Line 423 sub start_spline {
|
&Apache::edit::end_row(); |
&Apache::edit::end_row(); |
} elsif ($target eq 'modified') { |
} elsif ($target eq 'modified') { |
my $constructtag=&Apache::edit::get_new_args($token,$parstack, |
my $constructtag=&Apache::edit::get_new_args($token,$parstack, |
$safeeval,'label','order','initx','inity', |
$safeeval,'index','order','initx','inity', |
'scalex','scaley'); |
'scalex','scaley'); |
if ($constructtag) { $result=&Apache::edit::rebuild_tag($token); } |
if ($constructtag) { $result=&Apache::edit::rebuild_tag($token); } |
} |
} |