[valadoc] Add support for constants in interfaces



commit 642a83e5a33231baf182830fb9d141f6e1d5e110
Author: Didier 'Ptitjes <ptitjes free fr>
Date:   Sun Sep 27 12:37:45 2009 +0200

    Add support for constants in interfaces

 src/doclets/devhelp/doclet/doclet.vala     |    1 +
 src/doclets/htm/doclet/doclet.vala         |    1 +
 src/doclets/htmlhelpers/doclet/doclet.vala |    1 +
 src/doclets/valadoc.org/doclet/doclet.vala |    8 ++++++++
 src/libvaladoc/apitree/interface.vala      |   15 ++++++++++++++-
 5 files changed, 25 insertions(+), 1 deletions(-)
---
diff --git a/src/doclets/devhelp/doclet/doclet.vala b/src/doclets/devhelp/doclet/doclet.vala
index 21e6da0..dd7e21a 100755
--- a/src/doclets/devhelp/doclet/doclet.vala
+++ b/src/doclets/devhelp/doclet/doclet.vala
@@ -308,6 +308,7 @@ public class Valadoc.Devhelp.Doclet : Valadoc.Html.BasicDoclet {
 		iface.visit_signals ( this );
 		iface.visit_properties ( this );
 		iface.visit_fields ( this );
+		iface.visit_constants ( this );
 
 		this.devhelp.add_chapter_end ( );
 
diff --git a/src/doclets/htm/doclet/doclet.vala b/src/doclets/htm/doclet/doclet.vala
index 98e8176..a3f433d 100755
--- a/src/doclets/htm/doclet/doclet.vala
+++ b/src/doclets/htm/doclet/doclet.vala
@@ -186,6 +186,7 @@ public class Valadoc.HtmlDoclet : Valadoc.Html.BasicDoclet {
 		iface.visit_signals ( this );
 		iface.visit_properties ( this );
 		iface.visit_fields ( this );
+		iface.visit_constants ( this );
 
 		GLib.FileStream file = GLib.FileStream.open ( rpath, "w");
 		this.write_file_header ( file, this.css_path, iface.full_name() );
diff --git a/src/doclets/htmlhelpers/doclet/doclet.vala b/src/doclets/htmlhelpers/doclet/doclet.vala
index 4dc4137..40a3222 100755
--- a/src/doclets/htmlhelpers/doclet/doclet.vala
+++ b/src/doclets/htmlhelpers/doclet/doclet.vala
@@ -248,6 +248,7 @@ public abstract class Valadoc.Html.BasicDoclet : Valadoc.Doclet {
 		this.write_navi_child_signals ( file, iface, mself );
 		this.write_navi_child_properties ( file, iface, mself );
 		this.write_navi_child_fields ( file, iface, mself );
+		this.write_navi_child_constants ( file, iface, mself );
 		file.puts ( "</ul>\n" );
 	}
 
diff --git a/src/doclets/valadoc.org/doclet/doclet.vala b/src/doclets/valadoc.org/doclet/doclet.vala
index 8e3a218..09842a3 100755
--- a/src/doclets/valadoc.org/doclet/doclet.vala
+++ b/src/doclets/valadoc.org/doclet/doclet.vala
@@ -349,6 +349,14 @@ public class Valadoc.ValdocOrg.Doclet : Valadoc.Doclet {
 			}			
 		}
 
+		foreach (Constant c in iface.get_constant_list()) {
+			c.visit(this, iface);
+
+			if (this.run == false) {
+				return ;
+			}			
+		}
+
 		this.file.printf ("INSERT INTO `ValadocInterfaces` (`id`) VALUES ((SELECT `id` FROM `ValadocApiElement` WHERE BINARY `fullname`='%s' LIMIT 1));\n", this.get_type_path(iface));
 		this.write_documentation (iface);
 	}
diff --git a/src/libvaladoc/apitree/interface.vala b/src/libvaladoc/apitree/interface.vala
index 4dd7ce5..b0a4b22 100644
--- a/src/libvaladoc/apitree/interface.vala
+++ b/src/libvaladoc/apitree/interface.vala
@@ -23,7 +23,7 @@ using GLib;
 using Gee;
 
 
-public class Valadoc.Interface : DocumentedElement, SymbolAccessibility, Visitable, SignalHandler, PropertyHandler, FieldHandler, TemplateParameterListHandler, MethodHandler, DelegateHandler, EnumHandler, StructHandler, ClassHandler {
+public class Valadoc.Interface : DocumentedElement, SymbolAccessibility, Visitable, SignalHandler, PropertyHandler, FieldHandler, ConstantHandler, TemplateParameterListHandler, MethodHandler, DelegateHandler, EnumHandler, StructHandler, ClassHandler {
 	public Interface (Valadoc.Settings settings, Vala.Interface vinterface, InterfaceHandler parent, Tree head) {
 		this.vcomment = vinterface.comment;
 		this.settings = settings;
@@ -69,6 +69,10 @@ public class Valadoc.Interface : DocumentedElement, SymbolAccessibility, Visitab
 		Gee.Collection<Vala.Enum> enums = this.vinterface.get_enums();
 		this.enums = new Gee.ArrayList<Enum>();
 		this.add_enums (enums);
+
+		Gee.Collection<Vala.Constant> constants = this.vinterface.get_constants();
+		this.constants = new Gee.ArrayList<Constant>();
+		this.add_constants ( constants );
 	}
 
 	private Gee.ArrayList<Interface> interfaces = new Gee.ArrayList<Interface>();
@@ -131,6 +135,11 @@ public class Valadoc.Interface : DocumentedElement, SymbolAccessibility, Visitab
 		set;
 	}
 
+	protected Gee.ArrayList<Constant> constants {
+		get;
+		set;
+	}
+
 	private Vala.Interface vinterface;
 
 	internal override DocumentedElement? search_element_vala ( Gee.ArrayList<Vala.Symbol> params, int pos ) {
@@ -215,6 +224,10 @@ public class Valadoc.Interface : DocumentedElement, SymbolAccessibility, Visitab
 		if ( element != null )
 			return element;
 
+		element = this.search_constant ( params, pos );
+		if ( element != null )
+			return element;
+
 		return null;
 	}
 



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