--- loncom/homework/edit.pm 2001/05/04 21:22:05 1.4 +++ loncom/homework/edit.pm 2001/05/13 20:01:34 1.5 @@ -7,9 +7,9 @@ use strict; use Apache::lonnet; sub tag_start { - my ($token,$target) = @_; + my ($target,$token) = @_; my $result=''; - if ($target eq "web") { + if ($target eq "edit") { my $tag=$token->[1]; $result.="
<$tag> | Delete:
@@ -27,7 +27,7 @@ sub tag_start {
}
sub tag_end {
- my ($token,$target) = @_;
+ my ($target,$token) = @_;
my $result='';
if ($target eq 'edit') {
my $tag=$token->[1];
@@ -36,22 +36,52 @@ sub tag_end {
return $result;
}
+sub get_insert_list {
+ my ($token) = @_;
+ my $result='';
+ if ($Apache::lonxml::insertlist{"$token->[1].which"}) {
+ my @tags= @{ $Apache::lonxml::insertlist{"$token->[1].which"} };
+ foreach my $tag (@tags) {
+ $result.='\n";
+ }
+ if ($result) { $result=''.$result; }
+ }
+ return $result;
+}
+
sub insertlist {
my ($token,$target) = @_;
my $result;
if ($target eq 'edit') {
- $result = "Insert:
+ my $optionlist= &get_insert_list($token);
+ if ($optionlist) {
+ $result = "Insert:
"
+ }
+ }
+ return $result;
+}
+
+sub handle_insert {
+ if (!$ENV{"form.insert_$Apache::lonxml::curdepth"}) { return ''; }
+ my $result;
+ my $newtag = $ENV{"form.insert_$Apache::lonxml::curdepth"};
+ my $func=$Apache::lonxml::insertlist{"$newtag.function"};
+ if ($func eq 'default') {
+ $result.="\n<$newtag>\n$newtag>";
+ } else {
+ {
+ no strict 'refs';
+ $result.=&$func;
+ }
}
return $result;
}
sub editfield {
- my ($tag,$data,$description)=@_;
+ my ($tag,$data,$description,$minwidth,$minheight)=@_;
my $count=0;
my $maxlength=-1;
@@ -59,8 +89,10 @@ sub editfield {
if (length($_) > $maxlength) { $maxlength = length ($_); }
} split ("\n", $data);
if ($maxlength > 80) { $maxlength = 80; }
- if ($description) {
- $description=" ".$description; + if ($maxlength < $minwidth) { $maxlength = $minwidth; } + if ( $count < $minheight) { $count = $minheight; } + if ($description) { + $description=" ".$description; } return "$description \n \n"; # return " \n<$tag> \n \n</$tag> \n"; @@ -85,5 +117,9 @@ sub modifiedfield { return $result; } +sub insert_startouttext { + return "\n |