--- 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 {