'.&mt('Errors').' | '.&mt(' Unable to find [_1]',''.$location.'').' | '."\n";
} else {
&Apache::lonxml::error(" Unable to find $location for scriptlib");
return "";
@@ -111,14 +362,13 @@ sub start_scriptlib {
if ($target eq "edit" ) {
$result=
&Apache::edit::tag_start($target,$token,'New Script Functions').
- &Apache::edit::editfield($token->[1],$bodytext,'',40,1).
+ &Apache::edit::editline($token->[1],$bodytext,'scriptlib',40).
+ &Apache::edit::browse(undef,'textnode').
$error.'
'.
&Apache::edit::end_table();
}
if ($target eq "modified" ) {
- $bodytext=$$parser[$#$parser]->get_text("/scriptlib");
- $result=&Apache::edit::modifiedfield($token);
- &Apache::lonxml::debug($result);
+ $result=$token->[4].&Apache::edit::modifiedfield("/scriptlib",$parser);
}
return $result;
}
@@ -135,7 +385,9 @@ sub start_parserlib {
my $bodytext;
my $result ="";
my $error='';
- if ($target eq 'web' || $target eq 'grade' || $target eq 'meta' || $target eq 'edit') {
+ if ($target eq 'web' || $target eq 'tex' || $target eq 'grade' ||
+ $target eq 'meta' || $target eq 'edit' || $target eq 'answer' ||
+ $target eq 'analyze' || $target eq 'webgrade') {
$bodytext=$$parser[$#$parser]->get_text("/parserlib");
$bodytext=&Apache::run::evaluate($bodytext,$safeeval,
$$parstack[$#$parstack]);
@@ -156,14 +408,12 @@ sub start_parserlib {
if ($target eq "edit" ) {
$result=
&Apache::edit::tag_start($target,$token,'New Tag Definitions').
- &Apache::edit::editfield($token->[1],$bodytext,'',40,1).
+ &Apache::edit::editline($token->[1],$bodytext,'',40).
$error.''.
&Apache::edit::end_table();
}
if ($target eq "modified" ) {
- $bodytext=$$parser[$#$parser]->get_text("/parserlib");
- $result=&Apache::edit::modifiedfield($token);
- &Apache::lonxml::debug($result);
+ $result=$token->[4].&Apache::edit::modifiedfield("/parserlib",$parser);
}
return $result;
}
@@ -176,39 +426,159 @@ sub end_parserlib {
}
sub start_window {
- my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
- my $result = '';
- if ($target eq 'web') {
- &Apache::lonxml::startredirection;
- } elsif ($target eq 'tex') {
- $result = '\unskip\footnote{';
- }
- return $result;
+ my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
+ my $result = '';
+ if ($target eq 'web' || $target eq 'webgrade') {
+ &Apache::lonxml::startredirection;
+ } elsif ($target eq 'tex') {
+ my $printtext=&Apache::lonxml::get_param('printtext',$parstack,$safeeval);
+ if ($printtext=~/\w/) {
+# If printtext is given, do not output any intervening information
+ &Apache::lonxml::startredirection;
+ } else {
+ $result = '\unskip\footnote{';
+ }
+ } elsif ($target eq 'edit') {
+ $result.=&Apache::edit::tag_start($target,$token);
+ $result.=&Apache::edit::text_arg('Text of Link:','linktext',$token,70);
+ $result.=&Apache::edit::text_arg('Height:','height',$token,5);
+ $result.=&Apache::edit::text_arg('Width:','width',$token,5);
+ $result.=&Apache::edit::text_arg('Printed text (optional):','printtext',$token,20);
+ $result .=&Apache::edit::end_row().&Apache::edit::start_spanning_row();
+ } elsif ($target eq 'modified') {
+ my $constructtag=&Apache::edit::get_new_args($token,$parstack,
+ $safeeval,'linktext',
+ 'width','height');
+ if ($constructtag) { $result=&Apache::edit::rebuild_tag($token); }
+ }
+ return $result;
}
sub end_window {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
my $result;
- if ($target eq 'web') {
+ if ($target eq 'web' || $target eq 'webgrade') {
my $output=&Apache::lonxml::endredirection;
- $output =~ s/\"/\"\;/g;
- $result = "