--- loncom/homework/imageresponse.pm 2003/02/25 16:09:01 1.24 +++ loncom/homework/imageresponse.pm 2003/05/05 18:24:50 1.25 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # image click response style # -# $Id: imageresponse.pm,v 1.24 2003/02/25 16:09:01 sakharuk Exp $ +# $Id: imageresponse.pm,v 1.25 2003/05/05 18:24:50 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -26,7 +26,8 @@ # http://www.lon-capa.org/ # -#FIXME assumes multiple possbile submissions but only one is possible currently +#FIXME LATER assumes multiple possible submissions but only one is possible +#currently package Apache::imageresponse; use strict; @@ -233,8 +234,20 @@ sub end_foil { sub start_text { my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; - if ($target eq 'web' || $target eq 'tex') { &Apache::lonxml::startredirection; } - return ''; + my $result=''; + if ($target eq 'web' || $target eq 'tex') { + &Apache::lonxml::startredirection; + } elsif ($target eq 'edit') { + my $descr=$$parser[$#$parser]->get_text("/text"); + $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(); + } elsif ($target eq "modified") { + my $bgimg=$$parser[$#$parser]->get_text("/text"); + $result=$token->[4].&Apache::edit::modifiedfield($token); + &Apache::lonxml::debug($result); + } + return $result; } sub end_text { @@ -253,8 +266,22 @@ sub end_text { sub start_image { my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; - if ($target eq 'web' || $target eq 'tex') { &Apache::lonxml::startredirection; } - return ''; + my $result=''; + if ($target eq 'web' || $target eq 'tex') { + &Apache::lonxml::startredirection; + } elsif ($target eq 'edit') { + my $bgimg=$$parser[$#$parser]->get_text("/image"); + $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(); + } elsif ($target eq "modified") { + my $bgimg=$$parser[$#$parser]->get_text("/image"); + $result=$token->[4].&Apache::edit::modifiedfield($token); + &Apache::lonxml::debug($result); + } + return $result; } sub end_image { @@ -347,8 +374,20 @@ $Apache::response::foilgroup{"$name.imag sub start_rectangle { my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; - if ($target eq 'web' || $target eq 'grade' || $target eq 'tex') { &Apache::lonxml::startredirection; } - return ''; + my $result=''; + if ($target eq 'web' || $target eq 'grade' || $target eq 'tex') { + &Apache::lonxml::startredirection; + } elsif ($target eq 'edit') { + my $coords=$$parser[$#$parser]->get_text("/rectangle"); + $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(); + } elsif ($target eq "modified") { + my $coords=$$parser[$#$parser]->get_text("/rectangle"); + $result=$token->[4].&Apache::edit::modifiedfield($token); + &Apache::lonxml::debug($result); + } + return $result; } sub grade_rectangle {