[valadoc] libvaladoc/html: Hide redundant links



commit c7a994dd1f25426b6c307b4de8b347daed0d3f57
Author: Florian Brosch <flo brosch gmail com>
Date:   Fri Jan 6 21:18:12 2012 +0100

    libvaladoc/html: Hide redundant links

 src/libvaladoc/html/basicdoclet.vala  |    5 +++++
 src/libvaladoc/html/htmlrenderer.vala |   21 +++++++++++++++------
 2 files changed, 20 insertions(+), 6 deletions(-)
---
diff --git a/src/libvaladoc/html/basicdoclet.vala b/src/libvaladoc/html/basicdoclet.vala
index 4c3921b..2de43eb 100755
--- a/src/libvaladoc/html/basicdoclet.vala
+++ b/src/libvaladoc/html/basicdoclet.vala
@@ -382,7 +382,9 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
 			writer.start_tag ("span", {"class", css_brief_description});
 
 			_renderer.set_container (pos);
+			_renderer.set_owner (element);
 			_renderer.render_children (description.get (0));
+			_renderer.set_owner (null);
 
 			writer.end_tag ("span");
 		}
@@ -399,6 +401,7 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
 
 
 		writer.start_tag ("div", {"class", css_description});
+		_renderer.set_owner (element);
 
 		// deprecation warning:
 		if (deprecated != null) {
@@ -439,6 +442,8 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
 			_renderer.render (doctree);
 		}
 
+
+		_renderer.set_owner (null);
 		writer.end_tag ("div");
 	}
 
diff --git a/src/libvaladoc/html/htmlrenderer.vala b/src/libvaladoc/html/htmlrenderer.vala
index 0655ce0..5a3d44f 100755
--- a/src/libvaladoc/html/htmlrenderer.vala
+++ b/src/libvaladoc/html/htmlrenderer.vala
@@ -1,6 +1,6 @@
 /* htmlrenderer.vala
  *
- * Copyright (C) 2008-2009 Florian Brosch, Didier Villevalois
+ * Copyright (C) 2008-20012 Florian Brosch, Didier Villevalois
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -26,6 +26,7 @@ using Valadoc.Content;
 public class Valadoc.Html.HtmlRenderer : ContentRenderer {
 
 	protected Documentation? _container;
+	protected Documentation? _owner;
 	protected unowned MarkupWriter writer;
 	protected Html.CssClassResolver cssresolver;
 	protected LinkHelper linker;
@@ -41,6 +42,10 @@ public class Valadoc.Html.HtmlRenderer : ContentRenderer {
 		_container = container;
 	}
 
+	public void set_owner (Documentation? owner) {
+		_owner = owner;
+	}
+
 	public void set_writer (MarkupWriter writer) {
 		this.writer = writer;
 	}
@@ -64,12 +69,16 @@ public class Valadoc.Html.HtmlRenderer : ContentRenderer {
 	}
 
 	private void write_resolved_symbol_link (Api.Node symbol, string? given_label) {
-		var label = (given_label == null || given_label == "") ? symbol.get_full_name () : given_label;
-		var url = get_url (symbol);
-		if (url == null) {
-			write_unresolved_symbol_link (label);
+		if (symbol == _container || symbol == _owner) {
+			writer.start_tag ("span", {"css", cssresolver.resolve (symbol)}).text (symbol.name).end_tag ("span");
 		} else {
-			writer.link (url, label, cssresolver.resolve (symbol));
+			var label = (given_label == null || given_label == "") ? symbol.get_full_name () : given_label;
+			var url = get_url (symbol);
+			if (url == null) {
+				write_unresolved_symbol_link (label);
+			} else {
+				writer.link (url, label, cssresolver.resolve (symbol));
+			}
 		}
 	}
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]