]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
libvaladoc/html: Hide redundant links
authorFlorian Brosch <flo.brosch@gmail.com>
Fri, 6 Jan 2012 20:18:12 +0000 (21:18 +0100)
committerFlorian Brosch <flo.brosch@gmail.com>
Fri, 6 Jan 2012 21:57:52 +0000 (22:57 +0100)
src/libvaladoc/html/basicdoclet.vala
src/libvaladoc/html/htmlrenderer.vala

index 4c3921b524f898fc0d8713ab2a88f83fe4cb2786..2de43ebaf538cb46cf70df2e6047ff54a9608d4c 100755 (executable)
@@ -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");
        }
 
index 0655ce02b99702058600de12269b47921d18b59c..5a3d44f9c108cfc0dd3652b5807fc596c1257e55 100755 (executable)
@@ -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));
+                       }
                }
        }