--- loncom/homework/radiobuttonresponse.pm 2004/03/31 05:23:59 1.87 +++ loncom/homework/radiobuttonresponse.pm 2004/08/30 02:03:44 1.93 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # mutliple choice style responses # -# $Id: radiobuttonresponse.pm,v 1.87 2004/03/31 05:23:59 albertel Exp $ +# $Id: radiobuttonresponse.pm,v 1.93 2004/08/30 02:03:44 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -77,6 +77,8 @@ sub start_radiobuttonresponse { $result .= ' \renewcommand{\labelenumi}{\alph{enumi}.}'; } elsif ($type eq 'i') { $result .= ' \renewcommand{\labelenumi}{\roman{enumi}.}'; + } else { + $result .= ' \renewcommand{\labelenumi}{\Alph{enumi}.}'; } $result .= '\begin{enumerate}'; } elsif ($target eq 'analyze') { @@ -104,7 +106,7 @@ sub start_foilgroup { my $result; %Apache::response::foilgroup=(); $Apache::radiobuttonresponse::conceptgroup=0; - &Apache::response::setrandomnumber(); + &Apache::response::pushrandomnumber(); if ($target eq 'tex' && $Apache::lonhomework::type eq 'exam') { $result.='\item[\textbf{'.$Apache::lonxml::counter.'}.]'; } @@ -165,9 +167,11 @@ sub end_foilgroup { if ($target eq 'grade' || $target eq 'web' || $target eq 'answer' || $target eq 'tex' || $target eq 'analyze') { my $style = $Apache::lonhomework::type; + my $direction = &Apache::lonxml::get_param('direction',$parstack, + $safeeval,'-2'); if ( $style eq 'survey' && $target ne 'analyze') { if ($target eq 'web' || $target eq 'tex') { - $result=&displayallfoils(); + $result=&displayallfoils($direction); } elsif ( $target eq 'answer' ) { $result=&displayallanswers(); } elsif ( $target eq 'grade' ) { @@ -180,7 +184,7 @@ sub end_foilgroup { my $randomize = &Apache::lonxml::get_param('randomize',$parstack, $safeeval,'-2'); if ($target eq 'web' || $target eq 'tex') { - $result=&displayfoils($target,$max,$randomize); + $result=&displayfoils($target,$max,$randomize,$direction); } elsif ($target eq 'answer' ) { $result=&displayanswers($max,$randomize); } elsif ( $target eq 'grade') { @@ -195,6 +199,7 @@ sub end_foilgroup { } } } + &Apache::response::poprandomnumber(); &Apache::lonxml::increment_counter(); return $result; } @@ -218,6 +223,7 @@ sub getfoilcounts { } sub displayallfoils { + my ($direction)=@_; my $result; &Apache::lonxml::debug("survey style display"); my @names = @{ $Apache::response::foilgroup{'names'} }; @@ -226,11 +232,16 @@ sub displayallfoils { my $part=$Apache::inputtags::part; my $lastresponse= $Apache::lonhomework::history{"resource.$part.$id.submission"}; + if ($direction eq 'horizontal') { $result.='
";
+ } else {
+ $result.=" "; + } if (defined($lastresponse{$name})) { $result.=''; } @@ -238,18 +249,26 @@ sub displayallfoils { if (defined($lastresponse{$name})) { $result.=''; } + if ($direction eq 'horizontal') { $result.=" | "; }
}
}
} else {
foreach my $name (@names) {
if ($Apache::response::foilgroup{$name.'.value'} ne 'unused') {
- $result.="
'; }
+ }
if ($target ne 'tex') {
$result.=" "; } else { @@ -406,14 +433,19 @@ sub displayfoils { } else { $result.='Incorrect:'; } - if ($target ne 'tex') { - $result.=$Apache::response::foilgroup{$name.'.text'}."\n"; - } else { - $result.=$Apache::response::foilgroup{$name.'.text'}; - } + $result.=$Apache::response::foilgroup{$name.'.text'}; + if ($target eq 'web') { $result.=""; } if ($Apache::response::foilgroup{$name.'.value'} eq 'true') { if ($target ne 'tex') { $result.='';} else {$result.='}';} } + if ($direction eq 'horizontal') { + if ($target ne 'tex') { $result.=' | '; }
+ }
+ }
+ if ($direction eq 'horizontal') {
+ if ($target ne 'tex') {
+ $result.='