--- loncom/homework/optionresponse.pm 2008/09/11 17:38:14 1.152 +++ loncom/homework/optionresponse.pm 2009/05/04 13:42:50 1.158 @@ -1,7 +1,7 @@ # LearningOnline Network with CAPA # option list style responses # -# $Id: optionresponse.pm,v 1.152 2008/09/11 17:38:14 onken Exp $ +# $Id: optionresponse.pm,v 1.158 2009/05/04 13:42:50 onken Exp $ # # Copyright Michigan State University Board of Trustees # @@ -25,6 +25,11 @@ # # http://www.lon-capa.org/ # + + + + + package Apache::optionresponse; use strict; use Apache::response(); @@ -45,21 +50,23 @@ sub start_optionresponse { %Apache::hint::option=(); undef(%Apache::response::foilnames); if ($target eq 'edit') { - $result.=&Apache::edit::start_table($token). - "Multiple Option Response Question ". - &Apache::loncommon::help_open_topic('Option_Response_Problems')."Delete:". - &Apache::edit::deletelist($target,$token) - ." ". - &Apache::edit::end_row(). - &Apache::edit::start_spanning_row(). - "\n"; + $result.=&Apache::edit::start_table($token) + .''.&mt('Multiple Option Response Question').' ' + .&Apache::loncommon::help_open_topic('Option_Response_Problems')."" + .''.&mt('Delete?').' ' + .&Apache::edit::deletelist($target,$token) + .'' + ." " + .&Apache::edit::end_row() + .&Apache::edit::start_spanning_row() + ."\n"; $result.=&Apache::edit::text_arg('Max Number Of Shown Foils:','max', $token,'4'). - &Apache::edit::select_arg('Randomize Foil Order','randomize', + &Apache::edit::select_arg('Randomize Foil Order:','randomize', ['yes','no'],$token). &Apache::edit::select_arg(&mt('Display of options when printed'),'TeXlayout', - [['horizontal',&mt('Normal list')], - ['vertical',&mt('Listed in a vertical column')]],$token). + [['horizontal','Normal list'], + ['vertical','Listed in a vertical column']],$token). &Apache::edit::end_row().&Apache::edit::start_spanning_row(); } elsif ($target eq 'modified') { my $constructtag=&Apache::edit::get_new_args($token,$parstack, @@ -432,7 +439,8 @@ sub displayfoils { my $lastopt=$lastresponse{$name}; my $optionlist="\n"; - if($target eq 'tex' and $env{'form.pdfFormFields'} eq 'yes') { + if($target eq 'tex' and $env{'form.pdfFormFields'} eq 'yes' + && $Apache::inputtags::status[-1] eq 'CAN_ANSWER') { my $fieldname = $env{'request.symb'}.'&part_'.$Apache::inputtags::part.'&optionresponse'.'&HWVAL_'.$Apache::inputtags::response['-1'].':'.$temp; $optionlist = &Apache::lonxml::print_pdf_start_combobox($fieldname); } @@ -440,13 +448,15 @@ sub displayfoils { foreach my $option (@opt) { my $escopt=&HTML::Entities::encode($option,'\'"&<>'); if ($option eq $lastopt) { - if ($target eq 'tex' && $env{'form.pdfFormFields'} eq 'yes') { + if ($target eq 'tex' && $env{'form.pdfFormFields'} eq 'yes' + && $Apache::inputtags::status[-1] eq 'CAN_ANSWER') { $optionlist .= &Apache::lonxml::print_pdf_add_combobox_option($option); } else { $optionlist.="\n"; } } else { - if ($target eq 'tex' && $env{'form.pdfFormFields'} eq 'yes') { + if ($target eq 'tex' && $env{'form.pdfFormFields'} eq 'yes' + && $Apache::inputtags::status[-1] eq 'CAN_ANSWER') { $optionlist .= &Apache::lonxml::print_pdf_add_combobox_option($option); } else { $optionlist.="\n"; @@ -509,9 +519,9 @@ sub displayfoils { '\end{enumerate} \vskip -8 mm \strut '; $internal_counter++; } - if ($target eq 'tex' && $env{'form.pdfFormFields'} eq 'yes') { - $text =~ s/.*indent(.*)$/$1/; - $text = $1; + if ($target eq 'tex' && $env{'form.pdfFormFields'} eq 'yes' + && $Apache::inputtags::status[-1] eq 'CAN_ANSWER') { + $text =~ s/\\item//m; $result .= " $optionlist ". &Apache::lonxml::print_pdf_end_combobox($text).'\strut \\\\'; $temp++; } @@ -774,3 +784,64 @@ sub insert_drawoptionlist { 1; __END__ +=head1 NAME + +Apache::optionresponse.pm; + +=head1 SYNOPSIS + +Handles tags associated with showing a list of +options. + +This is part of the LearningOnline Network with CAPA project +described at http://www.lon-capa.org. + +=head1 HANDLER SUBROUTINE + +start_optionresponse() + +=head1 OTHER SUBROUTINES + +=over + +=item end_optionresponse() + +=item start_foilgroup() + +=item end_foilgroup() + +=item getfoilcounts() + +=item displayanswers() + +=item check_for_invalid() + +=item displayfoils() + +=item optionlist_correction() + +=item webbubbles() + +=item bubbles() + +=item start_conceptgroup() + +=item end_conceptgroup() + +=item insert_conceptgroup() + +=item start_foil() + +=item end_foil() + +=item start_drawoptionlist() + +=item end_drawoptionlist() + +=item insert_foil() + +=item insert_drawoptionlist() + +=back + +=cut