[LON-CAPA-cvs] cvs: loncom /homework edit.pm functionplotresponse.pm insertlist.xml
www
www@source.lon-capa.org
Sun, 10 Oct 2010 00:14:15 -0000
This is a MIME encoded message
--www1286669655
Content-Type: text/plain
www Sun Oct 10 00:14:15 2010 EDT
Modified files:
/loncom/homework edit.pm functionplotresponse.pm insertlist.xml
Log:
Colorful editor for the existing functionplotresponse tags.
--www1286669655
Content-Type: text/plain
Content-Disposition: attachment; filename="www-20101010001415.txt"
Index: loncom/homework/edit.pm
diff -u loncom/homework/edit.pm:1.130 loncom/homework/edit.pm:1.131
--- loncom/homework/edit.pm:1.130 Sat Oct 9 22:31:49 2010
+++ loncom/homework/edit.pm Sun Oct 10 00:14:15 2010
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# edit mode helpers
#
-# $Id: edit.pm,v 1.130 2010/10/09 22:31:49 www Exp $
+# $Id: edit.pm,v 1.131 2010/10/10 00:14:15 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -405,6 +405,23 @@
</functionplotresponse>';
}
+sub insert_spline {
+ return '
+<spline />';
+}
+
+sub insert_backgroundplot {
+ return '
+<backgroundplot />';
+}
+
+sub insert_splinerule {
+ return '
+<splinerule />';
+}
+
+
+
sub insert_numericalresponse {
return '
<numericalresponse answer="">
Index: loncom/homework/functionplotresponse.pm
diff -u loncom/homework/functionplotresponse.pm:1.12 loncom/homework/functionplotresponse.pm:1.13
--- loncom/homework/functionplotresponse.pm:1.12 Sat Oct 9 22:31:49 2010
+++ loncom/homework/functionplotresponse.pm Sun Oct 10 00:14:15 2010
@@ -1,7 +1,7 @@
# LearningOnline Network with CAPA
# option list style responses
#
-# $Id: functionplotresponse.pm,v 1.12 2010/10/09 22:31:49 www Exp $
+# $Id: functionplotresponse.pm,v 1.13 2010/10/10 00:14:15 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -276,12 +276,28 @@
unless ($function) { $function="0"; }
if ($target eq 'web') {
$result.=&plot_script($internalid,$function,$fixed);
- }
- return $result;
+ } elsif ($target eq 'edit') {
+ $result=&Apache::edit::tag_start($target,$token,'Background Function Plot').
+ &Apache::edit::text_arg('Function:','function',
+ $token,'16').
+ &Apache::edit::select_arg('Fixed location:','fixed',
+ ['yes','no'],$token).
+ &Apache::edit::end_row();
+ } elsif ($target eq 'modified') {
+ my $constructtag=&Apache::edit::get_new_args($token,$parstack,
+ $safeeval,'function','fixed');
+ if ($constructtag) { $result=&Apache::edit::rebuild_tag($token); }
+ }
+ return $result;
}
sub end_backgroundplot {
- return '';
+ my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
+ my $result='';
+ if ($target eq 'edit') {
+ $result=&Apache::edit::end_table();
+ }
+ return $result;
}
#
@@ -291,11 +307,20 @@
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
my $result='';
my $internalid = $Apache::inputtags::part.'_'.$Apache::inputtags::response[-1];
+ if ($target eq 'edit') {
+ $result=&Apache::edit::tag_start($target,$token,'Spline Evaluation Rule').
+ &Apache::edit::end_row();
+ }
return $result;
}
sub end_splinerule {
- return '';
+ my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
+ my $result='';
+ if ($target eq 'edit') {
+ $result=&Apache::edit::end_table();
+ }
+ return $result;
}
@@ -306,36 +331,70 @@
#
sub start_spline {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
- my $label=&Apache::lonxml::get_param('label',$parstack,$safeeval);
- $Apache::functionplotresponse::counter++;
- $label=~s/\W//gs;
- unless ($label) { $label='S'.$Apache::functionplotresponse::counter; }
-
- my $order=&Apache::lonxml::get_param('order',$parstack,$safeeval);
- if ($order<2) { $order=2; }
- if ($order>8) { $order=8; }
- $Apache::functionplotresponse::splineorder{$label}=$order;
-
- my $x=&Apache::lonxml::get_param('initx',$parstack,$safeeval);
- unless ($x) { $x=0; }
- $Apache::functionplotresponse::splineinitx{$label}=$x;
-
- my $y=&Apache::lonxml::get_param('inity',$parstack,$safeeval);
- unless ($y) { $y=0; }
- $Apache::functionplotresponse::splineinity{$label}=$y;
-
- my $sx=&Apache::lonxml::get_param('scalex',$parstack,$safeeval);
- unless ($sx) { $sx=$order; }
- $Apache::functionplotresponse::splinescalex{$label}=$sx;
-
- my $sy=&Apache::lonxml::get_param('scaley',$parstack,$safeeval);
- unless ($sy) { $sy=2; }
- $Apache::functionplotresponse::splinescaley{$label}=$sy;
- return '';
+ my $result='';
+ if ($target eq 'web') {
+ my $label=&Apache::lonxml::get_param('label',$parstack,$safeeval);
+ $Apache::functionplotresponse::counter++;
+ if ($label=~/\W/) {
+ &Apache::lonxml::warning(&mt('Spline labels should only contain alphanumeric characters.'));
+ }
+ $label=~s/\W//gs;
+ unless ($label) { $label='S'.$Apache::functionplotresponse::counter; }
+ if ($Apache::functionplotresponse::splineorder{$label}) {
+ &Apache::lonxml::error(&mt('Spline labels must be unique.'));
+ }
+
+ my $order=&Apache::lonxml::get_param('order',$parstack,$safeeval);
+ if ($order<2) { $order=2; }
+ if ($order>8) { $order=8; }
+ $Apache::functionplotresponse::splineorder{$label}=$order;
+
+ my $x=&Apache::lonxml::get_param('initx',$parstack,$safeeval);
+ unless ($x) { $x=0; }
+ $Apache::functionplotresponse::splineinitx{$label}=$x;
+
+ my $y=&Apache::lonxml::get_param('inity',$parstack,$safeeval);
+ unless ($y) { $y=0; }
+ $Apache::functionplotresponse::splineinity{$label}=$y;
+
+ my $sx=&Apache::lonxml::get_param('scalex',$parstack,$safeeval);
+ unless ($sx) { $sx=$order; }
+ $Apache::functionplotresponse::splinescalex{$label}=$sx;
+
+ my $sy=&Apache::lonxml::get_param('scaley',$parstack,$safeeval);
+ unless ($sy) { $sy=2; }
+ $Apache::functionplotresponse::splinescaley{$label}=$sy;
+ } elsif ($target eq 'edit') {
+ $result=&Apache::edit::tag_start($target,$token,'Spline').
+ &Apache::edit::text_arg('Label:','label',
+ $token,'4').
+ &Apache::edit::select_arg('Order:','order',
+ ['2','3','4','5','6','7','8','9'],$token).
+ &Apache::edit::text_arg('Initial x-value:','initx',
+ $token,'4').
+ &Apache::edit::text_arg('Initial y-value:','inity',
+ $token,'4').
+ &Apache::edit::text_arg('Scale x:','scalex',
+ $token,'4').
+ &Apache::edit::text_arg('Scale y:','scaley',
+ $token,'4').
+ &Apache::edit::end_row();
+ } elsif ($target eq 'modified') {
+ my $constructtag=&Apache::edit::get_new_args($token,$parstack,
+ $safeeval,'label','order','initx','inity',
+ 'scalex','scaley');
+ if ($constructtag) { $result=&Apache::edit::rebuild_tag($token); }
+ }
+ return $result;
}
sub end_spline {
- return '';
+ my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
+ my $result='';
+ if ($target eq 'edit') {
+ $result=&Apache::edit::end_table();
+ }
+ return $result;
}
sub end_init_script {
Index: loncom/homework/insertlist.xml
diff -u loncom/homework/insertlist.xml:1.19 loncom/homework/insertlist.xml:1.20
--- loncom/homework/insertlist.xml:1.19 Sat Oct 9 22:31:49 2010
+++ loncom/homework/insertlist.xml Sun Oct 10 00:14:15 2010
@@ -25,19 +25,19 @@
<tag name="spline">
<description>Spline</description>
<color>#aaff99</color>
- <insert_sub>default</insert_sub>
+ <insert_sub>insert_spline</insert_sub>
<allow></allow>
</tag>
<tag name="backgroundplot">
<description>Background Function Plot</description>
<color>#DDDD55</color>
- <insert_sub>default</insert_sub>
+ <insert_sub>insert_backgroundplot</insert_sub>
<allow></allow>
</tag>
<tag name="splinerule">
<description>Spline Evaluation Rule</description>
<color>#99ff88</color>
- <insert_sub>default</insert_sub>
+ <insert_sub>insert_splinerule</insert_sub>
<allow></allow>
</tag>
<tag name="caparesponse::answergroup">
--www1286669655--