--- loncom/homework/caparesponse/caparesponse.pm 2001/07/10 22:06:42 1.33 +++ loncom/homework/caparesponse/caparesponse.pm 2001/07/13 16:15:00 1.34 @@ -6,7 +6,7 @@ use strict; use capa; sub BEGIN { - &Apache::lonxml::register('Apache::caparesponse',('caparesponse','numericalresponse')); + &Apache::lonxml::register('Apache::caparesponse',('caparesponse','numericalresponse','stringresponse')); } sub start_caparesponse { @@ -58,11 +58,22 @@ sub start_numericalresponse { my $result; if ($target eq 'edit') { $result.=&Apache::edit::tag_start($target,$token,&Apache::lonxml::description($token)); - $result.=&Apache::edit::text_arg('Answer:','answer',$token). - &Apache::edit::text_arg('Unit:','unit',$token).''; + $result.=&Apache::edit::text_arg('Answer:','answer',$token); + if ($token->[1] eq 'numericalresponse') { + $result.=&Apache::edit::text_arg('Unit:','unit',$token) + } else { + $result.=&Apache::edit::text_arg('Type:','type',$token) + } + $result.=''; } elsif ($target eq 'modified') { - my $constructtag=&Apache::edit::get_new_args($token,$parstack,$safeeval, - 'answer','unit'); + my $constructtag; + if ($token->[1] eq 'numericalresponse') { + $constructtag=&Apache::edit::get_new_args($token,$parstack,$safeeval, + 'answer','unit'); + } else { + $constructtag=&Apache::edit::get_new_args($token,$parstack,$safeeval, + 'answer','type'); + } if ($constructtag) { $result = &Apache::edit::rebuild_tag($token); $result.=&Apache::edit::handle_insert(); @@ -126,6 +137,14 @@ sub end_numericalresponse { return $result; } +sub start_stringresponse { + return start_numericalresponse(@_); +} + +sub end_stringresponse { + return end_numericalresponse(@_); +} + 1; __END__