--- loncom/homework/caparesponse/caparesponse.pm 2001/06/29 18:53:50 1.32
+++ loncom/homework/caparesponse/caparesponse.pm 2001/07/19 21:26:22 1.35
@@ -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,12 +58,27 @@ 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::select_arg('Type:','type',
+ ['cs','ci','mc'],$token)
+ }
+ $result.=' |
';
} elsif ($target eq 'modified') {
- my $constructtag=&Apache::edit::get_new_args($token,$parstack,$safeeval,
- 'answer','unit');
- if ($constructtag) { $result = &Apache::edit::rebuild_tag($token);}
+ 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();
+ }
}
return $result;
}
@@ -123,6 +138,14 @@ sub end_numericalresponse {
return $result;
}
+sub start_stringresponse {
+ return start_numericalresponse(@_);
+}
+
+sub end_stringresponse {
+ return end_numericalresponse(@_);
+}
+
1;
__END__
|