--- loncom/homework/imageresponse.pm 2003/05/05 18:24:50 1.25 +++ loncom/homework/imageresponse.pm 2003/05/05 22:36:54 1.26 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # image click response style # -# $Id: imageresponse.pm,v 1.25 2003/05/05 18:24:50 www Exp $ +# $Id: imageresponse.pm,v 1.26 2003/05/05 22:36:54 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -170,14 +170,14 @@ sub end_foilgroup { if ($count>$max) { $count=$max } &Apache::lonxml::debug("Count is $count from $max"); @whichopt = &whichfoils($max); - } - if ($target eq 'web' || $target eq 'tex') { + } elsif ($target eq 'web' || $target eq 'tex') { $result=&displayfoils($target,@whichopt); - } - if ($target eq 'grade') { + } elsif ($target eq 'grade') { if ( defined $ENV{'form.submitted'}) { &gradefoils(@whichopt); } + } elsif ($target eq 'edit') { + $result=&Apache::edit::end_table(); } return $result; } @@ -190,7 +190,8 @@ sub start_conceptgroup { sub end_conceptgroup { my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; - $Apache::imageresponse::conceptgroup=0; + $Apache::imageresponse::conceptgroup=0; + my $result; if ($target eq 'web' || $target eq 'grade' || $target eq 'tex') { if (defined(@{ $Apache::response::conceptgroup{'names'} })) { my @names = @{ $Apache::response::conceptgroup{'names'} }; @@ -206,8 +207,10 @@ sub end_conceptgroup { &Apache::lonxml::debug("Selecting $name in $concept"); } } + } elsif ($target eq 'edit') { + $result=&Apache::edit::end_table(); } - return ''; + return $result; } $Apache::imageresponse::curname=''; @@ -228,8 +231,12 @@ sub start_foil { } sub end_foil { - my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; - return ''; + my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; + my $result; + if ($target eq 'edit') { + $result=&Apache::edit::end_table(); + } + return $result; } sub start_text { @@ -238,12 +245,12 @@ sub start_text { if ($target eq 'web' || $target eq 'tex') { &Apache::lonxml::startredirection; } elsif ($target eq 'edit') { - my $descr=$$parser[$#$parser]->get_text("/text"); + my $descr=&Apache::lonxml::get_all_text('/text',$parser); $result=&Apache::edit::tag_start($target,$token,'Task Description'). &Apache::edit::editfield($token->[1],$descr,'Text',60,2). - &Apache::edit::end_row().&Apache::edit::start_spanning_row(); + &Apache::edit::end_row(); } elsif ($target eq "modified") { - my $bgimg=$$parser[$#$parser]->get_text("/text"); + my $descr=&Apache::lonxml::get_all_text('/text',$parser); $result=$token->[4].&Apache::edit::modifiedfield($token); &Apache::lonxml::debug($result); } @@ -252,6 +259,7 @@ sub start_text { sub end_text { my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; + my $result; if ($target eq 'web' || $target eq 'tex') { my $name = $Apache::imageresponse::curname; if ( $Apache::imageresponse::conceptgroup @@ -260,8 +268,10 @@ sub end_text { } else { $Apache::response::foilgroup{"$name.text"} = &Apache::lonxml::endredirection; } + } elsif ($target eq 'edit') { + $result=&Apache::edit::end_table(); } - return ''; + return $result; } sub start_image { @@ -270,14 +280,14 @@ sub start_image { if ($target eq 'web' || $target eq 'tex') { &Apache::lonxml::startredirection; } elsif ($target eq 'edit') { - my $bgimg=$$parser[$#$parser]->get_text("/image"); + my $bgimg=&Apache::lonxml::get_all_text('/image',$parser); $result=&Apache::edit::tag_start($target,$token,'Clickable Image'). &Apache::edit::editline($token->[1],$bgimg,'Image Source File',40); $result.=&Apache::edit::browse(undef,'textnode').' '; $result.=&Apache::edit::search(undef,'textnode'). - &Apache::edit::end_row().&Apache::edit::start_spanning_row(); + &Apache::edit::end_row(); } elsif ($target eq "modified") { - my $bgimg=$$parser[$#$parser]->get_text("/image"); + my $bgimg=&Apache::lonxml::get_all_text('/image',$parser); $result=$token->[4].&Apache::edit::modifiedfield($token); &Apache::lonxml::debug($result); } @@ -285,7 +295,8 @@ sub start_image { } sub end_image { - my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; + my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; + my $result; my $name = $Apache::imageresponse::curname; if ($target eq 'web') { my $image = &Apache::lonxml::endredirection; @@ -296,6 +307,8 @@ sub end_image { } else { $Apache::response::foilgroup{"$name.image"} = $image; } + } elsif ($target eq 'edit') { + $result=&Apache::edit::end_table(); } elsif ($target eq 'tex') { my $src = &Apache::lonxml::endredirection; $src=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1],$src); @@ -369,7 +382,7 @@ sub end_image { $Apache::response::foilgroup{"$name.image"} ='\vskip 0 mm \graphicspath{{/home/httpd/prtspool/}}\includegraphics[width='.$width_param.' mm]{'.$file.'} '; } } - return ''; + return $result; } sub start_rectangle { @@ -378,12 +391,12 @@ sub start_rectangle { if ($target eq 'web' || $target eq 'grade' || $target eq 'tex') { &Apache::lonxml::startredirection; } elsif ($target eq 'edit') { - my $coords=$$parser[$#$parser]->get_text("/rectangle"); + my $coords=&Apache::lonxml::get_all_text('/rectangle',$parser); $result=&Apache::edit::tag_start($target,$token,'Rectangle'). &Apache::edit::editline($token->[1],$coords,'Coordinate Pairs',40). - &Apache::edit::end_row().&Apache::edit::start_spanning_row(); + &Apache::edit::end_row(); } elsif ($target eq "modified") { - my $coords=$$parser[$#$parser]->get_text("/rectangle"); + my $coords=&Apache::lonxml::get_all_text('/rectangle',$parser); $result=$token->[4].&Apache::edit::modifiedfield($token); &Apache::lonxml::debug($result); } @@ -409,6 +422,7 @@ sub grade_rectangle { sub end_rectangle { my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; + my $result; if ($target eq 'web' || $target eq 'grade' || $target eq 'tex') { my $name = $Apache::imageresponse::curname; my $area = &Apache::lonxml::endredirection; @@ -419,8 +433,10 @@ sub end_rectangle { } else { push @{ $Apache::response::foilgroup{"$name.area"} },"rectangle:$area"; } + } elsif ($target eq 'edit') { + $result=&Apache::edit::end_table(); } - return ''; + return $result; } 1; __END__