--- loncom/homework/edit.pm 2001/05/13 20:01:34 1.5 +++ loncom/homework/edit.pm 2001/05/15 20:48:43 1.7 @@ -11,7 +11,9 @@ sub tag_start { my $result=''; if ($target eq "edit") { my $tag=$token->[1]; - $result.="<table width=\"100%\" border=\"2\"><tr><td><$tag></td> +# my $color = sprintf("#%06lx",(hex("ffffff")) >> scalar(split(/_/,$Apache::lonxml::curdepth))); + my $color = sprintf("#%02lxffff",33* scalar(split(/_/,$Apache::lonxml::curdepth))); + $result.="<table bgcolor=\"$color\" width=\"100%\" border=\"2\"><tr><td><$tag></td> <td>Delete: <select name=\"delete_$Apache::lonxml::curdepth\"> <option>Nothing</option> @@ -39,10 +41,21 @@ sub tag_end { 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.='<option value="'.$tag.'">'.$Apache::lonxml::insertlist{"$tag.description"}."</option>\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.='<option value="'.$tagnum.'">'.$Apache::lonxml::insertlist{"$tagnum.description"}."</option>\n"; } if ($result) { $result='<option selected="on"></option>'.$result; } } @@ -67,19 +80,30 @@ $optionlist 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"}; + 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</$newtag>"; } else { { no strict 'refs'; - $result.=&$func; + $result.=&$func(); } } return $result; } +sub insert_optionresponse { + return ' +<optionresponse max="10"> + <foilgroup options=""> + </foilgroup> +</optionresponse>'; +} + sub editfield { my ($tag,$data,$description,$minwidth,$minheight)=@_;