--- loncom/homework/edit.pm 2001/06/11 16:15:37 1.9 +++ loncom/homework/edit.pm 2001/06/12 22:42:55 1.10 @@ -6,15 +6,23 @@ package Apache::edit; use strict; use Apache::lonnet; +# Global Vars +# default list of colors to use in editing +@Apache::edit::colorlist=('#ffffff','#ff0000','#00ff00','#0000ff','#0ff000','#000ff0','#f0000f'); +# depth of nesting of edit +$Apache::edit::colordepth=0; + +sub initialize_edit { + $Apache::edit::colordepth=0; +} + sub tag_start { my ($target,$token,$description) = @_; my $result=''; if ($target eq "edit") { my $tag=$token->[1]; -# my $color = sprintf("#%06lx",(hex("ffffff")) >> scalar(split(/_/,$Apache::lonxml::curdepth))); - my $color = sprintf("#%02lxffff",33* scalar(split(/_/,$Apache::lonxml::curdepth))); if (!$description) { $description="<$tag>"; } - $result.=" + $result.= &start_table($token)." @@ -36,11 +44,36 @@ sub tag_end { } else { if ($description ne '') { $result.="
$description
$description Delete:". &deletelist($target,$token) ."
$description"; } } - $result.="
\n"; + $result.="".&end_table()."\n"; } return $result; } +sub start_table { + my ($token)=@_; + my $tag = $token->[1]; + my $tagnum; + foreach my $namespace (reverse @Apache::lonxml::namespace) { + my $testtag=$Apache::lonxml::namespace['-1'].'::'.$tag; + $tagnum=$Apache::lonxml::insertlist{"$testtag.num"}; + if (defined($tagnum)) { last; } + } + if (!defined ($tagnum)) { $tagnum=$Apache::lonxml::insertlist{"$tag.num"}; } + my $color = $Apache::lonxml::insertlist{"$tagnum.color"}; + if (!defined($color)) { + $color = $Apache::edit::colorlist[$Apache::edit::colordepth]; + } + $Apache::edit::colordepth++; + my $result=""; + return $result; +} + +sub end_table { + $Apache::edit::colordepth--; + my $result="
"; + return $result; +} + sub deletelist { my ($target,$token) = @_; my $result = "