--- loncom/interface/lonprintout.pm 2006/07/20 03:47:09 1.466 +++ loncom/interface/lonprintout.pm 2006/07/31 22:53:07 1.471 @@ -1,7 +1,8 @@ +# # The LearningOnline Network # Printout # -# $Id: lonprintout.pm,v 1.466 2006/07/20 03:47:09 albertel Exp $ +# $Id: lonprintout.pm,v 1.471 2006/07/31 22:53:07 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2412,7 +2413,7 @@ CHOOSE_STUDENTS push(@{$state->{CHOICES}},@{$helper->{DATA}{ALL_CODE_CHOICES}}); -
+ '.$/; } @@ -2432,9 +2433,12 @@ CHOOSE_STUDENTS $codechoice='Default'; } &Apache::lonxml::xmlparse($r, 'helper', < + SELECT_PROBLEMS -
Number of anonymous assignments to print: +

Fill out one of the forms below

+


+

Generate new CODEd Assignments

+
Number of CODEd assignments to print: if (((\$helper->{'VARS'}{'NUMBER_TO_PRINT_TOTAL'}+0) < 1) && @@ -2456,9 +2460,10 @@ CHOOSE_STUDENTS $codechoice -

-
- Enter a CODE to print: +
+
+

Print a Specific Code


+
Enter a CODE to print: if(!\$helper->{'VARS'}{'NUMBER_TO_PRINT_TOTAL'} && @@ -2471,17 +2476,16 @@ CHOOSE_STUDENTS } -

+
$code_selection - - - Reprint a set of saved CODEs: +
+

Reprint a Set of Saved Codes

+ Select saved CODEs: $namechoice
-
$resource_selector CHOOSE_ANON1 @@ -2975,6 +2979,7 @@ sub new { $self->{NEXTSTATE} = shift; bless($self); + return $self; } @@ -2984,6 +2989,8 @@ sub render { my $result = ''; my $var = $self->{'variable'}; + + if (defined $self->{ERROR_MSG}) { $result .= '
' . $self->{ERROR_MSG} . '
'; } @@ -3023,9 +3030,16 @@ sub render { } } - $result .= <How should each column be formatted?

@@ -3067,12 +3081,50 @@ ELEMENTHTML return $result; } -# If the user didn't select 1 column, skip this state. + sub preprocess { my $self = shift; my $helper = Apache::lonhelper::getHelper(); my $format = $helper->{VARS}->{$self->{'formatvar'}}; + + # If the user does not have 'pav' privilege, set default widths and + # on to the next state right away. + # + if (!$perm{'pav'}) { + my $var = $self->{'variable'}; + my $format = $helper->{VARS}->{$self->{'formatvar'}}; + + my ($laystyle, $cols, $papersize) = split(/\|/, $format); + ($papersize) = split(/ /, $papersize); + + + if ($laystyle eq 'L') { + $laystyle = 'album'; + } else { + $laystyle = 'book'; + } + # Figure out some good defaults for the print out and set them: + + my %size; + ($size{'width'}, + $size{'height'}, + $size{'lmargin'})= + &Apache::lonprintout::page_format($papersize, $laystyle, $cols); + + foreach my $dim ('width', 'height', 'lmargin') { + my ($value, $units) = split(/ /, $size{$dim}); + + $helper->{VARS}->{"$var.".$dim} = $value; + $helper->{VARS}->{"$var.".$dim.'unit'} = $units; + + } + + + # Transition to the next state + + $helper->changeState($self->{NEXTSTATE}); + } return 1; } @@ -3102,6 +3154,14 @@ sub postprocess { } if ($lmargin !~ /^-?[0-9]*(\.[0-9]*)?$/) { $error .= "Invalid left margin; please type only a number.
\n"; + } else { + # Adjust for LaTeX 1.0 inch margin: + + if ($env{"form.${var}.lmarginunit"} eq "in") { + $helper->{VARS}->{$var.'.lmargin'} = $lmargin - 1; + } else { + $helper->{VARS}->{$var.'.lmargin'} = $lmargin - 2.54; + } } if (!$error) {