--- loncom/homework/edit.pm 2001/10/09 20:45:13 1.22
+++ loncom/homework/edit.pm 2001/12/04 14:47:33 1.25
@@ -1,5 +1,30 @@
# The LearningOnline Network with CAPA
# edit mode helpers
+#
+# $Id: edit.pm,v 1.25 2001/12/04 14:47:33 albertel Exp $
+#
+# Copyright Michigan State University Board of Trustees
+#
+# This file is part of the LearningOnline Network with CAPA (LON-CAPA).
+#
+# LON-CAPA is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# LON-CAPA is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with LON-CAPA; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# /home/httpd/html/adm/gpl.txt
+#
+# http://www.lon-capa.org/
+#
# 3/20 Guy
package Apache::edit;
@@ -60,7 +85,7 @@ sub start_table {
my $tag = $token->[1];
my $tagnum;
foreach my $namespace (reverse @Apache::lonxml::namespace) {
- my $testtag=$Apache::lonxml::namespace['-1'].'::'.$tag;
+ my $testtag=$namespace.'::'.$tag;
$tagnum=$Apache::lonxml::insertlist{"$testtag.num"};
if (defined($tagnum)) { last; }
}
@@ -189,6 +214,15 @@ sub insert_responseparam {
';
}
+sub insert_formularesponse {
+ return '
+
+
+
+
+';
+}
+
sub insert_numericalresponse {
return '
@@ -217,6 +251,16 @@ sub insert_optionresponse {
';
}
+sub insert_radiobuttonresponse {
+ return '
+
+
+
+
+
+';
+}
+
sub insert_displayduedate { return ''; }
sub insert_displaytitle { return ''; }
sub insert_hintpart {
@@ -233,22 +277,35 @@ sub insert_numericalhint {
';
}
-sub editfield {
- my ($tag,$data,$description,$minwidth,$minheight)=@_;
+sub insert_startouttext {
+ return "\n";
+}
+sub insert_script {
+ return "\n";
+}
+
+sub textarea_sizes {
+ my ($data)=@_;
my $count=0;
my $maxlength=-1;
map { $count++;
- if (length($_) > $maxlength) { $maxlength = length ($_); }
- } split ("\n", $data);
- if ($maxlength > 80) { $maxlength = 80; }
- if ($maxlength < $minwidth) { $maxlength = $minwidth; }
- if ( $count < $minheight) { $count = $minheight; }
- if ($description) {
- $description="
".$description."
";
- }
- return "$description\n \n";
-# return "
\n<$tag>
\n
\n</$tag>
\n";
+ if (length($_) > $maxlength) { $maxlength = length($_); }
+ } split ("\n", $$data);
+ my $rows = $count;
+ my $cols = $maxlength;
+ return ($rows,$cols);
+}
+
+sub editfield {
+ my ($tag,$data,$description,$minwidth,$minheight)=@_;
+
+ my ($rows,$cols)=&textarea_sizes(\$data);
+ if ($cols > 80) { $cols = 80; }
+ if ($cols < $minwidth ) { $cols = $minwidth; }
+ if ($rows < $minheight) { $rows = $minheight; }
+ if ($description) { $description="
".$description."
"; }
+ return "$description\n \n";
}
sub modifiedfield {
@@ -270,14 +327,6 @@ sub modifiedfield {
return $result;
}
-sub insert_startouttext {
- return "\n";
-}
-
-sub insert_script {
- return "\n";
-}
-
# Returns a 1 if the token has been modified and you should rebuild the tag
# side-effects, will modify the $token if new values are found
sub get_new_args {