--- loncom/homework/edit.pm 2001/05/13 21:40:32 1.6 +++ loncom/homework/edit.pm 2001/05/31 22:37:56 1.8 @@ -11,15 +11,14 @@ sub tag_start { my $result=''; if ($target eq "edit") { my $tag=$token->[1]; - $result.=" - +# my $color = sprintf("#%06lx",(hex("ffffff")) >> scalar(split(/_/,$Apache::lonxml::curdepth))); + my $color = sprintf("#%02lxffff",33* scalar(split(/_/,$Apache::lonxml::curdepth))); + $result.="
<$tag>Delete: -
+
<$tag>Delete:". + &deletelist($target,$token) + ." ". - &insertlist($token,$target). + &insertlist($target,$token). "
\n"; } @@ -36,26 +35,34 @@ sub tag_end { return $result; } -sub get_insert_list2 { - my ($token) = @_; - my $result=''; - if ($Apache::lonxml::insertlist{"$token->[1].which"}) { - my @tagnums= @{ $Apache::lonxml::insertlist{"$token->[1].which"} }; - foreach my $tagnum (@tagnums) { - $result.='\n"; - } - if ($result) { $result=''.$result; } - } +sub deletelist { + my ($target,$token) = @_; + my $result = ""; return $result; } sub get_insert_list { my ($token) = @_; my $result=''; + my @tagnums= (); + #&Apache::lonxml::debug("keys ".join("\n",sort(keys(%Apache::lonxml::insertlist)))); if ($Apache::lonxml::insertlist{"$token->[1].which"}) { - my @tags= @{ $Apache::lonxml::insertlist{"$token->[1].which"} }; - foreach my $tag (@tags) { - $result.='\n"; + &Apache::lonxml::debug("Adding1 $token->[1].which"); + push (@tagnums, @{ $Apache::lonxml::insertlist{"$token->[1].which"} }); + } + foreach my $namespace (@Apache::lonxml::namespace) { + if ($Apache::lonxml::insertlist{"$namespace".'::'."$token->[1].which"}) { + &Apache::lonxml::debug("Adding2 $namespace".'::'."$token->[1].which"); + push (@tagnums, @{ $Apache::lonxml::insertlist{"$namespace".'::'."$token->[1].which"} }); + } + } + if (@tagnums) { + foreach my $tagnum (@tagnums) { + $result.='\n"; } if ($result) { $result=''.$result; } } @@ -63,7 +70,7 @@ sub get_insert_list { } sub insertlist { - my ($token,$target) = @_; + my ($target,$token) = @_; my $result; if ($target eq 'edit') { my $optionlist= &get_insert_list($token); @@ -77,37 +84,31 @@ $optionlist return $result; } -sub handle_insert2 { +sub handle_insert { if (!$ENV{"form.insert_$Apache::lonxml::curdepth"}) { return ''; } my $result; my $tagnum = $ENV{"form.insert_$Apache::lonxml::curdepth"}; my $func=$Apache::lonxml::insertlist{"$tagnum.function"}; if ($func eq 'default') { my $newtag=$Apache::lonxml::insertlist{"$tagnum.tag"}; + my $namespace; + if ($newtag =~ /::/) { ($namespace,$newtag) = split(/::/,$newtag); } $result.="\n<$newtag>\n"; } else { { no strict 'refs'; - $result.=&$func; + $result.=&$func(); } } 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"; - } else { - { - no strict 'refs'; - $result.=&$func; - } - } - return $result; +sub insert_optionresponse { + return ' + + + +'; } sub editfield {