--- loncom/homework/hint.pm 2001/10/05 17:01:05 1.19
+++ loncom/homework/hint.pm 2001/10/09 20:45:13 1.20
@@ -14,7 +14,7 @@ sub start_hintgroup {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
my $skiptoend='0';
my $result;
-
+
if ($target eq 'web') {
my $id=$Apache::inputtags::part;
my $numtries=$Apache::lonhomework::history{"resource.$id.tries"};
@@ -27,9 +27,9 @@ sub start_hintgroup {
} else {
if ($target eq 'web') {$result='
';}
}
- }
- if ($skiptoend) {
- &Apache::lonxml::get_all_text("/hintgroup",$$parser[$#$parser]);
+ if ($skiptoend) {
+ &Apache::lonxml::get_all_text("/hintgroup",$$parser[$#$parser]);
+ }
}
@Apache::hint::which=();
return $result;
@@ -38,7 +38,7 @@ sub start_hintgroup {
sub end_hintgroup {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
my $result;
-
+
if ($target eq 'web') {
my $id=$Apache::inputtags::part;
my $numtries=$Apache::lonhomework::history{"resource.$id.tries"};
@@ -49,6 +49,8 @@ sub end_hintgroup {
if ( $numtries >= $hinttries ) {
$result=' |
';
}
+ } elsif ($target eq 'edit') {
+ $result.=&Apache::edit::end_table();
}
@Apache::hint::which=();
return $result;
@@ -58,7 +60,24 @@ sub start_numericalhint {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
#do everything in end, so intervening work
&Apache::response::start_hintresponse($parstack,$safeeval);
- return '';
+ my $result;
+ if ($target eq 'edit') {
+ $result.=&Apache::edit::tag_start($target,$token);
+ $result.=&Apache::edit::text_arg('Name:','name',$token);
+ $result.=&Apache::edit::text_arg('Answer:','answer',$token);
+ $result.=&Apache::edit::text_arg('Unit:','unit',$token,5);
+ $result.=&Apache::edit::text_arg('Format:','format',$token,4);
+ $result.='';
+ } elsif ($target eq 'modified') {
+ my $constructtag=
+ &Apache::edit::get_new_args($token,$parstack,$safeeval,
+ 'name','answer','unit', 'format');
+ if ($constructtag) {
+ $result = &Apache::edit::rebuild_tag($token);
+ $result .= &Apache::edit::handle_insert();
+ }
+ }
+ return $result;
}
sub end_numericalhint {
@@ -92,6 +111,8 @@ sub end_numericalhint {
$result='';
} elsif ($target eq 'meta') {
$result=&Apache::response::meta_package_write('numericalhint');
+ } elsif ($target eq 'edit') {
+ $result.=' |
'.&Apache::edit::end_table;
}
&Apache::response::end_hintresponse();
return $result;
@@ -102,7 +123,7 @@ sub start_hintpart {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
my $show ='0';
-
+ my $result = '';
if ($target eq 'web') {
my $on= &Apache::lonxml::get_param('on',$parstack,$safeeval);
&Apache::lonxml::debug("hintpart sees $on and ,$#Apache::hint::which");
@@ -117,12 +138,26 @@ sub start_hintpart {
}
} elsif ($target eq 'grade') {
&Apache::lonxml::get_all_text("/hintpart",$$parser[$#$parser]);
+ } elsif ($target eq 'edit') {
+ $result.= &Apache::edit::tag_start($target,$token,
+ &Apache::lonxml::description($token));
+ $result.= &Apache::edit::text_arg('On:','on',$token).'';
+ } elsif ($target eq 'modified') {
+ my $constructtag=&Apache::edit::get_new_args($token,$parstack,$safeeval,
+ 'on');
+ if ($constructtag) {
+ $result = &Apache::edit::rebuild_tag($token);
+ $result.=&Apache::edit::handle_insert();
+ }
}
- return '';
+ return $result;
}
sub end_hintpart {
- return '';
+ my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
+ my $result;
+ if ($target eq 'edit') { $result.=&Apache::edit::end_table; }
+ return $result;
}
1;
|