[valadoc] libvaladoc/html: Hide redundant links
- From: Florian Brosch <flobrosch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [valadoc] libvaladoc/html: Hide redundant links
- Date: Fri, 27 Jan 2012 16:45:27 +0000 (UTC)
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]