--- loncom/homework/matchresponse.pm 2008/10/24 16:22:54 1.72
+++ loncom/homework/matchresponse.pm 2009/11/23 12:05:36 1.77
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Full matching style response
#
-# $Id: matchresponse.pm,v 1.72 2008/10/24 16:22:54 bisitz Exp $
+# $Id: matchresponse.pm,v 1.77 2009/11/23 12:05:36 foxr Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -54,11 +54,11 @@ sub start_matchresponse {
$result=&Apache::response::meta_package_write('matchresponse');
} elsif ($target eq 'edit' ) {
$result.=&Apache::edit::start_table($token).
- '
'.&Apache::lonxml::description($token)." | "
+ '
'.&Apache::lonxml::description($token).' | '
.''.&mt('Delete?').' '
.&Apache::edit::deletelist($target,$token)
.' | '
- ." ".&Apache::edit::end_row()
+ .' | '.&Apache::edit::end_row()
.&Apache::edit::start_spanning_row();
$result.=
@@ -103,12 +103,12 @@ sub start_itemgroup {
if ($target eq 'edit') {
$result=&Apache::edit::tag_start($target,$token);
$result.=&Apache::edit::select_arg('Randomize Order:','randomize',
- ['yes','no'],$token);
+ ['yes','no'],$token).' 'x 3;
$result.=&Apache::edit::select_arg('Items Display Location:',
'location',
['top','bottom','left','right'],
- $token);
- $result.=&Apache::edit::select_arg('Items Display Directection:',
+ $token).' 'x 3;
+ $result.=&Apache::edit::select_arg('Items Display Direction:',
'direction',
['vertical','horizontal'],
$token);
@@ -180,7 +180,7 @@ sub end_itemgroup {
$i++;
}
$table.=' \end{description} \strut ';
- if ($Apache::lonhomework::type eq 'exam') {$table.='\vskip -13 mm \strut ';}
+ if ($Apache::lonhomework::type eq 'exam') {$table.='\vskip -13 mm \strut ';}
$Apache::matchresponse::itemtable{'display'}=$table;
$Apache::lonxml::post_evaluate=0;
}
@@ -198,7 +198,8 @@ sub start_item {
$result=&Apache::edit::tag_start($target,$token,"Item");
$result.=&Apache::edit::text_arg('Name:','name',$token);
if ($randomize ne 'no') {
- $result.=&Apache::edit::select_arg('Location:','location',
+ $result.=' 'x 3 .
+ &Apache::edit::select_arg('Location:','location',
['random','top','bottom'],
$token);
}
@@ -254,11 +255,11 @@ sub start_foilgroup {
&Apache::response::pushrandomnumber();
if ($target eq 'edit') {
$result.=&Apache::edit::start_table($token)
- ." |
".&mt('Collection Of Foils')." | "
+ .'
'.&mt('Collection Of Foils').' | '
.''.&mt('Delete?')
.&Apache::edit::deletelist($target,$token)
.' | '
- ." ".&Apache::edit::end_row()
+ .' | '.&Apache::edit::end_row()
.&Apache::edit::start_spanning_row()."\n";
}
return $result;
@@ -512,26 +513,31 @@ sub displayfoils {
$optionlist="\n";
} else {
if ($Apache::lonhomework::type ne 'exam') {
- if($env{'form.pdfFormFields'} eq 'yes') {
+ if($env{'form.pdfFormFields'} eq 'yes'
+ && $Apache::inputtags::status['-1'] eq 'CAN_ANSWER') {
my $fieldname = $env{'request.symb'} . '&part_'. $Apache::inputtags::part .'&matchresponse'. '&HWVAL_' . $Apache::inputtags::response['-1'] . ':' . $temp . '&submit_' . $Apache::inputtags::part . '&';
$optionlist = &Apache::lonxml::print_pdf_start_combobox($fieldname);
} else {
+ &Apache::lonnet::logthis("Exam2");
+
$optionlist='\framebox[10 mm][s]{\tiny\strut}';
}
- }
+ }
}
my $option;
foreach $option (@used_letters) {
if ($option eq $last_letter) {
if ($target ne 'tex') {
$optionlist.="\n";
- } elsif ($target eq 'tex' && $env{'form.pdfFormFields'} eq 'yes') {
+ } elsif ($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 {
if ($target ne 'tex') {
$optionlist.="\n";
- } elsif ($target eq 'tex' && $env{'form.pdfFormFields'} eq 'yes') {
+ } elsif ($target eq 'tex' && $env{'form.pdfFormFields'} eq 'yes'
+ && $Apache::inputtags::status['-1'] eq 'CAN_ANSWER') {
$optionlist .= &Apache::lonxml::print_pdf_add_combobox_option($option);
}
}
@@ -569,6 +575,7 @@ sub displayfoils {
$question.=" \n".$text;
}
if ($Apache::lonhomework::type eq 'exam') {
+ &Apache::lonnet::logthis('webbubbles');
my @blank;
$question.=&Apache::optionresponse::webbubbles(\@used_letters,\@blank,$temp,$last_letter);
}
@@ -577,21 +584,24 @@ sub displayfoils {
# confine the bubbles to righttabsize:
#
if ($Apache::lonhomework::type eq 'exam' && $env{'form.pdfFormFields'} ne 'yes') {
+ &Apache::lonnet::logthis('exam3');
$question.=' '.$optionlist.$text."\n";
my @emptyItems = ();
for (my $i=0;$i<=$#used_letters;$i++) {push @emptyItems, ' ';}
$question.='\vskip -1 mm\noindent\begin{list}{}{\setlength{\listparindent}{0mm}\setlength{\leftmargin}{2mm}}'
.'\item \hskip -3mm \textbf{'.$internal_counter.'}';
if (&itemdisplay('left') || &itemdisplay('right')) {
- $question .= &Apache::optionresponse::bubbles(\@used_letters,\@emptyItems, "", $righttabsize);
+ $question .= '\vskip -4 mm' . &Apache::optionresponse::bubbles(\@used_letters,\@emptyItems, "", $righttabsize);
}
else {
- $question .= &Apache::optionresponse::bubbles(\@used_letters,\@emptyItems);
+ $question .= '\vskip -4 mm' . &Apache::optionresponse::bubbles(\@used_letters,\@emptyItems);
}
$question .= '\end{list} \vskip -8 mm \strut ';
$internal_counter++;
} else {
- if($env{'form.pdfFormFields'} eq 'yes') {
+ &Apache::lonnet::logthis("Exam4");
+ if($env{'form.pdfFormFields'} eq 'yes'
+ && $Apache::inputtags::status['-1'] eq 'CAN_ANSWER') {
$question .= " $optionlist ". &Apache::lonxml::print_pdf_end_combobox($text).'\strut';
} else {
$question.=' '.$optionlist.$text.'\strut\\\\\strut '."\n";
@@ -734,6 +744,7 @@ sub end_foil {
if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' ||
$target eq 'tex' || $target eq 'analyze') {
if ($target eq 'tex' && $Apache::lonhomework::type eq 'exam') {
+ &Apache::lonnet::logthis('triangleright');
$text='\vskip 5mm $\triangleright$ '.$text;
}
my $value = &Apache::lonxml::get_param('value',$parstack,$safeeval);
@@ -753,11 +764,15 @@ sub end_foil {
$safeeval);
if ( $Apache::matchresponse::conceptgroup
&& !&Apache::response::showallfoils() ) {
+ &Apache::lonnet::logthis("pushing conceptgroup");
+
push @{ $Apache::response::conceptgroup{'names'} }, $name;
$Apache::response::conceptgroup{"$name.value"} = $value;
$Apache::response::conceptgroup{"$name.text"} = $text;
$Apache::response::conceptgroup{"$name.location"} = $location;
} else {
+ &Apache::lonnet::logthis("pushing foilgroup.");
+
push @{ $Apache::response::foilgroup{'names'} }, $name;
$Apache::response::foilgroup{"$name.value"} = $value;
$Apache::response::foilgroup{"$name.text"} = $text;
|