--- loncom/homework/edit.pm 2003/05/06 11:54:08 1.49 +++ loncom/homework/edit.pm 2003/10/06 20:11:38 1.57.2.2 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # edit mode helpers # -# $Id: edit.pm,v 1.49 2003/05/06 11:54:08 www Exp $ +# $Id: edit.pm,v 1.57.2.2 2003/10/06 20:11:38 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -75,13 +75,7 @@ sub tag_end { my ($target,$token,$description) = @_; my $result=''; if ($target eq 'edit') { - my $tag=$token->[1]; - if (!defined($description)) { - $result.="</$tag> "; - } else { - if ($description ne '') { $result.="$description "; } - } - $result.="".&end_table()."\n"; + $result.="".&end_table()."\n"; } return $result; } @@ -310,6 +304,16 @@ sub insert_essayresponse { '; } +sub insert_imageresponse { + return ' + + + + + +'; +} + sub insert_optionresponse { return ' @@ -386,6 +390,12 @@ sub insert_radiobuttonhint { '; } +sub insert_optionhint { + return ' + +'; +} + sub insert_startouttext { return "\n"; } @@ -398,9 +408,11 @@ sub textarea_sizes { my ($data)=@_; my $count=0; my $maxlength=-1; - foreach (split ("\n", $$data)) { $count++; - if (length($_) > $maxlength) { $maxlength = length($_); } - } + foreach (split ("\n", $$data)) { + $count+=int(length($_)/79); + $count++; + if (length($_) > $maxlength) { $maxlength = length($_); } + } my $rows = $count; my $cols = $maxlength; return ($rows,$cols); @@ -454,7 +466,7 @@ sub get_new_args { my $element=&html_element_name($arg); my $newvalue=$ENV{"form.$element"}; &Apache::lonxml::debug(" for:$arg: cur is :$value: new is :$newvalue:"); - if ($value ne $newvalue) { + if (defined($newvalue) && $value ne $newvalue) { $token->[2]->{$arg}=$newvalue; $rebuild=1; } @@ -506,7 +518,7 @@ sub text_arg { my $arg=$token->[2]{$name}; $result=$description.' '; - return $result; + return ''.$result.''; } sub select_arg { @@ -515,23 +527,25 @@ sub select_arg { my $optionlist=""; my $selected=$token->[2]{$name}; foreach my $option (@$list) { - my $value; + my ($text,$value); if ( ref($option) eq 'ARRAY') { $value='value="'.$$option[0].'"'; - $option=$$option[1]; + $text=$$option[1]; + $option=$$option[0]; } else { + $text=$option; $value='value="'.$option.'"'; } if ( $selected eq $option ) { - $optionlist.="\n"; + $optionlist.="\n"; } else { - $optionlist.="\n"; + $optionlist.="\n"; } } - $result.=$description.'  '.$optionlist.' - '; + '; return $result; } @@ -542,18 +556,20 @@ sub select_or_text_arg { my $found=0; my $selected=$token->[2]{$name}; foreach my $option (@$list) { - my $value; + my ($text,$value); if ( ref($option) eq 'ARRAY') { $value='value="'.$$option[0].'"'; - $option=$$option[1]; + $text=$$option[1]; + $option=$$option[0]; } else { + $text=$option; $value='value="'.$option.'"'; } if ( $selected eq $option ) { - $optionlist.="\n"; + $optionlist.="\n"; $found=1; } else { - $optionlist.="\n"; + $optionlist.="\n"; } } $optionlist.="\n"; @@ -565,7 +581,7 @@ sub select_or_text_arg { } else { $result.=&text_arg($description,$name,$token,$size); } - return $result; + return ''.$result.''; } #----------------------------------------------------- image coordinates @@ -621,7 +637,7 @@ sub entercoordpair { $formwidth='&formwidth='.$width.'_'.$Apache::edit::bgimgsrccurdepth; } my $result = <<"ENDBUTTON"; -Click Coordinate Pair ENDBUTTON return $result; @@ -639,7 +655,7 @@ sub browse { $Apache::lonxml::curdepth); } my $result = <<"ENDBUTTON"; -Browse +Select ENDBUTTON return $result; }