Browse Source

full packages ids

Nicolas Cannasse 19 years ago
parent
commit
8986fc7ca9
1 changed files with 12 additions and 10 deletions
  1. 12 10
      std/tools/haxedoc/Main.hx

+ 12 - 10
std/tools/haxedoc/Main.hx

@@ -332,7 +332,7 @@ private class DocTypedef extends DocClass {
 
 
 private enum DocEntry {
 private enum DocEntry {
 	eclass( c : DocClass );
 	eclass( c : DocClass );
-	epackage( name : String, childs : Array<DocEntry> );
+	epackage( name : String, fullname : Array<String>, childs : Array<DocEntry> );
 }
 }
 
 
 class DocView {
 class DocView {
@@ -479,11 +479,12 @@ class DocView {
 		var pack = entries;
 		var pack = entries;
 		if( path.length > 0 ) {
 		if( path.length > 0 ) {
 			c.name = path.pop();
 			c.name = path.pop();
+			var acc = new Array();
 			for( x in path ) {
 			for( x in path ) {
 				var found = false;
 				var found = false;
 				for( p in pack ) {
 				for( p in pack ) {
 					switch p {
 					switch p {
-					case epackage(name,p):
+					case epackage(name,_,p):
 						if( name == x ) {
 						if( name == x ) {
 							pack = p;
 							pack = p;
 							found = true;
 							found = true;
@@ -492,9 +493,10 @@ class DocView {
 					default:
 					default:
 					}
 					}
 				}
 				}
+				acc.push(x);
 				if( !found ) {
 				if( !found ) {
 					var p = new Array();
 					var p = new Array();
-					pack.push(epackage(x,p));
+					pack.push(epackage(x,acc.copy(),p));
 					pack = p;
 					pack = p;
 				}
 				}
 			}
 			}
@@ -509,7 +511,7 @@ class DocView {
 			for( e in pack ) {
 			for( e in pack ) {
 				switch e {
 				switch e {
 				case eclass(c): if( c.name.toLowerCase() == p.toLowerCase() ) return c;
 				case eclass(c): if( c.name.toLowerCase() == p.toLowerCase() ) return c;
-				case epackage(name,newpack):
+				case epackage(name,_,newpack):
 					if( name == p ) {
 					if( name == p ) {
 						found = true;
 						found = true;
 						pack = newpack;
 						pack = newpack;
@@ -526,11 +528,11 @@ class DocView {
 	static function sortEntries( p : Array<DocEntry> ) {
 	static function sortEntries( p : Array<DocEntry> ) {
 		p.sort(function(e1 : DocEntry,e2 : DocEntry) {
 		p.sort(function(e1 : DocEntry,e2 : DocEntry) {
 			var n1 = switch e1 {
 			var n1 = switch e1 {
-				case epackage(p,_) : " "+p;
+				case epackage(p,_,_) : " "+p;
 				case eclass(c) : c.name;
 				case eclass(c) : c.name;
 			};
 			};
 			var n2 = switch e2 {
 			var n2 = switch e2 {
-				case epackage(p,_) : " "+p;
+				case epackage(p,_,_) : " "+p;
 				case eclass(c) : c.name;
 				case eclass(c) : c.name;
 			};
 			};
 			if( n1 > n2 )
 			if( n1 > n2 )
@@ -539,7 +541,7 @@ class DocView {
 		});
 		});
 		for( e in p ) {
 		for( e in p ) {
 			switch e {
 			switch e {
-			case epackage(_,p):
+			case epackage(_,_,p):
 				sortEntries(p);
 				sortEntries(p);
 			default:
 			default:
 			}
 			}
@@ -550,10 +552,10 @@ class DocView {
 		print("<ul class=\"entry\">");
 		print("<ul class=\"entry\">");
 		for( e in p ) {
 		for( e in p ) {
 			switch e {
 			switch e {
-			case epackage(name,p):
+			case epackage(name,full,p):
 				if( !filtered(name) )
 				if( !filtered(name) )
 					continue;
 					continue;
-				print('<li><a href="#" class="package" onclick="toggle(\''+name+'\')">'+name+"</a><div id=\""+name+"\" class=\"package_content\">");
+				print('<li><a href="#" class="package" onclick="toggle(\''+full.join("_")+'\')">'+name+"</a><div id=\""+full.join("_")+"\" class=\"package_content\">");
 				display(p);
 				display(p);
 				print("</div></li>");
 				print("</div></li>");
 			case eclass(c):
 			case eclass(c):
@@ -639,7 +641,7 @@ class DocView {
 			if( !filtered(c.path) )
 			if( !filtered(c.path) )
 				return;
 				return;
 			save(html,c.path,path+c.name+".html");
 			save(html,c.path,path+c.name+".html");
-		case epackage(name,entries):
+		case epackage(name,_,entries):
 			if( !filtered(name) )
 			if( !filtered(name) )
 				return;
 				return;
 			var old = Url.base;
 			var old = Url.base;