version 1.139, 2007/03/27 19:20:49
|
version 1.140, 2007/04/05 10:29:58
|
Line 560 sub webbubbles {
|
Line 560 sub webbubbles {
|
|
|
|
|
sub bubbles { |
sub bubbles { |
my ($ralphabet,$ropt,$response) = @_; |
my ($ralphabet,$ropt,$response, $max_width) = @_; |
my @alphabet = @$ralphabet; |
my @alphabet = @$ralphabet; |
my @opt = @$ropt; |
my @opt = @$ropt; |
my ($result,$head,$line) =('','',''); |
my ($result,$head,$line) =('','',''); |
my $number_of_bubbles = $#opt + 1; |
my $number_of_bubbles = $#opt + 1; |
my $current_length = 0; |
my $current_length = 0; |
my $textwidth; |
my $textwidth; |
if ($env{'form.textwidth'} ne '') { |
if ($max_width) { |
|
$textwidth=$max_width; |
|
&Apache::lonnet::logthis("Max width passed in: $max_width"); |
|
} |
|
elsif ($env{'form.textwidth'} ne '') { |
$env{'form.textwidth'}=~/(\d+)/; |
$env{'form.textwidth'}=~/(\d+)/; |
$textwidth=$1; |
$textwidth=$1; |
|
&Apache::lonnet::logthis("Max width from form: $textwidth"); |
} else { |
} else { |
$env{'form.textwidth'}=~/(\d*)\.?(\d*)/; |
$env{'form.textwidth'}=~/(\d*)\.?(\d*)/; |
$textwidth=$1.'.'.$2; |
$textwidth=$1.'.'.$2; |
|
&Apache::lonnet::logthis("Max width defaults? $textwidth"); |
} |
} |
|
&Apache::lonnet::logthis("Final maxwidth: $textwidth"); |
for (my $ind=0;$ind<=$number_of_bubbles;$ind++) { |
for (my $ind=0;$ind<=$number_of_bubbles;$ind++) { |
my $leftmargin; |
my $leftmargin; |
$opt[$ind]=&Apache::lonxml::latex_special_symbols($opt[$ind]); |
$opt[$ind]=&Apache::lonxml::latex_special_symbols($opt[$ind]); |
if ($response eq 'rankresponse') {$opt[$ind]='Rank '.$opt[$ind];} |
if ($response eq 'rankresponse') {$opt[$ind]='Rank '.$opt[$ind];} |
if ($ind==0) {$leftmargin=6;} else {$leftmargin=10;} |
if ($ind==0) {$leftmargin=6;} else {$leftmargin=10;} |
|
|
$current_length += (length($opt[$ind])+length($alphabet[$ind])+4)*2; |
$current_length += (length($opt[$ind])+length($alphabet[$ind])+4)*2; |
if ($current_length<($textwidth-$leftmargin) and $ind!=$number_of_bubbles) { |
if ($current_length<($textwidth-$leftmargin) and $ind!=$number_of_bubbles) { |
$line.='\hskip -1 mm {\small \textbf{'.$alphabet[$ind].'}}$\bigcirc$\hskip -1 mm & \hskip -3 mm {\small '.$opt[$ind].'} & '; |
$line.='\hskip -1 mm {\small \textbf{'.$alphabet[$ind].'}}$\bigcirc$\hskip -1 mm & \hskip -3 mm {\small '.$opt[$ind].'} & '; |