[LON-CAPA-cvs] cvs: loncom /homework matchresponse.pm

onken lon-capa-cvs-allow@mail.lon-capa.org
Wed, 10 Sep 2008 10:11:17 -0000


onken		Wed Sep 10 06:11:17 2008 EDT

  Modified files:              
    /loncom/homework	matchresponse.pm 
  Log:
  Adds Matchresponse to PDF-Forms
  
  
  
Index: loncom/homework/matchresponse.pm
diff -u loncom/homework/matchresponse.pm:1.70 loncom/homework/matchresponse.pm:1.71
--- loncom/homework/matchresponse.pm:1.70	Fri Aug  8 12:37:13 2008
+++ loncom/homework/matchresponse.pm	Wed Sep 10 06:11:14 2008
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Full matching style response
 #
-# $Id: matchresponse.pm,v 1.70 2008/08/08 16:37:13 bisitz Exp $
+# $Id: matchresponse.pm,v 1.71 2008/09/10 10:11:14 onken Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -33,6 +33,7 @@
 use Apache::optionresponse();
 use Apache::lonlocal;
 use Apache::lonnet;
+use Apache::lonxml;
 
 BEGIN {
     &Apache::lonxml::register('Apache::matchresponse',('matchresponse'));
@@ -507,15 +508,28 @@
 		$optionlist="<option></option>\n";
 	    } else {
 		if ($Apache::lonhomework::type ne 'exam') {
-		    $optionlist='\framebox[5 mm][s]{\tiny\strut}';
-		}
+                    if($env{'form.pdfFormFields'} eq 'yes') {
+                        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 {
+                        $optionlist='\framebox[10 mm][s]{\tiny\strut}';
+                    }
+                 }
 	    }
 	    my $option;
 	    foreach $option (@used_letters) {
 		if ($option eq $last_letter) {
-		    if ($target ne 'tex') {$optionlist.="<option selected=\"on\">$option</option>\n";}
+		    if ($target ne 'tex') {
+                        $optionlist.="<option selected=\"on\">$option</option>\n";
+                    } elsif ($target eq 'tex' && $env{'form.pdfFormFields'} eq 'yes') {
+                        $optionlist .= &Apache::lonxml::print_pdf_add_combobox_option($option);
+                    }
 		} else {
-		    if ($target ne 'tex') {$optionlist.="<option>$option</option>\n";}
+		    if ($target ne 'tex') {
+                        $optionlist.="<option>$option</option>\n";
+                    } elsif ($target eq 'tex' && $env{'form.pdfFormFields'} eq 'yes') {
+                        $optionlist .= &Apache::lonxml::print_pdf_add_combobox_option($option);
+                    }
 		}
 	    }
 	    if ($target ne 'tex' && $Apache::lonhomework::type ne 'exam') {
@@ -558,7 +572,7 @@
 		# Note that if left or right positioned, we must
 		# confine the bubbles to righttabsize:
 		#
-		if ($Apache::lonhomework::type eq 'exam') {
+		if ($Apache::lonhomework::type eq 'exam' && $env{'form.pdfFormFields'} ne 'yes') {
 		    $question.=' '.$optionlist.$text."\n";
 		    my @emptyItems = ();
 		    for (my $i=0;$i<=$#used_letters;$i++) {push @emptyItems, ' ';}
@@ -573,7 +587,11 @@
 		    $question .= '\end{list} \vskip -8 mm \strut ';
 		    $internal_counter++;
 	        } else {
-		    $question.=' '.$optionlist.$text.'\strut\\\\\strut '."\n";
+                    if($env{'form.pdfFormFields'} eq 'yes') {
+                        $question .= " $optionlist ". &Apache::lonxml::print_pdf_end_combobox($text).'\strut';
+                    } else {
+                        $question.=' '.$optionlist.$text.'\strut\\\\\strut '."\n";
+                    }
 		}
             } 
 	    $temp++;