]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
libvaladoc: add helpers for valadoc.org
authorFlorian Brosch <flo.brosch@gmail.com>
Mon, 23 Jan 2012 15:26:52 +0000 (16:26 +0100)
committerFlorian Brosch <flo.brosch@gmail.com>
Mon, 23 Jan 2012 15:32:57 +0000 (16:32 +0100)
src/libvaladoc/api/node.vala
src/libvaladoc/charts/chart.vala
src/libvaladoc/html/htmlmarkupwriter.vala

index 48cb6009cdb82225aeb57ebf803f1c7ccfd1c88a..ab440ba1488ec87bfbf1bfc625bb093c53b15f8a 100755 (executable)
@@ -47,7 +47,74 @@ public enum Valadoc.Api.NodeType {
        SIGNAL,
        STATIC_METHOD,
        STRUCT,
-       TYPE_PARAMETER
+       TYPE_PARAMETER;
+
+       public string to_string () {
+               switch (this) {
+               case CLASS:
+                       return "CLASS";
+
+               case CONSTANT:
+                       return "CONSTANT";
+
+               case CREATION_METHOD:
+                       return "CREATION_METHOD";
+
+               case DELEGATE:
+                       return "DELEGATE";
+
+               case ENUM:
+                       return "ENUM";
+
+               case ENUM_VALUE:
+                       return "ENUM_VALUE";
+
+               case ERROR_CODE:
+                       return "ERROR_CODE";
+
+               case ERROR_DOMAIN:
+                       return "ERROR_DOMAIN";
+
+               case FIELD:
+                       return "FIELD";
+
+               case FORMAL_PARAMETER:
+                       return "FORMAL_PARAMETER";
+
+               case INTERFACE:
+                       return "INTERFACE";
+
+               case METHOD:
+                       return "METHOD";
+
+               case NAMESPACE:
+                       return "NAMESPACE";
+
+               case PACKAGE:
+                       return "PACKAGE";
+
+               case PROPERTY:
+                       return "PROPERTY";
+
+               case PROPERTY_ACCESSOR:
+                       return "PROPERTY_ACCESSOR";
+
+               case SIGNAL:
+                       return "SIGNAL";
+
+               case STATIC_METHOD:
+                       return "STATIC_METHOD";
+
+               case STRUCT:
+                       return "STRUCT";
+
+               case TYPE_PARAMETER:
+                       return "TYPE_PARAMETER";
+
+               default:
+                       assert_not_reached ();
+               }
+       }
 }
 
 /**
index caedfd308c0cbf6c1a83aa95d28c04341e1cc4b4..f4b99088c39fb97f7e6776d5855fdcf57cb88abc 100755 (executable)
@@ -50,6 +50,17 @@ public class Valadoc.Charts.Chart : Api.Visitor {
                context.render (graph, file_type, file);
        }
 
+       public uint8[] write_buffer (string file_type) {
+               if (context == null) {
+                       context = factory.create_context (graph);
+               }
+
+               uint8[] data;
+
+               context.render_data (graph, file_type, out data);
+               return data;
+       }
+
        ~Chart () {
                if (context != null) {
                        context.free_layout (graph);
index 13e6cd0ebd82c139e3ed15e386761c9ee70d50a2..435d833a190bde8f5f240318c43ec6a1e4b8323d 100755 (executable)
@@ -24,19 +24,26 @@ using GLib;
 using Valadoc.Content;
 
 public class Valadoc.Html.MarkupWriter : Valadoc.MarkupWriter {
-       private unowned FileStream stream;
 
        public MarkupWriter (FileStream stream, bool xml_declaration = true) {
                // avoid broken implicit copy
                unowned FileStream _stream = stream;
 
                base ((str) => { _stream.printf (str); }, xml_declaration);
-               this.stream = stream;
+       }
+
+       public MarkupWriter.builder (StringBuilder builder, bool xml_declaration = true) {
+               // avoid broken implicit copy
+               unowned StringBuilder _builder = builder;
+
+               base ((str) => { _builder.append (str); }, xml_declaration);
        }
 
        public MarkupWriter add_usemap (Charts.Chart chart) {
-               stream.putc ('\n');
-               chart.write (stream, "cmapx");
+               string buf = (string) chart.write_buffer ("cmapx");
+               raw_text ("\n");
+               raw_text (buf);
+
                return this;
        }