--- loncom/homework/radiobuttonresponse.pm 2007/07/17 20:44:07 1.124 +++ loncom/homework/radiobuttonresponse.pm 2008/12/11 03:29:30 1.134.2.1 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # mutliple choice style responses # -# $Id: radiobuttonresponse.pm,v 1.124 2007/07/17 20:44:07 albertel Exp $ +# $Id: radiobuttonresponse.pm,v 1.134.2.1 2008/12/11 03:29:30 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -18,8 +18,7 @@ # 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 +# 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 # @@ -56,8 +55,6 @@ sub start_radiobuttonresponse { my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; my $result; - - #when in a radiobutton response use these &Apache::lonxml::register('Apache::radiobuttonresponse',('foilgroup','foil','conceptgroup')); push (@Apache::lonxml::namespace,'radiobuttonresponse'); @@ -68,19 +65,21 @@ sub start_radiobuttonresponse { if ($target eq 'meta') { $result=&Apache::response::meta_package_write('radiobuttonresponse'); } elsif ($target eq 'edit' ) { - $result.=&Apache::edit::start_table($token). - ''.&Apache::lonxml::description($token). - &Apache::loncommon::help_open_topic('Radio_Response_Problems'). - "Delete:". - &Apache::edit::deletelist($target,$token) - ." ".&Apache::edit::end_row() - .&Apache::edit::start_spanning_row(); + $result.=&Apache::edit::start_table($token) + .''.&Apache::lonxml::description($token) + .&Apache::loncommon::help_open_topic('Radio_Response_Problems') + .'' + .''.&mt('Delete?').' ' + .&Apache::edit::deletelist($target,$token) + .'' + .' '.&Apache::edit::end_row() + .&Apache::edit::start_spanning_row(); $result.= &Apache::edit::text_arg('Max Number Of Shown Foils:','max', - $token,'4'). - &Apache::edit::select_arg('Randomize Foil Order','randomize', - ['yes','no'],$token). - &Apache::edit::select_arg('Display Direction','direction', + $token,'4').' 'x 3 . + &Apache::edit::select_arg('Randomize Foil Order:','randomize', + ['yes','no'],$token).' 'x 3 . + &Apache::edit::select_arg('Display Direction:','direction', ['vertical','horizontal'],$token). &Apache::edit::end_row(). &Apache::edit::start_spanning_row()."\n"; @@ -106,6 +105,7 @@ sub start_radiobuttonresponse { $result .= '\begin{enumerate}'; } elsif ($target eq 'analyze') { my $part_id="$Apache::inputtags::part.$id"; + $Apache::lonhomework::analyze{"$part_id.type"} = 'radiobuttonresponse'; push (@{ $Apache::lonhomework::analyze{"parts"} },$part_id); } return $result; @@ -202,7 +202,8 @@ sub end_foilgroup { my $bubble_lines; my $bubbles_per_line; my $answer_count; - my $id = $Apache::inputtags::response['-1']; + my $id = $Apache::inputtags::response['-1']; + my $part = $Apache::inputtags::part; $bubbles_per_line = &Apache::response::get_response_param($Apache::inputtags::part."_$id", 'numbubbles', @@ -244,11 +245,14 @@ sub end_foilgroup { } elsif ( $target eq 'grade') { &grade_response($answer, \@shown, $bubbles_per_line); } elsif ( $target eq 'analyze') { + my $bubble_lines = &bubble_line_count($answer_count, + $bubbles_per_line); &Apache::response::analyze_store_foilgroup(\@shown, ['text','value','location']); - my $part_id="$Apache::inputtags::part.$Apache::inputtags::response[-1]"; + my $part_id="$part.$id"; push (@{ $Apache::lonhomework::analyze{"$part_id.options"} }, ('true','false')); + } } $Apache::lonxml::post_evaluate=0; @@ -257,9 +261,13 @@ sub end_foilgroup { &Apache::response::setup_prior_tries_hash(\&format_prior_answer, [\%Apache::response::foilgroup]); } - $bubble_lines = &bubble_line_count($answer_count, $bubbles_per_line); &Apache::response::poprandomnumber(); - &Apache::lonxml::increment_counter($bubble_lines); + $bubble_lines = &bubble_line_count($answer_count, $bubbles_per_line); + &Apache::lonxml::increment_counter($bubble_lines, + "$part.$id"); + if ($target eq 'analyze') { + &Apache::lonhomework::set_bubble_lines(); + } return $result; } @@ -296,7 +304,6 @@ sub displayallfoils { my $result; &Apache::lonxml::debug("survey style display"); my @names; - &Apache::lonnet::loghthis("Display all foils"); if ( $Apache::response::foilgroup{'names'} ) { @names= @{ $Apache::response::foilgroup{'names'} }; } @@ -437,7 +444,7 @@ sub whichfoils { } } if (!$havetrue && $Apache::lonhomework::type ne 'survey') { - &Apache::lonxml::error("There are no true statements available.
"); + &Apache::lonxml::error(&mt('There are no true statements available.').'
'); } } else { my $current=0; @@ -498,7 +505,7 @@ sub whichfoils { my $dosplice=1; if ($notrue && $Apache::lonhomework::type ne 'survey') { $dosplice=0; - &Apache::lonxml::error("There are no true statements available.
"); + &Apache::lonxml::error(&mt('There are no true statements available.').'
'); } #insert the true statement, keeping track of where it wants to be if ($Apache::response::foilgroup{$truename.'.location'} eq 'top' && $dosplice) { @@ -562,9 +569,13 @@ sub displayfoils { $result.='\item \vskip -2 mm '; } if ($Apache::response::foilgroup{$name.'.value'} eq 'true') { - if ($target ne 'tex') { $result.='Correct:'; } else { $result.='Correct: \textbf{';} + if ($target ne 'tex') { + $result.=&mt('Correct:').''; + } else { + $result.=&mt('Correct:').' \textbf{'; + } } else { - $result.='Incorrect:'; + $result.=&mt('Incorrect:'); } if ($target eq 'web') { $result.="