[valadoc] - new taglet init function
- From: Florian Brosch <flobrosch src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [valadoc] - new taglet init function
- Date: Fri, 18 Sep 2009 19:01:06 +0000 (UTC)
commit 799b4818815ba7cf0b4e6c862ed2ad21b22611d5
Author: Florian Brosch <flo brosch gmail com>
Date: Fri Sep 18 20:48:43 2009 +0200
- new taglet init function
configure.in | 46 --
src/doclets/htmlhelpers/taglets/Makefile.am | 101 ++-
.../taglet.vala => htmlhelpers/taglets/bold.vala} | 10 +-
src/doclets/htmlhelpers/taglets/bold/taglet.vala | 57 --
.../taglets/center.vala} | 11 +-
src/doclets/htmlhelpers/taglets/center/taglet.vala | 57 --
.../taglets/constant.vala} | 8 +-
.../{constants/taglet.vala => constants.vala} | 0
.../taglets/headline.vala} | 9 +-
.../htmlhelpers/taglets/headline/taglet.vala | 49 --
src/doclets/htmlhelpers/taglets/image.vala | 113 +++
src/doclets/htmlhelpers/taglets/image/taglet.vala | 120 ---
.../taglets/italic.vala} | 11 +-
src/doclets/htmlhelpers/taglets/italic/taglet.vala | 56 --
.../taglet.vala => htmlhelpers/taglets/link.vala} | 25 +-
src/doclets/htmlhelpers/taglets/link/taglet.vala | 64 --
.../taglet.vala => htmlhelpers/taglets/list.vala} | 20 +-
src/doclets/htmlhelpers/taglets/list/taglet.vala | 60 --
.../taglets/listelement.vala} | 13 +-
.../htmlhelpers/taglets/listelement/taglet.vala | 58 --
.../taglets/notification.vala} | 12 +-
.../htmlhelpers/taglets/notification/Makefile.am | 56 --
.../htmlhelpers/taglets/notification/taglet.vala | 58 --
.../taglets/paragraph.vala} | 14 +-
.../htmlhelpers/taglets/paragraph/taglet.vala | 57 --
src/doclets/htmlhelpers/taglets/parameter.vala | 136 ++++
.../htmlhelpers/taglets/parameter/taglet.vala | 145 ----
.../htmlhelpers/taglets/registerfunction.vala | 51 ++
.../taglets/return.vala} | 31 +-
src/doclets/htmlhelpers/taglets/return/taglet.vala | 72 --
.../taglet.vala => htmlhelpers/taglets/right.vala} | 11 +-
src/doclets/htmlhelpers/taglets/right/taglet.vala | 57 --
src/doclets/htmlhelpers/taglets/see.vala | 86 ++
src/doclets/htmlhelpers/taglets/see/taglet.vala | 97 ---
src/doclets/htmlhelpers/taglets/since.vala | 69 ++
src/doclets/htmlhelpers/taglets/since/taglet.vala | 78 --
.../taglets/source.vala} | 30 +-
src/doclets/htmlhelpers/taglets/source/taglet.vala | 61 --
.../taglets/string.vala} | 47 +-
src/doclets/htmlhelpers/taglets/string/taglet.vala | 76 --
.../taglet.vala => htmlhelpers/taglets/table.vala} | 33 +-
src/doclets/htmlhelpers/taglets/table/taglet.vala | 61 --
src/doclets/htmlhelpers/taglets/tablecell.vala | 87 ++
.../htmlhelpers/taglets/tablecell/taglet.vala | 95 ---
src/doclets/htmlhelpers/taglets/throws.vala | 139 ++++
src/doclets/htmlhelpers/taglets/throws/taglet.vala | 149 ----
src/doclets/htmlhelpers/taglets/typelink.vala | 60 ++
.../htmlhelpers/taglets/typelink/taglet.vala | 69 --
.../taglets/underline.vala} | 11 +-
.../htmlhelpers/taglets/underline/taglet.vala | 58 --
src/doclets/valadoc.org/doclet/Makefile.am | 2 -
src/doclets/valadoc.org/taglets/Makefile.am | 98 ++-
.../taglets/{bold/taglet.vala => bold.vala} | 7 +-
.../taglets/{center/taglet.vala => center.vala} | 7 +-
.../{constants/taglet.vala => constant.vala} | 7 +-
.../{headline/taglet.vala => headline.vala} | 6 +-
.../taglets/{image/taglet.vala => image.vala} | 8 +-
.../taglets/{italic/taglet.vala => italic.vala} | 6 +-
.../taglets/{link/taglet.vala => link.vala} | 6 +-
.../taglets/{list/taglet.vala => list.vala} | 8 +-
.../{listelement/taglet.vala => listelement.vala} | 7 +-
.../taglet.vala => notification.vala} | 8 +-
.../{paragraph/taglet.vala => nparagraph.vala} | 0
.../taglets/{italic/taglet.vala => paragraph.vala} | 15 +-
src/doclets/valadoc.org/taglets/parameter.vala | 130 +++
.../valadoc.org/taglets/registerfunction.vala | 51 ++
.../taglets/{italic/taglet.vala => return.vala} | 29 +-
.../taglets/{italic/taglet.vala => right.vala} | 11 +-
src/doclets/valadoc.org/taglets/see.vala | 72 ++
.../taglets/{link/taglet.vala => since.vala} | 59 +-
.../taglets/{headline/taglet.vala => source.vala} | 29 +-
.../taglets/{constants/taglet.vala => string.vala} | 14 +-
.../taglets/{center/taglet.vala => table.vala} | 30 +-
src/doclets/valadoc.org/taglets/tablecell.vala | 88 ++
src/doclets/valadoc.org/taglets/throws.vala | 129 +++
.../taglets/{bold/taglet.vala => typelink.vala} | 37 +-
.../taglets/{italic/taglet.vala => underline.vala} | 11 +-
src/libvaladoc/documentation/moduleloader.vala | 86 +--
src/libvaladoc/valadoc-1.0.vapi | 842 ++++++++++++++++++++
src/vapi/valadoc-1.2.0.deps | 2 -
80 files changed, 2474 insertions(+), 2225 deletions(-)
---
diff --git a/configure.in b/configure.in
index 0117dad..fc1e867 100644
--- a/configure.in
+++ b/configure.in
@@ -66,57 +66,11 @@ AC_CONFIG_FILES([Makefile
src/doclets/htmlhelpers/languages/Makefile
src/doclets/htmlhelpers/doclet/Makefile
src/doclets/htmlhelpers/taglets/Makefile
- src/doclets/htmlhelpers/taglets/see/Makefile
- src/doclets/htmlhelpers/taglets/link/Makefile
- src/doclets/htmlhelpers/taglets/constants/Makefile
- src/doclets/htmlhelpers/taglets/list/Makefile
- src/doclets/htmlhelpers/taglets/bold/Makefile
- src/doclets/htmlhelpers/taglets/since/Makefile
- src/doclets/htmlhelpers/taglets/table/Makefile
- src/doclets/htmlhelpers/taglets/right/Makefile
- src/doclets/htmlhelpers/taglets/image/Makefile
- src/doclets/htmlhelpers/taglets/paragraph/Makefile
- src/doclets/htmlhelpers/taglets/throws/Makefile
- src/doclets/htmlhelpers/taglets/string/Makefile
- src/doclets/htmlhelpers/taglets/center/Makefile
- src/doclets/htmlhelpers/taglets/italic/Makefile
- src/doclets/htmlhelpers/taglets/return/Makefile
- src/doclets/htmlhelpers/taglets/source/Makefile
- src/doclets/htmlhelpers/taglets/headline/Makefile
- src/doclets/htmlhelpers/taglets/typelink/Makefile
- src/doclets/htmlhelpers/taglets/underline/Makefile
- src/doclets/htmlhelpers/taglets/parameter/Makefile
- src/doclets/htmlhelpers/taglets/tablecell/Makefile
- src/doclets/htmlhelpers/taglets/listelement/Makefile
- src/doclets/htmlhelpers/taglets/notification/Makefile
src/doclets/htm/Makefile
src/doclets/htm/doclet/Makefile
src/doclets/valadoc.org/Makefile
src/doclets/valadoc.org/doclet/Makefile
src/doclets/valadoc.org/taglets/Makefile
- src/doclets/valadoc.org/taglets/see/Makefile
- src/doclets/valadoc.org/taglets/paragraph/Makefile
- src/doclets/valadoc.org/taglets/link/Makefile
- src/doclets/valadoc.org/taglets/constants/Makefile
- src/doclets/valadoc.org/taglets/list/Makefile
- src/doclets/valadoc.org/taglets/bold/Makefile
- src/doclets/valadoc.org/taglets/since/Makefile
- src/doclets/valadoc.org/taglets/table/Makefile
- src/doclets/valadoc.org/taglets/right/Makefile
- src/doclets/valadoc.org/taglets/image/Makefile
- src/doclets/valadoc.org/taglets/throws/Makefile
- src/doclets/valadoc.org/taglets/string/Makefile
- src/doclets/valadoc.org/taglets/center/Makefile
- src/doclets/valadoc.org/taglets/italic/Makefile
- src/doclets/valadoc.org/taglets/return/Makefile
- src/doclets/valadoc.org/taglets/source/Makefile
- src/doclets/valadoc.org/taglets/headline/Makefile
- src/doclets/valadoc.org/taglets/typelink/Makefile
- src/doclets/valadoc.org/taglets/underline/Makefile
- src/doclets/valadoc.org/taglets/parameter/Makefile
- src/doclets/valadoc.org/taglets/tablecell/Makefile
- src/doclets/valadoc.org/taglets/listelement/Makefile
- src/doclets/valadoc.org/taglets/notification/Makefile
src/doclets/devhelp/Makefile
src/doclets/devhelp/doclet/Makefile
src/valadoc/Makefile])
diff --git a/src/doclets/htmlhelpers/taglets/Makefile.am b/src/doclets/htmlhelpers/taglets/Makefile.am
old mode 100644
new mode 100755
index 8181abd..1c84cfa
--- a/src/doclets/htmlhelpers/taglets/Makefile.am
+++ b/src/doclets/htmlhelpers/taglets/Makefile.am
@@ -1,28 +1,81 @@
NULL =
-SUBDIRS = \
- bold \
- center \
- constants \
- headline \
- image \
- italic \
- link \
- list \
- listelement \
- notification \
- paragraph \
- parameter \
- return \
- right \
- see \
- since \
- source \
- string \
- table \
- tablecell \
- throws \
- typelink \
- underline \
+AM_CFLAGS = -g \
+ -I ../../../libvaladoc/ \
+ -I ../doclet/ \
+ $(GLIB_CFLAGS) \
+ $(LIBVALA_CFLAGS) \
+ $(LIBGDKPIXBUF_CFLAGS) \
$(NULL)
+
+
+BUILT_SOURCES = libbasictaglets.vala.stamp
+
+
+basictagletsdir = $(libdir)/valadoc/plugins/htmlhelpers/taglets/
+
+
+basictaglets_LTLIBRARIES = \
+ libbasictaglets.la \
+ $(NULL)
+
+
+libbasictaglets_la_VALASOURCES = \
+ bold.vala \
+ center.vala \
+ constant.vala \
+ headline.vala \
+ image.vala \
+ italic.vala \
+ link.vala \
+ list.vala \
+ listelement.vala \
+ notification.vala \
+ paragraph.vala \
+ parameter.vala \
+ return.vala \
+ right.vala \
+ see.vala \
+ since.vala \
+ source.vala \
+ string.vala \
+ table.vala \
+ tablecell.vala \
+ throws.vala \
+ typelink.vala \
+ underline.vala \
+ registerfunction.vala \
+ $(NULL)
+
+
+libbasictaglets_la_SOURCES = \
+ libbasictaglets.vala.stamp \
+ $(libbasictaglets_la_VALASOURCES:.vala=.c) \
+ $(NULL)
+
+
+libbasictaglets.vala.stamp: $(libbasictaglets_la_VALASOURCES)
+ $(VALAC) -C --vapidir ../../../vapi --pkg valadoc-1.0 --vapidir ../doclet/ --pkg libhtmlhelpers-1.0 --basedir . --pkg gdk-pixbuf-2.0 $^
+ touch $@
+
+
+libbasictaglets_la_LDFLAGS = -module -avoid-version
+
+
+libbasictaglets_la_LIBADD = \
+ ../../../libvaladoc/libvaladoc.la \
+ $(LIBGVC_LIBS) \
+ $(LIBVALA_LIBS) \
+ $(GLIB_LIBS) \
+ $(LIBGDKPIXBUFLIBS_) \
+ $(NULL)
+
+
+EXTRA_DIST = $(libbasictaglets_la_VALASOURCES) libbasictaglets.vala.stamp
+
+
+MAINTAINERCLEANFILES = \
+ $(libbasictaglets_la_VALASOURCES:.vala=.c) \
+ $(NULL)
+
diff --git a/src/doclets/valadoc.org/taglets/bold/taglet.vala b/src/doclets/htmlhelpers/taglets/bold.vala
similarity index 82%
copy from src/doclets/valadoc.org/taglets/bold/taglet.vala
copy to src/doclets/htmlhelpers/taglets/bold.vala
index 9658bca..1aa13a4 100755
--- a/src/doclets/valadoc.org/taglets/bold/taglet.vala
+++ b/src/doclets/htmlhelpers/taglets/bold.vala
@@ -22,7 +22,7 @@ using GLib;
using Gee;
-public class Valadoc.ValdocOrg.BoldDocElement : Valadoc.BoldDocElement {
+public class Valadoc.Html.BoldDocElement : Valadoc.BoldDocElement {
private Gee.ArrayList<DocElement> content;
public override bool parse ( Gee.ArrayList<DocElement> content ) {
@@ -35,21 +35,17 @@ public class Valadoc.ValdocOrg.BoldDocElement : Valadoc.BoldDocElement {
int _max = this.content.size;
int _index = 0;
- file.printf ( "++" );
+ file.printf ( "<b>" );
foreach ( DocElement element in this.content ) {
element.write ( res, _max, _index );
_index++;
}
- file.printf ( "++" );
+ file.printf ( "</b>" );
return true;
}
}
-[ModuleInit]
-public GLib.Type register_plugin ( Gee.HashMap<string, Type> taglets ) {
- return typeof ( Valadoc.ValdocOrg.BoldDocElement );
-}
diff --git a/src/doclets/valadoc.org/taglets/bold/taglet.vala b/src/doclets/htmlhelpers/taglets/center.vala
similarity index 82%
copy from src/doclets/valadoc.org/taglets/bold/taglet.vala
copy to src/doclets/htmlhelpers/taglets/center.vala
index 9658bca..36204c4 100755
--- a/src/doclets/valadoc.org/taglets/bold/taglet.vala
+++ b/src/doclets/htmlhelpers/taglets/center.vala
@@ -22,7 +22,7 @@ using GLib;
using Gee;
-public class Valadoc.ValdocOrg.BoldDocElement : Valadoc.BoldDocElement {
+public class Valadoc.Html.CenterDocElement : Valadoc.CenterDocElement {
private Gee.ArrayList<DocElement> content;
public override bool parse ( Gee.ArrayList<DocElement> content ) {
@@ -35,21 +35,16 @@ public class Valadoc.ValdocOrg.BoldDocElement : Valadoc.BoldDocElement {
int _max = this.content.size;
int _index = 0;
- file.printf ( "++" );
+ file.printf ( "<div align=\"center\">" );
foreach ( DocElement element in this.content ) {
element.write ( res, _max, _index );
_index++;
}
- file.printf ( "++" );
+ file.printf ( "</div>" );
return true;
}
}
-[ModuleInit]
-public GLib.Type register_plugin ( Gee.HashMap<string, Type> taglets ) {
- return typeof ( Valadoc.ValdocOrg.BoldDocElement );
-}
-
diff --git a/src/doclets/valadoc.org/taglets/constants/taglet.vala b/src/doclets/htmlhelpers/taglets/constant.vala
similarity index 86%
copy from src/doclets/valadoc.org/taglets/constants/taglet.vala
copy to src/doclets/htmlhelpers/taglets/constant.vala
index 0e2fa62..85ba9d6 100755
--- a/src/doclets/valadoc.org/taglets/constants/taglet.vala
+++ b/src/doclets/htmlhelpers/taglets/constant.vala
@@ -32,14 +32,8 @@ public class Valadoc.Html.CodeConstantDocElement : Valadoc.CodeConstantDocElemen
public override bool write (void* res, int max, int index) {
weak GLib.FileStream file = (GLib.FileStream)res;
- file.puts (this.constant);
+ file.printf ("<font class=\"%s\">%s</font>", css_content_literal, this.constant);
return true;
}
}
-
-[ModuleInit]
-public GLib.Type register_plugin (Gee.HashMap<string, Type> taglets) {
- return typeof (Valadoc.Html.CodeConstantDocElement);
-}
-
diff --git a/src/doclets/htmlhelpers/taglets/constants/taglet.vala b/src/doclets/htmlhelpers/taglets/constants.vala
similarity index 100%
rename from src/doclets/htmlhelpers/taglets/constants/taglet.vala
rename to src/doclets/htmlhelpers/taglets/constants.vala
diff --git a/src/doclets/valadoc.org/taglets/headline/taglet.vala b/src/doclets/htmlhelpers/taglets/headline.vala
similarity index 78%
copy from src/doclets/valadoc.org/taglets/headline/taglet.vala
copy to src/doclets/htmlhelpers/taglets/headline.vala
index d646a54..117d522 100755
--- a/src/doclets/valadoc.org/taglets/headline/taglet.vala
+++ b/src/doclets/htmlhelpers/taglets/headline.vala
@@ -22,7 +22,7 @@ using GLib;
using Gee;
-public class Valadoc.ValdocOrg.HeadlineDocElement : Valadoc.HeadlineDocElement {
+public class Valadoc.Html.HeadlineDocElement : Valadoc.HeadlineDocElement {
private string title;
private int lvl;
@@ -34,14 +34,9 @@ public class Valadoc.ValdocOrg.HeadlineDocElement : Valadoc.HeadlineDocElement {
public override bool write (void* res, int max, int index) {
weak GLib.FileStream file = (GLib.FileStream)res;
- file.printf ("\n\n%s %s\n", string.nfill (this.lvl+1, '='), this.title);
+ file.printf ("\n\n<h%d>%s</h%d>\n", this.lvl, this.title, this.lvl);
return true;
}
}
-[ModuleInit]
-public GLib.Type register_plugin (Gee.HashMap<string, Type> taglets) {
- return typeof (Valadoc.ValdocOrg.HeadlineDocElement);
-}
-
diff --git a/src/doclets/htmlhelpers/taglets/image.vala b/src/doclets/htmlhelpers/taglets/image.vala
new file mode 100755
index 0000000..46ec129
--- /dev/null
+++ b/src/doclets/htmlhelpers/taglets/image.vala
@@ -0,0 +1,113 @@
+/*
+ * Valadoc - a documentation tool for vala.
+ * Copyright (C) 2008 Florian Brosch
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+
+using GLib;
+using Gee;
+using Gdk;
+
+
+public class Valadoc.Html.ImageDocElement : Valadoc.ImageDocElement {
+ private static uint counter = 0;
+
+ private string htmlpath;
+ private string npath;
+ private string path;
+ private string alt;
+
+ public override bool parse ( Settings settings, Documentation pos, owned string path, owned string alt ) {
+ if ( GLib.FileUtils.test ( path, GLib.FileTest.EXISTS | GLib.FileTest.IS_REGULAR ) == false ) {
+ return false;
+ }
+
+ weak string? dotpos = path.rchr ( -1, '.' );
+ string filename = "img0%u%s".printf(this.counter++, dotpos.ndup(dotpos.size()));
+
+ this.path = realpath ( path );
+
+ if ( pos == null || (pos is WikiPage)? ((WikiPage)pos).name=="index.valadoc": false ) {
+ this.htmlpath = Path.build_filename("content", "img", filename);
+ this.npath = Path.build_filename(settings.path, this.htmlpath);
+ this.alt = alt;
+ }
+ else if ( pos is DocumentedElement ) {
+ this.htmlpath = Path.build_filename("img", filename);
+ this.npath = Path.build_filename(settings.path, ((DocumentedElement)pos).package.name, this.htmlpath);
+ this.alt = alt;
+ }
+ else {
+ this.htmlpath = Path.build_filename("img", filename);
+ this.npath = Path.build_filename(settings.path, "content", this.htmlpath);
+ this.alt = alt;
+ }
+ return true;
+ }
+
+ private string? create_thumb (string filename, string destinationpath) {
+ int height;
+ int width;
+
+ weak PixbufFormat format = Pixbuf.get_file_info (filename, out width, out height);
+ if ( width == 0 || height == 0 ) {
+ return null;
+ }
+
+ if ( width > 700 ) {
+ try {
+ Pixbuf img = new Pixbuf.from_file (filename);
+
+ int dest_height = (height*700)/width;
+ int dest_width = 700;
+
+
+ if (dest_height == 0) {
+ dest_height++;
+ }
+
+ Pixbuf dest = new Pixbuf (img.get_colorspace(), img.get_has_alpha(), img.get_bits_per_sample(), dest_width, dest_height);
+ img.scale (dest, 0, 0, dest_width, dest_height, 0, 0, (double)dest_width/img.get_width(), (double)dest_height/img.get_height(), Gdk.InterpType.BILINEAR);
+
+ string newfilename = GLib.Path.build_filename(destinationpath, "tmb_"+Path.get_basename (filename));
+ dest.save (newfilename, format.get_name());
+ return newfilename;
+ }
+ catch (Error err) {
+ return null;
+ }
+ }
+
+ return filename;
+ }
+
+ public override bool write ( void* res, int max, int index ) {
+ bool tmp = copy_file ( this.path, this.npath );
+ if ( tmp == false )
+ return false;
+
+ string thumbpath = create_thumb (this.npath, Path.get_dirname(this.npath));
+ if ( thumbpath == null ) {
+ return false;
+ }
+
+ ((GLib.FileStream)res).printf ( "<a href=\"%s\"><img src=\"%s\" alt=\"%s\" /></a>", this.htmlpath, thumbpath, this.alt );
+ return true;
+ }
+}
+
+
diff --git a/src/doclets/valadoc.org/taglets/bold/taglet.vala b/src/doclets/htmlhelpers/taglets/italic.vala
similarity index 82%
copy from src/doclets/valadoc.org/taglets/bold/taglet.vala
copy to src/doclets/htmlhelpers/taglets/italic.vala
index 9658bca..a100318 100755
--- a/src/doclets/valadoc.org/taglets/bold/taglet.vala
+++ b/src/doclets/htmlhelpers/taglets/italic.vala
@@ -22,7 +22,7 @@ using GLib;
using Gee;
-public class Valadoc.ValdocOrg.BoldDocElement : Valadoc.BoldDocElement {
+public class Valadoc.Html.ItalicDocElement : Valadoc.ItalicDocElement {
private Gee.ArrayList<DocElement> content;
public override bool parse ( Gee.ArrayList<DocElement> content ) {
@@ -35,21 +35,16 @@ public class Valadoc.ValdocOrg.BoldDocElement : Valadoc.BoldDocElement {
int _max = this.content.size;
int _index = 0;
- file.printf ( "++" );
+ file.printf ( "<i>" );
foreach ( DocElement element in this.content ) {
element.write ( res, _max, _index );
_index++;
}
- file.printf ( "++" );
+ file.printf ( "</i>" );
return true;
}
}
-[ModuleInit]
-public GLib.Type register_plugin ( Gee.HashMap<string, Type> taglets ) {
- return typeof ( Valadoc.ValdocOrg.BoldDocElement );
-}
-
diff --git a/src/doclets/valadoc.org/taglets/link/taglet.vala b/src/doclets/htmlhelpers/taglets/link.vala
similarity index 63%
copy from src/doclets/valadoc.org/taglets/link/taglet.vala
copy to src/doclets/htmlhelpers/taglets/link.vala
index bd975d4..e19811b 100755
--- a/src/doclets/valadoc.org/taglets/link/taglet.vala
+++ b/src/doclets/htmlhelpers/taglets/link.vala
@@ -22,11 +22,11 @@ using GLib;
using Gee;
-public class Valadoc.ValdocOrg.LinkDocElement : Valadoc.LinkDocElement {
- private string desc;
- private string path;
+public class Valadoc.Html.LinkDocElement : Valadoc.LinkDocElement {
+ protected string desc;
+ protected string path;
- public override bool parse (Settings settings, Tree tree, Documentation pos, owned string path, owned string desc) {
+ public override bool parse ( Settings settings, Tree tree, Documentation pos, owned string path, owned string desc ) {
if ( path.has_suffix(".valadoc")&&path.has_prefix("/") ) {
if ( tree.wikitree == null ) {
return false;
@@ -37,26 +37,21 @@ public class Valadoc.ValdocOrg.LinkDocElement : Valadoc.LinkDocElement {
return false;
}
- this.path = settings.pkg_name+"/"+path.substring (0, path.len()-8);
- this.desc = desc;
+ this.path = get_html_link(settings, wikipage, pos);
+ this.desc = (owned)desc;
return true;
}
- this.path = path;
- this.desc = desc;
+ this.path = (owned)path;
+ this.desc = (owned)desc;
return true;
}
- public override bool write (void* res, int max, int index) {
+ public override bool write ( void* res, int max, int index ) {
weak GLib.FileStream file = (GLib.FileStream)res;
- file.printf ("[[%s|%s]]", this.path, (this.desc==null||this.desc=="")? this.path: this.desc);
+ file.printf ("<a href=\"%s\">%s</a>", this.path, (this.desc==null||this.desc=="")? this.path: this.desc );
return true;
}
}
-[ModuleInit]
-public GLib.Type register_plugin (Gee.HashMap<string, Type> taglets) {
- return typeof (Valadoc.ValdocOrg.LinkDocElement);
-}
-
diff --git a/src/doclets/valadoc.org/taglets/list/taglet.vala b/src/doclets/htmlhelpers/taglets/list.vala
similarity index 69%
copy from src/doclets/valadoc.org/taglets/list/taglet.vala
copy to src/doclets/htmlhelpers/taglets/list.vala
index 260e483..e543782 100755
--- a/src/doclets/valadoc.org/taglets/list/taglet.vala
+++ b/src/doclets/htmlhelpers/taglets/list.vala
@@ -22,35 +22,31 @@ using GLib;
using Gee;
-
-public class Valadoc.ValdocOrg.ListDocElement : Valadoc.ListDocElement {
+public class Valadoc.Html.ListDocElement : Valadoc.ListDocElement {
private Gee.ArrayList<ListEntryDocElement> entries;
private ListType type;
- public override bool parse (ListType type, Gee.ArrayList<ListEntryDocElement> entries) {
+ public override bool parse ( ListType type, Gee.ArrayList<ListEntryDocElement> entries ) {
this.entries = entries;
this.type = type;
return true;
}
- public override bool write (void* res, int max, int index) {
+ public override bool write ( void* res, int max, int index ) {
weak GLib.FileStream file = (GLib.FileStream)res;
int _max = this.entries.size;
int _index = 0;
- foreach (ListEntryDocElement entry in this.entries) {
- entry.write (res, _max, _index);
+ file.printf ( (this.type == ListType.UNSORTED)? "<ul>\n" : "<ol>\n" );
+
+ foreach ( ListEntryDocElement entry in this.entries ) {
+ entry.write ( res, _max, _index );
_index++;
}
+ file.printf ( (this.type == ListType.UNSORTED)? "</ul>\n" : "</ol>\n" );
return true;
}
}
-[ModuleInit]
-public GLib.Type register_plugin (Gee.HashMap<string, Type> taglets) {
- return typeof (Valadoc.ValdocOrg.ListDocElement);
-}
-
-
diff --git a/src/doclets/valadoc.org/taglets/bold/taglet.vala b/src/doclets/htmlhelpers/taglets/listelement.vala
similarity index 78%
copy from src/doclets/valadoc.org/taglets/bold/taglet.vala
copy to src/doclets/htmlhelpers/taglets/listelement.vala
index 9658bca..8b44ff8 100755
--- a/src/doclets/valadoc.org/taglets/bold/taglet.vala
+++ b/src/doclets/htmlhelpers/taglets/listelement.vala
@@ -22,10 +22,10 @@ using GLib;
using Gee;
-public class Valadoc.ValdocOrg.BoldDocElement : Valadoc.BoldDocElement {
+public class Valadoc.Html.ListEntryDocElement : Valadoc.ListEntryDocElement {
private Gee.ArrayList<DocElement> content;
- public override bool parse ( Gee.ArrayList<DocElement> content ) {
+ public override bool parse ( ListType type, long lvl, Gee.ArrayList<DocElement> content ) {
this.content = content;
return true;
}
@@ -35,21 +35,16 @@ public class Valadoc.ValdocOrg.BoldDocElement : Valadoc.BoldDocElement {
int _max = this.content.size;
int _index = 0;
- file.printf ( "++" );
+ file.printf ( "\t<li>" );
foreach ( DocElement element in this.content ) {
element.write ( res, _max, _index );
_index++;
}
- file.printf ( "++" );
+ file.printf ( "</li>\n" );
return true;
}
}
-[ModuleInit]
-public GLib.Type register_plugin ( Gee.HashMap<string, Type> taglets ) {
- return typeof ( Valadoc.ValdocOrg.BoldDocElement );
-}
-
diff --git a/src/doclets/valadoc.org/taglets/bold/taglet.vala b/src/doclets/htmlhelpers/taglets/notification.vala
similarity index 82%
copy from src/doclets/valadoc.org/taglets/bold/taglet.vala
copy to src/doclets/htmlhelpers/taglets/notification.vala
index 9658bca..b70679c 100755
--- a/src/doclets/valadoc.org/taglets/bold/taglet.vala
+++ b/src/doclets/htmlhelpers/taglets/notification.vala
@@ -17,12 +17,11 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-
using GLib;
using Gee;
-public class Valadoc.ValdocOrg.BoldDocElement : Valadoc.BoldDocElement {
+public class Valadoc.Html.NotificationDocElement : Valadoc.NotificationDocElement {
private Gee.ArrayList<DocElement> content;
public override bool parse ( Gee.ArrayList<DocElement> content ) {
@@ -35,21 +34,16 @@ public class Valadoc.ValdocOrg.BoldDocElement : Valadoc.BoldDocElement {
int _max = this.content.size;
int _index = 0;
- file.printf ( "++" );
+ file.printf ( "\n<div class=\"%s\">\n", css_notification_area );
foreach ( DocElement element in this.content ) {
element.write ( res, _max, _index );
_index++;
}
- file.printf ( "++" );
+ file.printf ( "\n</div>\n" );
return true;
}
}
-[ModuleInit]
-public GLib.Type register_plugin ( Gee.HashMap<string, Type> taglets ) {
- return typeof ( Valadoc.ValdocOrg.BoldDocElement );
-}
-
diff --git a/src/doclets/valadoc.org/taglets/italic/taglet.vala b/src/doclets/htmlhelpers/taglets/paragraph.vala
similarity index 75%
copy from src/doclets/valadoc.org/taglets/italic/taglet.vala
copy to src/doclets/htmlhelpers/taglets/paragraph.vala
index 2f84b4f..42981a3 100755
--- a/src/doclets/valadoc.org/taglets/italic/taglet.vala
+++ b/src/doclets/htmlhelpers/taglets/paragraph.vala
@@ -22,10 +22,10 @@ using GLib;
using Gee;
-public class Valadoc.ValdocOrg.ItalicDocElement : Valadoc.ItalicDocElement {
- private Gee.ArrayList<DocElement> content;
+public class Valadoc.Html.ParagraphDocElement : Valadoc.ParagraphDocElement {
+ private ArrayList<DocElement> content;
- public override bool parse (Gee.ArrayList<DocElement> content) {
+ public override bool parse (ArrayList<DocElement> content) {
this.content = content;
return true;
}
@@ -35,20 +35,16 @@ public class Valadoc.ValdocOrg.ItalicDocElement : Valadoc.ItalicDocElement {
int _max = this.content.size;
int _index = 0;
- file.printf ("//");
+ file.printf ("<p>");
foreach (DocElement element in this.content) {
element.write (res, _max, _index);
_index++;
}
- file.printf ("//");
+ file.printf ("</p>");
return true;
}
}
-[ModuleInit]
-public GLib.Type register_plugin ( Gee.HashMap<string, Type> taglets ) {
- return typeof (Valadoc.ValdocOrg.ItalicDocElement);
-}
diff --git a/src/doclets/htmlhelpers/taglets/parameter.vala b/src/doclets/htmlhelpers/taglets/parameter.vala
new file mode 100755
index 0000000..5464fdc
--- /dev/null
+++ b/src/doclets/htmlhelpers/taglets/parameter.vala
@@ -0,0 +1,136 @@
+/*
+ * Valadoc - a documentation tool for vala.
+ * Copyright (C) 2008 Florian Brosch
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+
+using GLib;
+using Gee;
+
+
+public class Valadoc.Html.ParameterTaglet : Valadoc.MainTaglet {
+ public override int order { get { return 100; } }
+ private Gee.Collection<DocElement> content;
+ private string paramname;
+
+ private static bool check_parameter_name ( Valadoc.ParameterListHandler me, string name ) {
+ if ( name == "" )
+ return false;
+
+ foreach ( Valadoc.FormalParameter param in me.get_parameter_list ( ) ) {
+ if ( param.name == name )
+ return true;
+ }
+ return false;
+ }
+
+ public override bool write ( void* ptr, int max, int index ) {
+ weak GLib.FileStream file = (GLib.FileStream)ptr;
+
+ file.printf ( "\t<tr>\n" );
+ file.printf ( "\t\t<td class=\"%s\">%s:</td>\n", css_parameter_table_name, this.paramname );
+ file.printf ( "\t\t<td class=\"%s\">\n", css_parameter_table_text );
+ file.puts ( "\t\t\t" );
+
+ int _max = this.content.size;
+ int _index = 0;
+
+ foreach ( DocElement tag in this.content ) {
+ tag.write ( ptr, _max, _index );
+ _index++;
+ }
+
+ file.puts ( "\n" );
+ file.printf ( "\t\t</td>\n" );
+ file.printf ( "\t</tr>\n" );
+ return true;
+ }
+
+ public override bool write_block_start ( void* ptr ) {
+ weak GLib.FileStream file = (GLib.FileStream)ptr;
+ file.printf ( "<h2 class=\"%s\">Parameters:</h2>\n", css_title );
+ file.printf ( "<table class=\"%s\">\n", css_parameter_table );
+ return true;
+ }
+
+ public override bool write_block_end ( void* ptr ) {
+ weak GLib.FileStream file = (GLib.FileStream)ptr;
+ file.printf ( "</table>\n" );
+ return true;
+ }
+
+ public override bool parse ( Settings settings, Tree tree, DocumentedElement me, Gee.Collection<DocElement> content, ref ErrorLevel errlvl, out string errmsg ) {
+ if ( me is Valadoc.ParameterListHandler == false ) {
+ errmsg = "Tag @param cannot be used in this context";
+ errlvl = ErrorLevel.ERROR;
+ return false;
+ }
+
+ if ( content.size == 0 ) {
+ errmsg = "Parameter name was expected";
+ errlvl = ErrorLevel.ERROR;
+ return false;
+ }
+
+ Gee.ArrayList<DocElement> contentlst = new Gee.ArrayList<DocElement> ();
+ foreach ( DocElement element in content ) {
+ contentlst.add ( element );
+ }
+
+ DocElement tag = contentlst.get( 0 );
+ if ( tag is StringTaglet == false ) {
+ errmsg = "Parameter name was expected";
+ errlvl = ErrorLevel.ERROR;
+ return false;
+ }
+
+ string str = ((StringTaglet)tag).content;
+ weak string lposa = str.chr (-1, '\n');
+ weak string lposb = str.chr (-1, ' ');
+ weak string lpos;
+
+ long lposaoffset = (lposa == null)? long.MAX : str.pointer_to_offset ( lposa );
+ long lposboffset = (lposb == null)? long.MAX : str.pointer_to_offset ( lposb );
+
+ if ( lposaoffset < lposboffset )
+ lpos = lposa;
+ else
+ lpos = lposb;
+
+ if ( lpos == null ) {
+ this.paramname = str.strip ();
+ ((StringTaglet)tag).content = "";
+ }
+ else {
+ int namepos = (int)str.pointer_to_offset ( lpos );
+ this.paramname = str.ndup ( namepos ).strip ();
+ ((StringTaglet)tag).content = lpos.ndup ( lpos.size () ).chomp ();
+ }
+
+ bool tmp = this.check_parameter_name ( (Valadoc.ParameterListHandler)me, this.paramname );
+ if ( tmp == false ) {
+ errmsg = "Parameter is not available";
+ errlvl = ErrorLevel.ERROR;
+ return false;
+ }
+
+ this.content = contentlst;
+ return true;
+ }
+}
+
+
diff --git a/src/doclets/htmlhelpers/taglets/registerfunction.vala b/src/doclets/htmlhelpers/taglets/registerfunction.vala
new file mode 100644
index 0000000..ab7da07
--- /dev/null
+++ b/src/doclets/htmlhelpers/taglets/registerfunction.vala
@@ -0,0 +1,51 @@
+/*
+ * Valadoc - a documentation tool for vala.
+ * Copyright (C) 2008 Florian Brosch
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+using Valadoc;
+
+
+[ModuleInit]
+public void register_plugin (ModuleLoader loader) {
+ loader.underline = typeof (Valadoc.Html.UnderlinedDocElement);
+ loader.table_cell = typeof (Valadoc.Html.TableCellDocElement);
+ loader.table = typeof (Valadoc.Html.TableDocElement);
+ loader.string = typeof (Valadoc.Html.StringTaglet);
+ loader.source = typeof (Valadoc.Html.SourceCodeDocElement);
+ loader.right = typeof (Valadoc.Html.RightAlignedDocElement);
+ loader.paragraph = typeof (Valadoc.Html.ParagraphDocElement);
+ loader.notification = typeof (Valadoc.Html.NotificationDocElement);
+ loader.list_element = typeof (Valadoc.Html.ListEntryDocElement);
+ loader.list = typeof (Valadoc.Html.ListDocElement);
+ loader.link = typeof (Valadoc.Html.LinkDocElement);
+ loader.italic = typeof (Valadoc.Html.ItalicDocElement);
+ loader.image = typeof (Valadoc.Html.ImageDocElement);
+ loader.headline = typeof (Valadoc.Html.HeadlineDocElement);
+ loader.source_inline = typeof (Valadoc.Html.CodeConstantDocElement);
+ loader.center = typeof (Valadoc.Html.CenterDocElement);
+ loader.bold = typeof (Valadoc.Html.BoldDocElement);
+
+ loader.taglets.set ("see", typeof (Valadoc.Html.SeeTaglet));
+ loader.taglets.set ("since", typeof (Valadoc.Html.SinceTaglet));
+ loader.taglets.set ("link", typeof (Valadoc.Html.TypeLinkInlineTaglet));
+ loader.taglets.set ("throws", typeof (Valadoc.Html.ExceptionTaglet));
+ loader.taglets.set ("return", typeof (Valadoc.Html.ReturnTaglet));
+ loader.taglets.set ("param", typeof (Valadoc.Html.ParameterTaglet));
+}
+
+
diff --git a/src/doclets/valadoc.org/taglets/notification/taglet.vala b/src/doclets/htmlhelpers/taglets/return.vala
similarity index 61%
copy from src/doclets/valadoc.org/taglets/notification/taglet.vala
copy to src/doclets/htmlhelpers/taglets/return.vala
index ea1dfba..5fb6409 100755
--- a/src/doclets/valadoc.org/taglets/notification/taglet.vala
+++ b/src/doclets/htmlhelpers/taglets/return.vala
@@ -17,41 +17,46 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
+
using GLib;
using Gee;
+public class Valadoc.Html.ReturnTaglet : Valadoc.MainTaglet {
+ public override int order { get { return 300; } }
+ private Gee.Collection<DocElement> content;
-public class Valadoc.ValdocOrg.NotificationDocElement : Valadoc.NotificationDocElement {
- private Gee.ArrayList<DocElement> content;
- public override bool parse ( Gee.ArrayList<DocElement> content ) {
+ public override bool parse ( Settings settings, Tree tree, DocumentedElement me, Gee.Collection<DocElement> content, ref ErrorLevel errlvl, out string errmsg ) {
+ if ( !(me is Valadoc.Method || me is Valadoc.Signal || me is Valadoc.Delegate) ) {
+ errmsg = "Tag @return cannot be used in this context";
+ errlvl = ErrorLevel.ERROR;
+ return false;
+ }
this.content = content;
return true;
}
public override bool write ( void* res, int max, int index ) {
- weak GLib.FileStream file = (GLib.FileStream)res;
int _max = this.content.size;
int _index = 0;
- file.printf ( "\n[[warning:\n");
-
foreach ( DocElement element in this.content ) {
element.write ( res, _max, _index );
_index++;
}
-
- file.printf ( "\n]]\n" );
return true;
}
-}
+ public override bool write_block_start ( void* res ) {
+ weak GLib.FileStream file = (GLib.FileStream)res;
+ file.printf ( "<h2 class=\"%s\">Returns:</h2>\n", css_title );
+ return true;
+ }
-[ModuleInit]
-public GLib.Type register_plugin ( Gee.HashMap<string, Type> taglets ) {
- return typeof (Valadoc.ValdocOrg.NotificationDocElement);
+ public override bool write_block_end ( void* res ) {
+ return true;
+ }
}
-
diff --git a/src/doclets/valadoc.org/taglets/bold/taglet.vala b/src/doclets/htmlhelpers/taglets/right.vala
similarity index 82%
copy from src/doclets/valadoc.org/taglets/bold/taglet.vala
copy to src/doclets/htmlhelpers/taglets/right.vala
index 9658bca..5a536f7 100755
--- a/src/doclets/valadoc.org/taglets/bold/taglet.vala
+++ b/src/doclets/htmlhelpers/taglets/right.vala
@@ -22,7 +22,7 @@ using GLib;
using Gee;
-public class Valadoc.ValdocOrg.BoldDocElement : Valadoc.BoldDocElement {
+public class Valadoc.Html.RightAlignedDocElement : Valadoc.RightAlignedDocElement {
private Gee.ArrayList<DocElement> content;
public override bool parse ( Gee.ArrayList<DocElement> content ) {
@@ -35,21 +35,16 @@ public class Valadoc.ValdocOrg.BoldDocElement : Valadoc.BoldDocElement {
int _max = this.content.size;
int _index = 0;
- file.printf ( "++" );
+ file.printf ( "<div align=\"right\">" );
foreach ( DocElement element in this.content ) {
element.write ( res, _max, _index );
_index++;
}
- file.printf ( "++" );
+ file.printf ( "</div>" );
return true;
}
}
-[ModuleInit]
-public GLib.Type register_plugin ( Gee.HashMap<string, Type> taglets ) {
- return typeof ( Valadoc.ValdocOrg.BoldDocElement );
-}
-
diff --git a/src/doclets/htmlhelpers/taglets/see.vala b/src/doclets/htmlhelpers/taglets/see.vala
new file mode 100755
index 0000000..2a68e31
--- /dev/null
+++ b/src/doclets/htmlhelpers/taglets/see.vala
@@ -0,0 +1,86 @@
+/*
+ * Valadoc - a documentation tool for vala.
+ * Copyright (C) 2008 Florian Brosch
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+
+using Valadoc;
+using GLib;
+using Gee;
+
+
+public class Valadoc.Html.SeeTaglet : MainTaglet {
+ public override int order { get { return 400; } }
+ private string name;
+ private string link;
+ private string css;
+
+ protected override bool write_block_start ( void* res ) {
+ weak GLib.FileStream file = (GLib.FileStream)res;
+ file.printf ( "<h2 class=\"%s\">See:</h2>\n", css_title );
+ return true;
+ }
+
+ protected override bool write_block_end ( void* res ) {
+ return true;
+ }
+
+ protected override bool write ( void* res, int max, int index ) {
+ if ( this.link == null ) {
+ ((GLib.FileStream)res).printf ( "<span class=\"%s\">%s</span>", this.css, this.name );
+ }
+ else {
+ ((GLib.FileStream)res).printf ( "<a class=\"%s\" href=\"%s\">%s</a>", this.css, this.link, this.name );
+ }
+
+ if ( max != index+1 ) {
+ ((GLib.FileStream)res).printf ( ", " );
+ }
+ return true;
+ }
+
+ public override bool parse ( Settings settings, Tree tree, DocumentedElement me, Gee.Collection<DocElement> content, ref ErrorLevel errlvl, out string errmsg ) {
+ if ( content.size != 1 ) {
+ errmsg = "Type name was expected";
+ errlvl = ErrorLevel.ERROR;
+ return false;
+ }
+
+ Gee.Iterator<DocElement> it = content.iterator ();
+ it.next ();
+
+ DocElement element = it.get ();
+ if ( element is StringTaglet == false ) {
+ errmsg = "Type name was expected";
+ errlvl = ErrorLevel.ERROR;
+ return false;
+ }
+
+ Valadoc.DocumentedElement? node = tree.search_symbol_str ( me, ((StringTaglet)element).content.strip ( ) );
+ if ( node == null ) {
+ errmsg = "Linked type is not available";
+ errlvl = ErrorLevel.ERROR;
+ return false;
+ }
+
+ this.name = node.full_name ( );
+ this.css = get_html_content_link_css_class ( node );
+ this.link = get_html_link ( settings, node, me );
+ return true;
+ }
+}
+
diff --git a/src/doclets/htmlhelpers/taglets/since.vala b/src/doclets/htmlhelpers/taglets/since.vala
new file mode 100755
index 0000000..5d497ca
--- /dev/null
+++ b/src/doclets/htmlhelpers/taglets/since.vala
@@ -0,0 +1,69 @@
+/*
+ * Valadoc - a documentation tool for vala.
+ * Copyright (C) 2008 Florian Brosch
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+
+using GLib;
+using Gee;
+
+
+public class Valadoc.Html.SinceTaglet : Valadoc.MainTaglet {
+ public override int order { get { return 400; } }
+ private StringTaglet content;
+
+ public override bool write_block_start ( void* ptr ) {
+ weak GLib.FileStream file = (GLib.FileStream)ptr;
+ file.printf ( "<h2 class=\"%s\">Since:</h2>\n", css_title );
+ return true;
+ }
+
+ public override bool write_block_end ( void* res ) {
+ return true;
+ }
+
+ public override bool write ( void* res, int max, int index ) {
+ ((GLib.FileStream)res).printf ( "%s", this.content.content );
+ if ( max != index+1 )
+ ((GLib.FileStream)res).puts ( ", " );
+
+ return true;
+ }
+
+ public override bool parse ( Settings settings, Tree tree, DocumentedElement me, Gee.Collection<DocElement> content, ref ErrorLevel errlvl, out string errmsg ) {
+ if ( content.size != 1 ) {
+ errmsg = "Version name was expected";
+ errlvl = ErrorLevel.ERROR;
+ return false;
+ }
+
+ Gee.Iterator<DocElement> it = content.iterator ();
+ it.next ();
+
+ DocElement element = it.get ();
+ if ( element is StringTaglet == false ) {
+ errmsg = "Version name was expected";
+ errlvl = ErrorLevel.ERROR;
+ return false;
+ }
+
+ this.content = (StringTaglet)element;
+ return true;
+ }
+}
+
+
diff --git a/src/doclets/valadoc.org/taglets/headline/taglet.vala b/src/doclets/htmlhelpers/taglets/source.vala
similarity index 64%
copy from src/doclets/valadoc.org/taglets/headline/taglet.vala
copy to src/doclets/htmlhelpers/taglets/source.vala
index d646a54..03632f7 100755
--- a/src/doclets/valadoc.org/taglets/headline/taglet.vala
+++ b/src/doclets/htmlhelpers/taglets/source.vala
@@ -22,26 +22,32 @@ using GLib;
using Gee;
-public class Valadoc.ValdocOrg.HeadlineDocElement : Valadoc.HeadlineDocElement {
- private string title;
- private int lvl;
-
- public override bool parse (string title, int lvl) {
- this.title = title;
- this.lvl = lvl;
+public class Valadoc.Html.SourceCodeDocElement : Valadoc.SourceCodeDocElement {
+ private Language lang;
+ private int srclines;
+ private string src;
+
+ public override bool parse (string src, Language lang) {
+ this.src = src;
+ this.lang = lang;
+ this.srclines=0;
+
+ for (weak string str=this.src; str.get_char()!='\0'; str=str.next_char()) {
+ if (str.get_char () == '\n') {
+ this.srclines++;
+ }
+ }
return true;
}
public override bool write (void* res, int max, int index) {
weak GLib.FileStream file = (GLib.FileStream)res;
- file.printf ("\n\n%s %s\n", string.nfill (this.lvl+1, '='), this.title);
+ file.printf ("\n\n\t<pre class=\"%s\">", css_source_sample);
+ file.puts (src);
+ file.puts ("</pre>\n\n");
return true;
}
}
-[ModuleInit]
-public GLib.Type register_plugin (Gee.HashMap<string, Type> taglets) {
- return typeof (Valadoc.ValdocOrg.HeadlineDocElement);
-}
diff --git a/src/doclets/valadoc.org/taglets/bold/taglet.vala b/src/doclets/htmlhelpers/taglets/string.vala
similarity index 55%
copy from src/doclets/valadoc.org/taglets/bold/taglet.vala
copy to src/doclets/htmlhelpers/taglets/string.vala
index 9658bca..762223c 100755
--- a/src/doclets/valadoc.org/taglets/bold/taglet.vala
+++ b/src/doclets/htmlhelpers/taglets/string.vala
@@ -22,34 +22,45 @@ using GLib;
using Gee;
-public class Valadoc.ValdocOrg.BoldDocElement : Valadoc.BoldDocElement {
- private Gee.ArrayList<DocElement> content;
-
- public override bool parse ( Gee.ArrayList<DocElement> content ) {
+public class Valadoc.Html.StringTaglet : Valadoc.StringTaglet {
+ public override bool parse ( string content ) {
this.content = content;
return true;
}
public override bool write ( void* res, int max, int index ) {
weak GLib.FileStream file = (GLib.FileStream)res;
- int _max = this.content.size;
- int _index = 0;
-
- file.printf ( "++" );
+ unichar chr = content[0];
+ long lpos = 0;
+ int i = 0;
- foreach ( DocElement element in this.content ) {
- element.write ( res, _max, _index );
- _index++;
+ for ( i = 0; chr != '\0' ; i++, chr = content[i] ) {
+ switch ( chr ) {
+ case '\n':
+ file.puts ( content.substring (lpos, i-lpos) );
+ file.puts ( "<br />" );
+ lpos = i+1;
+ break;
+ case '<':
+ file.puts ( content.substring (lpos, i-lpos) );
+ file.puts ( "<" );
+ lpos = i+1;
+ break;
+ case '>':
+ file.puts ( content.substring (lpos, i-lpos) );
+ file.puts ( ">" );
+ lpos = i+1;
+ break;
+ case '&':
+ file.puts ( content.substring (lpos, i-lpos) );
+ file.puts ( "&" );
+ lpos = i+1;
+ break;
+ }
}
-
- file.printf ( "++" );
+ file.puts ( content.substring (lpos, i-lpos) );
return true;
}
}
-[ModuleInit]
-public GLib.Type register_plugin ( Gee.HashMap<string, Type> taglets ) {
- return typeof ( Valadoc.ValdocOrg.BoldDocElement );
-}
-
diff --git a/src/doclets/valadoc.org/taglets/bold/taglet.vala b/src/doclets/htmlhelpers/taglets/table.vala
similarity index 60%
copy from src/doclets/valadoc.org/taglets/bold/taglet.vala
copy to src/doclets/htmlhelpers/taglets/table.vala
index 9658bca..eeea920 100755
--- a/src/doclets/valadoc.org/taglets/bold/taglet.vala
+++ b/src/doclets/htmlhelpers/taglets/table.vala
@@ -22,34 +22,33 @@ using GLib;
using Gee;
-public class Valadoc.ValdocOrg.BoldDocElement : Valadoc.BoldDocElement {
- private Gee.ArrayList<DocElement> content;
+public class Valadoc.Html.TableDocElement : Valadoc.TableDocElement {
+ private Gee.ArrayList<Gee.ArrayList<TableCellDocElement>> cells;
- public override bool parse ( Gee.ArrayList<DocElement> content ) {
- this.content = content;
- return true;
+ public override void parse ( Gee.ArrayList<Gee.ArrayList<TableCellDocElement>> cells ) {
+ this.cells = cells;
}
public override bool write ( void* res, int max, int index ) {
weak GLib.FileStream file = (GLib.FileStream)res;
- int _max = this.content.size;
- int _index = 0;
- file.printf ( "++" );
+ file.printf ( "<table border=\"1\" class=\"%s\">\n", css_wiki_table );
+ foreach ( Gee.ArrayList<TableCellDocElement> row in this.cells ) {
+ int _max = row.size;
+ int _index = 0;
- foreach ( DocElement element in this.content ) {
- element.write ( res, _max, _index );
- _index++;
- }
+ file.puts ( "\t<tr>\n" );
+ foreach ( TableCellDocElement cell in row ) {
+ cell.write ( res, _max, _index );
+ _index++;
+ }
+ file.puts ( "\t</tr>\n" );
- file.printf ( "++" );
+ }
+ file.puts ( "</table>\n" );
return true;
}
}
-[ModuleInit]
-public GLib.Type register_plugin ( Gee.HashMap<string, Type> taglets ) {
- return typeof ( Valadoc.ValdocOrg.BoldDocElement );
-}
diff --git a/src/doclets/htmlhelpers/taglets/tablecell.vala b/src/doclets/htmlhelpers/taglets/tablecell.vala
new file mode 100755
index 0000000..adf0938
--- /dev/null
+++ b/src/doclets/htmlhelpers/taglets/tablecell.vala
@@ -0,0 +1,87 @@
+/*
+ * Valadoc - a documentation tool for vala.
+ * Copyright (C) 2008 Florian Brosch
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+using GLib;
+using Gee;
+
+
+public class Valadoc.Html.TableCellDocElement : Valadoc.TableCellDocElement {
+ private Gee.ArrayList<DocElement> content;
+ private TextVerticalPosition hpos;
+ private TextPosition pos;
+ private int dcells;
+ private int cells;
+
+ public override void parse ( TextPosition pos, TextVerticalPosition hpos, int cells, int dcells, Gee.ArrayList<DocElement> content ) {
+ this.content = content;
+ this.dcells = dcells;
+ this.cells = cells;
+ this.hpos = hpos;
+ this.pos = pos;
+ }
+
+ public override bool write ( void* res, int max, int index ) {
+ weak GLib.FileStream file = (GLib.FileStream)res;
+ int _max = this.content.size;
+ int _index = 0;
+
+ GLib.StringBuilder td = new GLib.StringBuilder ( "\t\t<td" );
+ if ( this.cells != 1 ) {
+ td.append ( " colspan=\"" );
+ td.append ( this.cells.to_string() );
+ td.append_unichar ( '\"' );
+ }
+
+ if ( this.dcells != 1 ) {
+ td.append ( " rowspan=\"" );
+ td.append ( this.dcells.to_string() );
+ td.append_unichar ( '\"' );
+ }
+
+ switch ( this.pos ) {
+ case TextPosition.CENTER:
+ td.append ( " align=\"center\"" );
+ break;
+ case TextPosition.RIGHT:
+ td.append ( " align=\"right\"" );
+ break;
+ }
+
+ switch ( this.hpos ) {
+ case TextVerticalPosition.TOP:
+ td.append ( " valign=\"top\"" );
+ break;
+ case TextVerticalPosition.BOTTOM:
+ td.append ( " valign=\"bottom\"" );
+ break;
+ }
+
+ td.append_unichar ( '>' );
+
+ file.puts ( td.str );
+ foreach ( DocElement cell in this.content ) {
+ cell.write ( res, _max, _index );
+ _index++;
+ }
+ file.puts ( "</td>\n" );
+ return true;
+ }
+}
+
+
diff --git a/src/doclets/htmlhelpers/taglets/throws.vala b/src/doclets/htmlhelpers/taglets/throws.vala
new file mode 100755
index 0000000..a8e4120
--- /dev/null
+++ b/src/doclets/htmlhelpers/taglets/throws.vala
@@ -0,0 +1,139 @@
+/*
+ * Valadoc - a documentation tool for vala.
+ * Copyright (C) 2008 Florian Brosch
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+
+using GLib;
+using Gee;
+
+
+public class Valadoc.Html.ExceptionTaglet : Valadoc.MainTaglet {
+ public override int order { get { return 200; } }
+ private Gee.ArrayList<DocElement> content;
+ private string paramname;
+
+ public override bool parse ( Settings settings, Tree tree, DocumentedElement me, Gee.Collection<DocElement> content, ref ErrorLevel errlvl, out string errmsg ) {
+ if ( me is Valadoc.ExceptionHandler == false ) {
+ errmsg = "Tag @throws cannot be used in this context";
+ errlvl = ErrorLevel.ERROR;
+ return false;
+ }
+
+ if ( content.size == 0 ) {
+ errmsg = "Exception name was expected";
+ errlvl = ErrorLevel.ERROR;
+ return false;
+ }
+
+
+ Gee.ArrayList<DocElement> contentlst = new Gee.ArrayList<DocElement> ();
+ foreach ( DocElement element in content ) {
+ contentlst.add ( element );
+ }
+
+ DocElement tag = contentlst.get( 0 );
+ if ( tag is StringTaglet == false ) {
+ errmsg = "Exception name was expected";
+ errlvl = ErrorLevel.ERROR;
+ return false;
+ }
+
+ string str = ((StringTaglet)tag).content;
+ weak string lposa = str.chr (-1, '\n');
+ weak string lposb = str.chr (-1, ' ');
+ weak string lpos;
+
+ long lposaoffset = (lposa == null)? long.MAX : str.pointer_to_offset ( lposa );
+ long lposboffset = (lposb == null)? long.MAX : str.pointer_to_offset ( lposb );
+
+ if ( lposaoffset < lposboffset ) {
+ lpos = lposa;
+ }
+ else {
+ lpos = lposb;
+ }
+
+ if ( lpos == null ) {
+ this.paramname = str.strip ();
+ ((StringTaglet)tag).content = "";
+ }
+ else {
+ int namepos = (int)str.pointer_to_offset ( lpos );
+ this.paramname = str.ndup ( namepos ).strip ();
+ ((StringTaglet)tag).content = lpos.ndup ( lpos.size () ).chomp ();
+ }
+
+ bool tmp = this.check_exception_parameter_name ( (Valadoc.ExceptionHandler)me, this.paramname );
+ if ( tmp == false ) {
+ errmsg = "Exception name was expected";
+ errlvl = ErrorLevel.ERROR;
+ return false;
+ }
+
+ this.content = contentlst;
+ return true;
+ }
+
+ private bool check_exception_parameter_name ( Valadoc.ExceptionHandler me, string paramname ) {
+ string paramname2 = "."+paramname;
+
+ foreach ( DocumentedElement param in me.get_error_domains() ) {
+ if ( param.name == paramname || param.full_name() == paramname || param.full_name().has_suffix(paramname2) ) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public override bool write ( void* ptr, int max, int index ) {
+ weak GLib.FileStream file = (GLib.FileStream)ptr;
+
+ file.printf ( "\t<tr>\n" );
+ file.printf ( "\t\t<td class=\"%s\">%s:</td>\n", css_parameter_table_name, this.paramname );
+ file.printf ( "\t\t<td class=\"%s\">\n", css_parameter_table_text );
+ file.puts ( "\t\t\t" );
+
+ int _max = this.content.size;
+ int _index = 0;
+
+ foreach ( DocElement element in this.content ) {
+ element.write ( ptr, _max, _index );
+ _index++;
+ }
+
+ file.puts ( "\n" );
+ file.printf ( "\t\t</td>\n" );
+ file.printf ( "\t</tr>\n" );
+ return true;
+ }
+
+ public override bool write_block_start ( void* ptr ) {
+ weak GLib.FileStream file = (GLib.FileStream)ptr;
+ file.printf ( "<h2 class=\"%s\">Exceptions:</h2>\n", css_title );
+ file.printf ( "<table class=\"%s\">\n", css_exception_table );
+ return true;
+ }
+
+ public override bool write_block_end ( void* ptr ) {
+ weak GLib.FileStream file = (GLib.FileStream)ptr;
+ file.printf ( "</table>\n" );
+ return true;
+ }
+}
+
+
diff --git a/src/doclets/htmlhelpers/taglets/typelink.vala b/src/doclets/htmlhelpers/taglets/typelink.vala
new file mode 100755
index 0000000..32cf5d1
--- /dev/null
+++ b/src/doclets/htmlhelpers/taglets/typelink.vala
@@ -0,0 +1,60 @@
+/*
+ * Valadoc - a documentation tool for vala.
+ * Copyright (C) 2008 Florian Brosch
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+
+using GLib;
+using Gee;
+
+
+public class Valadoc.Html.TypeLinkInlineTaglet : Valadoc.InlineTaglet {
+ private string? link = null;
+ private string? name = null;
+ private string? css = null;
+
+ protected override string to_string ( ) {
+ return this.name;
+ }
+
+ protected override bool write ( void* res, int max, int index ) {
+ if ( this.link == null ) {
+ ((GLib.FileStream)res).printf ( "<span class=\"%s\">%s</span>", this.css, this.name );
+ }
+ else {
+ ((GLib.FileStream)res).printf ( "<a class=\"%s\" href=\"%s\">%s</a>", this.css, this.link, this.name );
+ }
+
+ return true;
+ }
+
+ protected override bool parse ( Settings settings, Tree tree, Documentation self, string content, ref ErrorLevel errlvl, out string? errmsg ) {
+ Valadoc.DocumentedElement? element = tree.search_symbol_str ( (self is DocumentedElement)? (DocumentedElement)self : null, content.strip() );
+ if ( element == null ) {
+ errmsg = "Linked type is not available";
+ errlvl = ErrorLevel.ERROR;
+ return false;
+ }
+
+ this.name = element.full_name ();
+ this.css = get_html_content_link_css_class ( element );
+ this.link = get_html_link ( settings, element, self );
+ return true;
+ }
+}
+
+
diff --git a/src/doclets/valadoc.org/taglets/bold/taglet.vala b/src/doclets/htmlhelpers/taglets/underline.vala
similarity index 82%
copy from src/doclets/valadoc.org/taglets/bold/taglet.vala
copy to src/doclets/htmlhelpers/taglets/underline.vala
index 9658bca..755159d 100755
--- a/src/doclets/valadoc.org/taglets/bold/taglet.vala
+++ b/src/doclets/htmlhelpers/taglets/underline.vala
@@ -22,7 +22,7 @@ using GLib;
using Gee;
-public class Valadoc.ValdocOrg.BoldDocElement : Valadoc.BoldDocElement {
+public class Valadoc.Html.UnderlinedDocElement : Valadoc.UnderlinedDocElement {
private Gee.ArrayList<DocElement> content;
public override bool parse ( Gee.ArrayList<DocElement> content ) {
@@ -35,21 +35,16 @@ public class Valadoc.ValdocOrg.BoldDocElement : Valadoc.BoldDocElement {
int _max = this.content.size;
int _index = 0;
- file.printf ( "++" );
+ file.printf ( "<u>" );
foreach ( DocElement element in this.content ) {
element.write ( res, _max, _index );
_index++;
}
- file.printf ( "++" );
+ file.printf ( "</u>" );
return true;
}
}
-[ModuleInit]
-public GLib.Type register_plugin ( Gee.HashMap<string, Type> taglets ) {
- return typeof ( Valadoc.ValdocOrg.BoldDocElement );
-}
-
diff --git a/src/doclets/valadoc.org/doclet/Makefile.am b/src/doclets/valadoc.org/doclet/Makefile.am
index d4afe91..97ca56c 100755
--- a/src/doclets/valadoc.org/doclet/Makefile.am
+++ b/src/doclets/valadoc.org/doclet/Makefile.am
@@ -33,14 +33,12 @@ libdoclet_la_SOURCES = \
AM_CFLAGS = -g \
-I ../../../libvaladoc/ \
-I ../../htmlhelpers/languages \
- `mysql_config --cflags` \
$(GLIB_CFLAGS) \
$(LIBVALA_CFLAGS) \
$(NULL)
libdoclet_la_LDFLAGS = -module -avoid-version \
- `mysql_config --libs` \
$(NULL)
diff --git a/src/doclets/valadoc.org/taglets/Makefile.am b/src/doclets/valadoc.org/taglets/Makefile.am
index f7b55dd..bb9e83f 100755
--- a/src/doclets/valadoc.org/taglets/Makefile.am
+++ b/src/doclets/valadoc.org/taglets/Makefile.am
@@ -1,28 +1,78 @@
NULL =
-SUBDIRS = \
- typelink \
- tablecell \
- center \
- constants \
- image \
- italic \
- bold \
- right \
- see \
- table \
- throws \
- string \
- list \
- return \
- source \
- paragraph \
- parameter \
- listelement \
- notification \
- underline \
- since \
- link \
- headline \
+AM_CFLAGS = -g \
+ -I ../../../libvaladoc/ \
+ $(GLIB_CFLAGS) \
+ $(LIBVALA_CFLAGS) \
$(NULL)
+
+
+BUILT_SOURCES = libbasictaglets.vala.stamp
+
+
+basictagletsdir = $(libdir)/valadoc/plugins/valadoc.org/taglets/
+
+
+basictaglets_LTLIBRARIES = \
+ libbasictaglets.la \
+ $(NULL)
+
+
+libbasictaglets_la_VALASOURCES = \
+ bold.vala \
+ center.vala \
+ constant.vala \
+ headline.vala \
+ image.vala \
+ italic.vala \
+ link.vala \
+ list.vala \
+ listelement.vala \
+ notification.vala \
+ paragraph.vala \
+ parameter.vala \
+ return.vala \
+ right.vala \
+ see.vala \
+ since.vala \
+ source.vala \
+ string.vala \
+ table.vala \
+ tablecell.vala \
+ throws.vala \
+ typelink.vala \
+ underline.vala \
+ registerfunction.vala \
+ $(NULL)
+
+
+libbasictaglets_la_SOURCES = \
+ libbasictaglets.vala.stamp \
+ $(libbasictaglets_la_VALASOURCES:.vala=.c) \
+ $(NULL)
+
+
+libbasictaglets.vala.stamp: $(libbasictaglets_la_VALASOURCES)
+ $(VALAC) -C --vapidir ../../../vapi --pkg valadoc-1.0 --basedir . $^
+ touch $@
+
+
+libbasictaglets_la_LDFLAGS = -module -avoid-version
+
+
+libbasictaglets_la_LIBADD = \
+ ../../../libvaladoc/libvaladoc.la \
+ $(LIBGVC_LIBS) \
+ $(LIBVALA_LIBS) \
+ $(GLIB_LIBS) \
+ $(NULL)
+
+
+EXTRA_DIST = $(libbasictaglets_la_VALASOURCES) libbasictaglets.vala.stamp
+
+
+MAINTAINERCLEANFILES = \
+ $(libbasictaglets_la_VALASOURCES:.vala=.c) \
+ $(NULL)
+
diff --git a/src/doclets/valadoc.org/taglets/bold/taglet.vala b/src/doclets/valadoc.org/taglets/bold.vala
similarity index 85%
copy from src/doclets/valadoc.org/taglets/bold/taglet.vala
copy to src/doclets/valadoc.org/taglets/bold.vala
index 9658bca..8320fdf 100755
--- a/src/doclets/valadoc.org/taglets/bold/taglet.vala
+++ b/src/doclets/valadoc.org/taglets/bold.vala
@@ -22,7 +22,7 @@ using GLib;
using Gee;
-public class Valadoc.ValdocOrg.BoldDocElement : Valadoc.BoldDocElement {
+public class Valadoc.ValadocOrg.BoldDocElement : Valadoc.BoldDocElement {
private Gee.ArrayList<DocElement> content;
public override bool parse ( Gee.ArrayList<DocElement> content ) {
@@ -48,8 +48,3 @@ public class Valadoc.ValdocOrg.BoldDocElement : Valadoc.BoldDocElement {
}
-[ModuleInit]
-public GLib.Type register_plugin ( Gee.HashMap<string, Type> taglets ) {
- return typeof ( Valadoc.ValdocOrg.BoldDocElement );
-}
-
diff --git a/src/doclets/valadoc.org/taglets/center/taglet.vala b/src/doclets/valadoc.org/taglets/center.vala
similarity index 85%
copy from src/doclets/valadoc.org/taglets/center/taglet.vala
copy to src/doclets/valadoc.org/taglets/center.vala
index 355def1..1bc3d79 100755
--- a/src/doclets/valadoc.org/taglets/center/taglet.vala
+++ b/src/doclets/valadoc.org/taglets/center.vala
@@ -22,7 +22,7 @@ using GLib;
using Gee;
-public class Valadoc.ValdocOrg.CenterDocElement : Valadoc.CenterDocElement {
+public class Valadoc.ValadocOrg.CenterDocElement : Valadoc.CenterDocElement {
private Gee.ArrayList<DocElement> content;
public override bool parse (Gee.ArrayList<DocElement> content) {
@@ -48,8 +48,3 @@ public class Valadoc.ValdocOrg.CenterDocElement : Valadoc.CenterDocElement {
}
-[ModuleInit]
-public GLib.Type register_plugin (Gee.HashMap<string, Type> taglets) {
- return typeof (Valadoc.ValdocOrg.CenterDocElement);
-}
-
diff --git a/src/doclets/valadoc.org/taglets/constants/taglet.vala b/src/doclets/valadoc.org/taglets/constant.vala
similarity index 82%
copy from src/doclets/valadoc.org/taglets/constants/taglet.vala
copy to src/doclets/valadoc.org/taglets/constant.vala
index 0e2fa62..f756d03 100755
--- a/src/doclets/valadoc.org/taglets/constants/taglet.vala
+++ b/src/doclets/valadoc.org/taglets/constant.vala
@@ -22,7 +22,7 @@ using GLib;
using Gee;
-public class Valadoc.Html.CodeConstantDocElement : Valadoc.CodeConstantDocElement {
+public class Valadoc.ValadocOrg.CodeConstantDocElement : Valadoc.CodeConstantDocElement {
private string constant;
public override bool parse (string constant) {
@@ -38,8 +38,3 @@ public class Valadoc.Html.CodeConstantDocElement : Valadoc.CodeConstantDocElemen
}
-[ModuleInit]
-public GLib.Type register_plugin (Gee.HashMap<string, Type> taglets) {
- return typeof (Valadoc.Html.CodeConstantDocElement);
-}
-
diff --git a/src/doclets/valadoc.org/taglets/headline/taglet.vala b/src/doclets/valadoc.org/taglets/headline.vala
similarity index 84%
copy from src/doclets/valadoc.org/taglets/headline/taglet.vala
copy to src/doclets/valadoc.org/taglets/headline.vala
index d646a54..77506a9 100755
--- a/src/doclets/valadoc.org/taglets/headline/taglet.vala
+++ b/src/doclets/valadoc.org/taglets/headline.vala
@@ -22,7 +22,7 @@ using GLib;
using Gee;
-public class Valadoc.ValdocOrg.HeadlineDocElement : Valadoc.HeadlineDocElement {
+public class Valadoc.ValadocOrg.HeadlineDocElement : Valadoc.HeadlineDocElement {
private string title;
private int lvl;
@@ -40,8 +40,4 @@ public class Valadoc.ValdocOrg.HeadlineDocElement : Valadoc.HeadlineDocElement {
}
-[ModuleInit]
-public GLib.Type register_plugin (Gee.HashMap<string, Type> taglets) {
- return typeof (Valadoc.ValdocOrg.HeadlineDocElement);
-}
diff --git a/src/doclets/valadoc.org/taglets/image/taglet.vala b/src/doclets/valadoc.org/taglets/image.vala
similarity index 88%
rename from src/doclets/valadoc.org/taglets/image/taglet.vala
rename to src/doclets/valadoc.org/taglets/image.vala
index 7a62eab..d545605 100755
--- a/src/doclets/valadoc.org/taglets/image/taglet.vala
+++ b/src/doclets/valadoc.org/taglets/image.vala
@@ -20,10 +20,9 @@
using GLib;
using Gee;
-using Gdk;
-public class Valadoc.ValdocOrg.ImageDocElement : Valadoc.ImageDocElement {
+public class Valadoc.ValadocOrg.ImageDocElement : Valadoc.ImageDocElement {
private string imgpath;
private string path;
private string alt;
@@ -55,8 +54,3 @@ public class Valadoc.ValdocOrg.ImageDocElement : Valadoc.ImageDocElement {
}
-[ModuleInit]
-public GLib.Type register_plugin (Gee.HashMap<string, Type> taglets) {
- return typeof (Valadoc.ValdocOrg.ImageDocElement);
-}
-
diff --git a/src/doclets/valadoc.org/taglets/italic/taglet.vala b/src/doclets/valadoc.org/taglets/italic.vala
similarity index 85%
copy from src/doclets/valadoc.org/taglets/italic/taglet.vala
copy to src/doclets/valadoc.org/taglets/italic.vala
index 2f84b4f..564a60d 100755
--- a/src/doclets/valadoc.org/taglets/italic/taglet.vala
+++ b/src/doclets/valadoc.org/taglets/italic.vala
@@ -22,7 +22,7 @@ using GLib;
using Gee;
-public class Valadoc.ValdocOrg.ItalicDocElement : Valadoc.ItalicDocElement {
+public class Valadoc.ValadocOrg.ItalicDocElement : Valadoc.ItalicDocElement {
private Gee.ArrayList<DocElement> content;
public override bool parse (Gee.ArrayList<DocElement> content) {
@@ -48,7 +48,3 @@ public class Valadoc.ValdocOrg.ItalicDocElement : Valadoc.ItalicDocElement {
}
-[ModuleInit]
-public GLib.Type register_plugin ( Gee.HashMap<string, Type> taglets ) {
- return typeof (Valadoc.ValdocOrg.ItalicDocElement);
-}
diff --git a/src/doclets/valadoc.org/taglets/link/taglet.vala b/src/doclets/valadoc.org/taglets/link.vala
similarity index 88%
copy from src/doclets/valadoc.org/taglets/link/taglet.vala
copy to src/doclets/valadoc.org/taglets/link.vala
index bd975d4..5fc30a6 100755
--- a/src/doclets/valadoc.org/taglets/link/taglet.vala
+++ b/src/doclets/valadoc.org/taglets/link.vala
@@ -22,7 +22,7 @@ using GLib;
using Gee;
-public class Valadoc.ValdocOrg.LinkDocElement : Valadoc.LinkDocElement {
+public class Valadoc.ValadocOrg.LinkDocElement : Valadoc.LinkDocElement {
private string desc;
private string path;
@@ -55,8 +55,4 @@ public class Valadoc.ValdocOrg.LinkDocElement : Valadoc.LinkDocElement {
}
-[ModuleInit]
-public GLib.Type register_plugin (Gee.HashMap<string, Type> taglets) {
- return typeof (Valadoc.ValdocOrg.LinkDocElement);
-}
diff --git a/src/doclets/valadoc.org/taglets/list/taglet.vala b/src/doclets/valadoc.org/taglets/list.vala
similarity index 86%
rename from src/doclets/valadoc.org/taglets/list/taglet.vala
rename to src/doclets/valadoc.org/taglets/list.vala
index 260e483..88accd6 100755
--- a/src/doclets/valadoc.org/taglets/list/taglet.vala
+++ b/src/doclets/valadoc.org/taglets/list.vala
@@ -23,7 +23,7 @@ using Gee;
-public class Valadoc.ValdocOrg.ListDocElement : Valadoc.ListDocElement {
+public class Valadoc.ValadocOrg.ListDocElement : Valadoc.ListDocElement {
private Gee.ArrayList<ListEntryDocElement> entries;
private ListType type;
@@ -48,9 +48,3 @@ public class Valadoc.ValdocOrg.ListDocElement : Valadoc.ListDocElement {
}
-[ModuleInit]
-public GLib.Type register_plugin (Gee.HashMap<string, Type> taglets) {
- return typeof (Valadoc.ValdocOrg.ListDocElement);
-}
-
-
diff --git a/src/doclets/valadoc.org/taglets/listelement/taglet.vala b/src/doclets/valadoc.org/taglets/listelement.vala
similarity index 86%
rename from src/doclets/valadoc.org/taglets/listelement/taglet.vala
rename to src/doclets/valadoc.org/taglets/listelement.vala
index 34c841d..f8f95f0 100755
--- a/src/doclets/valadoc.org/taglets/listelement/taglet.vala
+++ b/src/doclets/valadoc.org/taglets/listelement.vala
@@ -22,7 +22,7 @@ using GLib;
using Gee;
-public class Valadoc.ValdocOrg.ListEntryDocElement : Valadoc.ListEntryDocElement {
+public class Valadoc.ValadocOrg.ListEntryDocElement : Valadoc.ListEntryDocElement {
private Gee.ArrayList<DocElement> content;
private ListType type;
private long lvl;
@@ -52,9 +52,4 @@ public class Valadoc.ValdocOrg.ListEntryDocElement : Valadoc.ListEntryDocElement
}
-[ModuleInit]
-public GLib.Type register_plugin (Gee.HashMap<string, Type> taglets) {
- return typeof (Valadoc.ValdocOrg.ListEntryDocElement);
-}
-
diff --git a/src/doclets/valadoc.org/taglets/notification/taglet.vala b/src/doclets/valadoc.org/taglets/notification.vala
similarity index 84%
rename from src/doclets/valadoc.org/taglets/notification/taglet.vala
rename to src/doclets/valadoc.org/taglets/notification.vala
index ea1dfba..1da443f 100755
--- a/src/doclets/valadoc.org/taglets/notification/taglet.vala
+++ b/src/doclets/valadoc.org/taglets/notification.vala
@@ -22,7 +22,7 @@ using Gee;
-public class Valadoc.ValdocOrg.NotificationDocElement : Valadoc.NotificationDocElement {
+public class Valadoc.ValadocOrg.NotificationDocElement : Valadoc.NotificationDocElement {
private Gee.ArrayList<DocElement> content;
public override bool parse ( Gee.ArrayList<DocElement> content ) {
@@ -48,10 +48,4 @@ public class Valadoc.ValdocOrg.NotificationDocElement : Valadoc.NotificationDocE
}
-[ModuleInit]
-public GLib.Type register_plugin ( Gee.HashMap<string, Type> taglets ) {
- return typeof (Valadoc.ValdocOrg.NotificationDocElement);
-}
-
-
diff --git a/src/doclets/valadoc.org/taglets/paragraph/taglet.vala b/src/doclets/valadoc.org/taglets/nparagraph.vala
similarity index 100%
rename from src/doclets/valadoc.org/taglets/paragraph/taglet.vala
rename to src/doclets/valadoc.org/taglets/nparagraph.vala
diff --git a/src/doclets/valadoc.org/taglets/italic/taglet.vala b/src/doclets/valadoc.org/taglets/paragraph.vala
similarity index 75%
copy from src/doclets/valadoc.org/taglets/italic/taglet.vala
copy to src/doclets/valadoc.org/taglets/paragraph.vala
index 2f84b4f..92dfb8d 100755
--- a/src/doclets/valadoc.org/taglets/italic/taglet.vala
+++ b/src/doclets/valadoc.org/taglets/paragraph.vala
@@ -22,10 +22,10 @@ using GLib;
using Gee;
-public class Valadoc.ValdocOrg.ItalicDocElement : Valadoc.ItalicDocElement {
- private Gee.ArrayList<DocElement> content;
+public class Valadoc.ValadocOrg.ParagraphDocElement : Valadoc.ParagraphDocElement {
+ private ArrayList<DocElement> content;
- public override bool parse (Gee.ArrayList<DocElement> content) {
+ public override bool parse (ArrayList<DocElement> content) {
this.content = content;
return true;
}
@@ -35,20 +35,15 @@ public class Valadoc.ValdocOrg.ItalicDocElement : Valadoc.ItalicDocElement {
int _max = this.content.size;
int _index = 0;
- file.printf ("//");
-
foreach (DocElement element in this.content) {
element.write (res, _max, _index);
_index++;
}
- file.printf ("//");
+ file.printf ("\n\n");
return true;
}
}
-[ModuleInit]
-public GLib.Type register_plugin ( Gee.HashMap<string, Type> taglets ) {
- return typeof (Valadoc.ValdocOrg.ItalicDocElement);
-}
+
diff --git a/src/doclets/valadoc.org/taglets/parameter.vala b/src/doclets/valadoc.org/taglets/parameter.vala
new file mode 100755
index 0000000..8a60d70
--- /dev/null
+++ b/src/doclets/valadoc.org/taglets/parameter.vala
@@ -0,0 +1,130 @@
+/*
+ * Valadoc - a documentation tool for vala.
+ * Copyright (C) 2008 Florian Brosch
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+
+using GLib;
+using Gee;
+
+
+public class Valadoc.ValadocOrg.ParameterTaglet : Valadoc.MainTaglet {
+ public override int order { get { return 100; } }
+ private Gee.Collection<DocElement> content;
+ private string paramname;
+
+ private static bool check_parameter_name (Valadoc.ParameterListHandler me, string name) {
+ if (name == "") {
+ return false;
+ }
+
+ foreach (Valadoc.FormalParameter param in me.get_parameter_list ()) {
+ if (param.name == name) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public override bool write (void* ptr, int max, int index) {
+ weak GLib.FileStream file = (GLib.FileStream)ptr;
+
+ file.printf (" @param %s \n", this.paramname);
+
+ int _max = this.content.size;
+ int _index = 0;
+
+ foreach (DocElement tag in this.content) {
+ tag.write ( ptr, _max, _index );
+ _index++;
+ }
+
+ file.puts ( "\n" );
+ return true;
+ }
+
+ public override bool write_block_start (void* ptr) {
+ return true;
+ }
+
+ public override bool write_block_end (void* ptr) {
+ return true;
+ }
+
+ public override bool parse (Settings settings, Tree tree, DocumentedElement me, Gee.Collection<DocElement> content, ref ErrorLevel errlvl, out string errmsg) {
+ if (me is Valadoc.ParameterListHandler == false) {
+ errmsg = "Tag @param cannot be used in this context";
+ errlvl = ErrorLevel.ERROR;
+ return false;
+ }
+
+ if (content.size == 0) {
+ errmsg = "Parameter name was expected";
+ errlvl = ErrorLevel.ERROR;
+ return false;
+ }
+
+ Gee.ArrayList<DocElement> contentlst = new Gee.ArrayList<DocElement> ();
+ foreach (DocElement element in content) {
+ contentlst.add (element);
+ }
+
+ DocElement tag = contentlst.get(0);
+ if (tag is StringTaglet == false) {
+ errmsg = "Parameter name was expected";
+ errlvl = ErrorLevel.ERROR;
+ return false;
+ }
+
+ string str = ((StringTaglet)tag).content;
+ weak string lposa = str.chr (-1, '\n');
+ weak string lposb = str.chr (-1, ' ');
+ weak string lpos;
+
+ long lposaoffset = (lposa == null)? long.MAX : str.pointer_to_offset (lposa);
+ long lposboffset = (lposb == null)? long.MAX : str.pointer_to_offset (lposb);
+
+ if (lposaoffset < lposboffset) {
+ lpos = lposa;
+ }
+ else {
+ lpos = lposb;
+ }
+
+ if (lpos == null) {
+ this.paramname = str.strip ();
+ ((StringTaglet)tag).content = "";
+ }
+ else {
+ int namepos = (int)str.pointer_to_offset (lpos);
+ this.paramname = str.ndup (namepos).strip ();
+ ((StringTaglet)tag).content = lpos.ndup (lpos.size ()).chomp ();
+ }
+
+ bool tmp = this.check_parameter_name ( (Valadoc.ParameterListHandler)me, this.paramname);
+ if ( tmp == false ) {
+ errmsg = "Parameter is not available";
+ errlvl = ErrorLevel.ERROR;
+ return false;
+ }
+
+ this.content = contentlst;
+ return true;
+ }
+}
+
+
diff --git a/src/doclets/valadoc.org/taglets/registerfunction.vala b/src/doclets/valadoc.org/taglets/registerfunction.vala
new file mode 100644
index 0000000..dd58703
--- /dev/null
+++ b/src/doclets/valadoc.org/taglets/registerfunction.vala
@@ -0,0 +1,51 @@
+/*
+ * Valadoc - a documentation tool for vala.
+ * Copyright (C) 2008 Florian Brosch
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+using Valadoc;
+
+
+[ModuleInit]
+public void register_plugin (ModuleLoader loader) {
+ loader.underline = typeof (Valadoc.ValadocOrg.UnderlinedDocElement);
+ loader.table_cell = typeof (Valadoc.ValadocOrg.TableCellDocElement);
+ loader.table = typeof (Valadoc.ValadocOrg.TableDocElement);
+ loader.string = typeof (Valadoc.ValadocOrg.StringTaglet);
+ loader.source = typeof (Valadoc.ValadocOrg.SourceCodeDocElement);
+ loader.right = typeof (Valadoc.ValadocOrg.RightAlignedDocElement);
+ loader.paragraph = typeof (Valadoc.ValadocOrg.ParagraphDocElement);
+ loader.notification = typeof (Valadoc.ValadocOrg.NotificationDocElement);
+ loader.list_element = typeof (Valadoc.ValadocOrg.ListEntryDocElement);
+ loader.list = typeof (Valadoc.ValadocOrg.ListDocElement);
+ loader.link = typeof (Valadoc.ValadocOrg.LinkDocElement);
+ loader.italic = typeof (Valadoc.ValadocOrg.ItalicDocElement);
+ loader.image = typeof (Valadoc.ValadocOrg.ImageDocElement);
+ loader.headline = typeof (Valadoc.ValadocOrg.HeadlineDocElement);
+ loader.source_inline = typeof (Valadoc.ValadocOrg.CodeConstantDocElement);
+ loader.center = typeof (Valadoc.ValadocOrg.CenterDocElement);
+ loader.bold = typeof (Valadoc.ValadocOrg.BoldDocElement);
+
+ loader.taglets.set ("see", typeof (Valadoc.ValadocOrg.SeeTaglet));
+ loader.taglets.set ("since", typeof (Valadoc.ValadocOrg.SinceTaglet));
+ loader.taglets.set ("link", typeof (Valadoc.ValadocOrg.TypeLinkInlineTaglet));
+ loader.taglets.set ("throws", typeof (Valadoc.ValadocOrg.ExceptionTaglet));
+ loader.taglets.set ("return", typeof (Valadoc.ValadocOrg.ReturnTaglet));
+ loader.taglets.set ("param", typeof (Valadoc.ValadocOrg.ParameterTaglet));
+}
+
+
diff --git a/src/doclets/valadoc.org/taglets/italic/taglet.vala b/src/doclets/valadoc.org/taglets/return.vala
similarity index 61%
copy from src/doclets/valadoc.org/taglets/italic/taglet.vala
copy to src/doclets/valadoc.org/taglets/return.vala
index 2f84b4f..0f0780a 100755
--- a/src/doclets/valadoc.org/taglets/italic/taglet.vala
+++ b/src/doclets/valadoc.org/taglets/return.vala
@@ -22,10 +22,16 @@ using GLib;
using Gee;
-public class Valadoc.ValdocOrg.ItalicDocElement : Valadoc.ItalicDocElement {
- private Gee.ArrayList<DocElement> content;
+public class Valadoc.ValadocOrg.ReturnTaglet : Valadoc.MainTaglet {
+ public override int order { get { return 300; } }
+ private Gee.Collection<DocElement> content;
- public override bool parse (Gee.ArrayList<DocElement> content) {
+ public override bool parse (Settings settings, Tree tree, DocumentedElement me, Gee.Collection<DocElement> content, ref ErrorLevel errlvl, out string errmsg) {
+ if (!(me is Valadoc.Method || me is Valadoc.Signal || me is Valadoc.Delegate)) {
+ errmsg = "Tag @return cannot be used in this context";
+ errlvl = ErrorLevel.ERROR;
+ return false;
+ }
this.content = content;
return true;
}
@@ -35,20 +41,25 @@ public class Valadoc.ValdocOrg.ItalicDocElement : Valadoc.ItalicDocElement {
int _max = this.content.size;
int _index = 0;
- file.printf ("//");
+ file.printf (" @return ");
foreach (DocElement element in this.content) {
element.write (res, _max, _index);
_index++;
}
- file.printf ("//");
+ file.printf ("\n");
return true;
}
-}
+ public override bool write_block_start (void* res) {
+ return true;
+ }
-[ModuleInit]
-public GLib.Type register_plugin ( Gee.HashMap<string, Type> taglets ) {
- return typeof (Valadoc.ValdocOrg.ItalicDocElement);
+ public override bool write_block_end (void* res) {
+ return true;
+ }
}
+
+
+
diff --git a/src/doclets/valadoc.org/taglets/italic/taglet.vala b/src/doclets/valadoc.org/taglets/right.vala
similarity index 82%
copy from src/doclets/valadoc.org/taglets/italic/taglet.vala
copy to src/doclets/valadoc.org/taglets/right.vala
index 2f84b4f..7029ff1 100755
--- a/src/doclets/valadoc.org/taglets/italic/taglet.vala
+++ b/src/doclets/valadoc.org/taglets/right.vala
@@ -22,7 +22,7 @@ using GLib;
using Gee;
-public class Valadoc.ValdocOrg.ItalicDocElement : Valadoc.ItalicDocElement {
+public class Valadoc.ValadocOrg.RightAlignedDocElement : Valadoc.RightAlignedDocElement {
private Gee.ArrayList<DocElement> content;
public override bool parse (Gee.ArrayList<DocElement> content) {
@@ -35,20 +35,17 @@ public class Valadoc.ValdocOrg.ItalicDocElement : Valadoc.ItalicDocElement {
int _max = this.content.size;
int _index = 0;
- file.printf ("//");
+ file.printf ("\n)( ");
foreach (DocElement element in this.content) {
element.write (res, _max, _index);
_index++;
}
- file.printf ("//");
+ file.printf ("\n");
return true;
}
}
-[ModuleInit]
-public GLib.Type register_plugin ( Gee.HashMap<string, Type> taglets ) {
- return typeof (Valadoc.ValdocOrg.ItalicDocElement);
-}
+
diff --git a/src/doclets/valadoc.org/taglets/see.vala b/src/doclets/valadoc.org/taglets/see.vala
new file mode 100755
index 0000000..5d83e0a
--- /dev/null
+++ b/src/doclets/valadoc.org/taglets/see.vala
@@ -0,0 +1,72 @@
+/*
+ * Valadoc - a documentation tool for vala.
+ * Copyright (C) 2008 Florian Brosch
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+
+using Valadoc;
+using GLib;
+using Gee;
+
+
+public class Valadoc.ValadocOrg.SeeTaglet : MainTaglet {
+ public override int order { get { return 400; } }
+ private string typename;
+
+ protected override bool write_block_start (void* res) {
+ return true;
+ }
+
+ protected override bool write_block_end (void* res) {
+ return true;
+ }
+
+ protected override bool write (void* res, int max, int index) {
+ ((GLib.FileStream)res).printf (" @see %s\n", this.typename);
+ return true;
+ }
+
+ public override bool parse (Settings settings, Tree tree, DocumentedElement me, Gee.Collection<DocElement> content, ref ErrorLevel errlvl, out string errmsg) {
+ if (content.size != 1) {
+ errmsg = "Type name was expected";
+ errlvl = ErrorLevel.ERROR;
+ return false;
+ }
+
+ Gee.Iterator<DocElement> it = content.iterator ();
+ it.next ();
+
+ DocElement element = it.get ();
+ if (element is StringTaglet == false) {
+ errmsg = "Type name was expected";
+ errlvl = ErrorLevel.ERROR;
+ return false;
+ }
+
+ Valadoc.DocumentedElement? node = tree.search_symbol_str (me, ((StringTaglet)element).content.strip ());
+ if (node == null) {
+ errmsg = "Linked type is not available";
+ errlvl = ErrorLevel.ERROR;
+ return false;
+ }
+
+ this.typename = node.full_name ();
+ return true;
+ }
+}
+
+
diff --git a/src/doclets/valadoc.org/taglets/link/taglet.vala b/src/doclets/valadoc.org/taglets/since.vala
similarity index 52%
rename from src/doclets/valadoc.org/taglets/link/taglet.vala
rename to src/doclets/valadoc.org/taglets/since.vala
index bd975d4..8a55c45 100755
--- a/src/doclets/valadoc.org/taglets/link/taglet.vala
+++ b/src/doclets/valadoc.org/taglets/since.vala
@@ -22,41 +22,46 @@ using GLib;
using Gee;
-public class Valadoc.ValdocOrg.LinkDocElement : Valadoc.LinkDocElement {
- private string desc;
- private string path;
-
- public override bool parse (Settings settings, Tree tree, Documentation pos, owned string path, owned string desc) {
- if ( path.has_suffix(".valadoc")&&path.has_prefix("/") ) {
- if ( tree.wikitree == null ) {
- return false;
- }
-
- WikiPage? wikipage = tree.wikitree.search(path.offset(1));
- if ( wikipage == null ) {
- return false;
- }
-
- this.path = settings.pkg_name+"/"+path.substring (0, path.len()-8);
- this.desc = desc;
- return true;
- }
+public class Valadoc.ValadocOrg.SinceTaglet : Valadoc.MainTaglet {
+ public override int order { get { return 400; } }
+ private StringTaglet content;
+
+ public override bool write_block_start (void* ptr) {
+ return true;
+ }
- this.path = path;
- this.desc = desc;
+ public override bool write_block_end (void* res) {
return true;
}
public override bool write (void* res, int max, int index) {
- weak GLib.FileStream file = (GLib.FileStream)res;
- file.printf ("[[%s|%s]]", this.path, (this.desc==null||this.desc=="")? this.path: this.desc);
+ if (max != index+1 )
+ ((GLib.FileStream)res).printf (" @since %s\n", this.content.content);
+
return true;
}
-}
+ public override bool parse (Settings settings, Tree tree, DocumentedElement me, Gee.Collection<DocElement> content, ref ErrorLevel errlvl, out string errmsg) {
+ if (content.size != 1) {
+ errmsg = "Version name was expected";
+ errlvl = ErrorLevel.ERROR;
+ return false;
+ }
+
+ Gee.Iterator<DocElement> it = content.iterator ();
+ it.next ();
+
+ DocElement element = it.get ();
+ if (element is StringTaglet == false) {
+ errmsg = "Version name was expected";
+ errlvl = ErrorLevel.ERROR;
+ return false;
+ }
-[ModuleInit]
-public GLib.Type register_plugin (Gee.HashMap<string, Type> taglets) {
- return typeof (Valadoc.ValdocOrg.LinkDocElement);
+ this.content = (StringTaglet)element;
+ return true;
+ }
}
+
+
diff --git a/src/doclets/valadoc.org/taglets/headline/taglet.vala b/src/doclets/valadoc.org/taglets/source.vala
similarity index 67%
rename from src/doclets/valadoc.org/taglets/headline/taglet.vala
rename to src/doclets/valadoc.org/taglets/source.vala
index d646a54..98bf2d2 100755
--- a/src/doclets/valadoc.org/taglets/headline/taglet.vala
+++ b/src/doclets/valadoc.org/taglets/source.vala
@@ -22,26 +22,29 @@ using GLib;
using Gee;
-public class Valadoc.ValdocOrg.HeadlineDocElement : Valadoc.HeadlineDocElement {
- private string title;
- private int lvl;
-
- public override bool parse (string title, int lvl) {
- this.title = title;
- this.lvl = lvl;
+public class Valadoc.ValadocOrg.SourceCodeDocElement : Valadoc.SourceCodeDocElement {
+ private Language lang;
+ private int srclines;
+ private string src;
+
+ public override bool parse (string src, Language lang) {
+ this.src = src;
+ this.lang = lang;
+ this.srclines=0;
+
+ for (weak string str=this.src; str.get_char()!='\0'; str=str.next_char()) {
+ if (str.get_char () == '\n') {
+ this.srclines++;
+ }
+ }
return true;
}
public override bool write (void* res, int max, int index) {
weak GLib.FileStream file = (GLib.FileStream)res;
- file.printf ("\n\n%s %s\n", string.nfill (this.lvl+1, '='), this.title);
+ file.printf ("\n{{{\n%s\n}}}\n", src);
return true;
}
}
-[ModuleInit]
-public GLib.Type register_plugin (Gee.HashMap<string, Type> taglets) {
- return typeof (Valadoc.ValdocOrg.HeadlineDocElement);
-}
-
diff --git a/src/doclets/valadoc.org/taglets/constants/taglet.vala b/src/doclets/valadoc.org/taglets/string.vala
similarity index 72%
rename from src/doclets/valadoc.org/taglets/constants/taglet.vala
rename to src/doclets/valadoc.org/taglets/string.vala
index 0e2fa62..e1ff0c6 100755
--- a/src/doclets/valadoc.org/taglets/constants/taglet.vala
+++ b/src/doclets/valadoc.org/taglets/string.vala
@@ -22,24 +22,18 @@ using GLib;
using Gee;
-public class Valadoc.Html.CodeConstantDocElement : Valadoc.CodeConstantDocElement {
- private string constant;
-
- public override bool parse (string constant) {
- this.constant = constant;
+public class Valadoc.ValadocOrg.StringTaglet : Valadoc.StringTaglet {
+ public override bool parse (string content) {
+ this.content = content;
return true;
}
public override bool write (void* res, int max, int index) {
weak GLib.FileStream file = (GLib.FileStream)res;
- file.puts (this.constant);
+ file.puts (this.content);
return true;
}
}
-[ModuleInit]
-public GLib.Type register_plugin (Gee.HashMap<string, Type> taglets) {
- return typeof (Valadoc.Html.CodeConstantDocElement);
-}
diff --git a/src/doclets/valadoc.org/taglets/center/taglet.vala b/src/doclets/valadoc.org/taglets/table.vala
similarity index 64%
rename from src/doclets/valadoc.org/taglets/center/taglet.vala
rename to src/doclets/valadoc.org/taglets/table.vala
index 355def1..b87b4da 100755
--- a/src/doclets/valadoc.org/taglets/center/taglet.vala
+++ b/src/doclets/valadoc.org/taglets/table.vala
@@ -22,24 +22,27 @@ using GLib;
using Gee;
-public class Valadoc.ValdocOrg.CenterDocElement : Valadoc.CenterDocElement {
- private Gee.ArrayList<DocElement> content;
+public class Valadoc.ValadocOrg.TableDocElement : Valadoc.TableDocElement {
+ private Gee.ArrayList<Gee.ArrayList<TableCellDocElement>> cells;
- public override bool parse (Gee.ArrayList<DocElement> content) {
- this.content = content;
- return true;
+ public override void parse (Gee.ArrayList<Gee.ArrayList<TableCellDocElement>> cells) {
+ this.cells = cells;
}
public override bool write (void* res, int max, int index) {
weak GLib.FileStream file = (GLib.FileStream)res;
- int _max = this.content.size;
- int _index = 0;
- file.puts ("\n)( ");
+ file.puts ("\n");
+
+ foreach (Gee.ArrayList<TableCellDocElement> row in this.cells) {
+ int _max = row.size;
+ int _index = 0;
- foreach (DocElement element in this.content) {
- element.write ( res, _max, _index );
- _index++;
+ foreach (TableCellDocElement cell in row) {
+ file.puts ("\n ||");
+ cell.write (res, _max, _index );
+ _index++;
+ }
}
file.puts ("\n");
@@ -48,8 +51,3 @@ public class Valadoc.ValdocOrg.CenterDocElement : Valadoc.CenterDocElement {
}
-[ModuleInit]
-public GLib.Type register_plugin (Gee.HashMap<string, Type> taglets) {
- return typeof (Valadoc.ValdocOrg.CenterDocElement);
-}
-
diff --git a/src/doclets/valadoc.org/taglets/tablecell.vala b/src/doclets/valadoc.org/taglets/tablecell.vala
new file mode 100755
index 0000000..8f65409
--- /dev/null
+++ b/src/doclets/valadoc.org/taglets/tablecell.vala
@@ -0,0 +1,88 @@
+/*
+ * Valadoc - a documentation tool for vala.
+ * Copyright (C) 2008 Florian Brosch
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+using GLib;
+using Gee;
+
+
+public class Valadoc.ValadocOrg.TableCellDocElement : Valadoc.TableCellDocElement {
+ private Gee.ArrayList<DocElement> content;
+ private TextVerticalPosition hpos;
+ private TextPosition pos;
+ private int dcells;
+ private int cells;
+
+ public override void parse (TextPosition pos, TextVerticalPosition hpos, int cells, int dcells, Gee.ArrayList<DocElement> content) {
+ this.content = content;
+ this.dcells = dcells;
+ this.cells = cells;
+ this.hpos = hpos;
+ this.pos = pos;
+ }
+
+ public override bool write (void* res, int max, int index) {
+ weak GLib.FileStream file = (GLib.FileStream)res;
+ int _max = this.content.size;
+ int _index = 0;
+
+ GLib.StringBuilder td = new GLib.StringBuilder ();
+ if (this.cells != 1) {
+ td.append ("|");
+ td.append (this.cells.to_string());
+ }
+
+ if (this.dcells != 1) {
+ td.append ("-");
+ td.append (this.dcells.to_string());
+ }
+
+ switch (this.pos) {
+ case TextPosition.CENTER:
+ td.append (")(");
+ break;
+ case TextPosition.RIGHT:
+ td.append (")) ");
+ break;
+ }
+
+ switch (this.hpos) {
+ case TextVerticalPosition.TOP:
+ td.append ("^");
+ break;
+ case TextVerticalPosition.BOTTOM:
+ td.append ("v");
+ break;
+ }
+
+ if (td.len > 0) {
+ file.printf ("<%s>", td.str);
+ }
+
+ file.printf (" ");
+
+ foreach (DocElement cell in this.content) {
+ cell.write (res, _max, _index );
+ _index++;
+ }
+ file.puts (" || \n" );
+ return true;
+ }
+}
+
+
diff --git a/src/doclets/valadoc.org/taglets/throws.vala b/src/doclets/valadoc.org/taglets/throws.vala
new file mode 100755
index 0000000..ef9f01f
--- /dev/null
+++ b/src/doclets/valadoc.org/taglets/throws.vala
@@ -0,0 +1,129 @@
+/*
+ * Valadoc - a documentation tool for vala.
+ * Copyright (C) 2008 Florian Brosch
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+
+using GLib;
+using Gee;
+
+
+public class Valadoc.ValadocOrg.ExceptionTaglet : Valadoc.MainTaglet {
+ public override int order { get { return 200; } }
+ private Gee.ArrayList<DocElement> content;
+ private string paramname;
+
+ public override bool parse ( Settings settings, Tree tree, DocumentedElement me, Gee.Collection<DocElement> content, ref ErrorLevel errlvl, out string errmsg ) {
+ if ( me is Valadoc.ExceptionHandler == false ) {
+ errmsg = "Tag @throws cannot be used in this context";
+ errlvl = ErrorLevel.ERROR;
+ return false;
+ }
+
+ if ( content.size == 0 ) {
+ errmsg = "Exception name was expected";
+ errlvl = ErrorLevel.ERROR;
+ return false;
+ }
+
+
+ Gee.ArrayList<DocElement> contentlst = new Gee.ArrayList<DocElement> ();
+ foreach ( DocElement element in content ) {
+ contentlst.add ( element );
+ }
+
+ DocElement tag = contentlst.get( 0 );
+ if ( tag is StringTaglet == false ) {
+ errmsg = "Exception name was expected";
+ errlvl = ErrorLevel.ERROR;
+ return false;
+ }
+
+ string str = ((StringTaglet)tag).content;
+ weak string lposa = str.chr (-1, '\n');
+ weak string lposb = str.chr (-1, ' ');
+ weak string lpos;
+
+ long lposaoffset = (lposa == null)? long.MAX : str.pointer_to_offset ( lposa );
+ long lposboffset = (lposb == null)? long.MAX : str.pointer_to_offset ( lposb );
+
+ if ( lposaoffset < lposboffset ) {
+ lpos = lposa;
+ }
+ else {
+ lpos = lposb;
+ }
+
+ if ( lpos == null ) {
+ this.paramname = str.strip ();
+ ((StringTaglet)tag).content = "";
+ }
+ else {
+ int namepos = (int)str.pointer_to_offset ( lpos );
+ this.paramname = str.ndup ( namepos ).strip ();
+ ((StringTaglet)tag).content = lpos.ndup ( lpos.size () ).chomp ();
+ }
+
+ bool tmp = this.check_exception_parameter_name ( (Valadoc.ExceptionHandler)me, this.paramname );
+ if ( tmp == false ) {
+ errmsg = "Exception name was expected";
+ errlvl = ErrorLevel.ERROR;
+ return false;
+ }
+
+ this.content = contentlst;
+ return true;
+ }
+
+ private bool check_exception_parameter_name ( Valadoc.ExceptionHandler me, string paramname ) {
+ string paramname2 = "."+paramname;
+
+ foreach ( DocumentedElement param in me.get_error_domains() ) {
+ if ( param.name == paramname || param.full_name() == paramname || param.full_name().has_suffix(paramname2) ) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public override bool write (void* ptr, int max, int index) {
+ weak GLib.FileStream file = (GLib.FileStream)ptr;
+ file.printf (" @throws %s ", this.paramname);
+
+ int _max = this.content.size;
+ int _index = 0;
+
+ foreach (DocElement element in this.content) {
+ element.write (ptr, _max, _index);
+ _index++;
+ }
+
+ file.puts ( "\n" );
+ return true;
+ }
+
+ public override bool write_block_start (void* ptr) {
+ return true;
+ }
+
+ public override bool write_block_end (void* ptr) {
+ return true;
+ }
+}
+
+
+
diff --git a/src/doclets/valadoc.org/taglets/bold/taglet.vala b/src/doclets/valadoc.org/taglets/typelink.vala
similarity index 52%
rename from src/doclets/valadoc.org/taglets/bold/taglet.vala
rename to src/doclets/valadoc.org/taglets/typelink.vala
index 9658bca..46b2f08 100755
--- a/src/doclets/valadoc.org/taglets/bold/taglet.vala
+++ b/src/doclets/valadoc.org/taglets/typelink.vala
@@ -22,34 +22,29 @@ using GLib;
using Gee;
-public class Valadoc.ValdocOrg.BoldDocElement : Valadoc.BoldDocElement {
- private Gee.ArrayList<DocElement> content;
- public override bool parse ( Gee.ArrayList<DocElement> content ) {
- this.content = content;
- return true;
- }
+public class Valadoc.ValadocOrg.TypeLinkInlineTaglet : Valadoc.InlineTaglet {
+ private string typename = null;
- public override bool write ( void* res, int max, int index ) {
- weak GLib.FileStream file = (GLib.FileStream)res;
- int _max = this.content.size;
- int _index = 0;
+ protected override string to_string () {
+ return this.typename;
+ }
- file.printf ( "++" );
+ protected override bool write (void* res, int max, int index) {
+ ((GLib.FileStream)res).printf ("{ link %s}", this.typename);
+ return true;
+ }
- foreach ( DocElement element in this.content ) {
- element.write ( res, _max, _index );
- _index++;
+ protected override bool parse (Settings settings, Tree tree, Documentation self, string content, ref ErrorLevel errlvl, out string? errmsg) {
+ Valadoc.DocumentedElement? element = tree.search_symbol_str ( (self is DocumentedElement)? (DocumentedElement)self : null, content.strip() );
+ if (element == null) {
+ errmsg = "Linked type is not available";
+ errlvl = ErrorLevel.ERROR;
+ return false;
}
- file.printf ( "++" );
+ this.typename = element.package.name+"/"+element.full_name ();
return true;
}
}
-
-[ModuleInit]
-public GLib.Type register_plugin ( Gee.HashMap<string, Type> taglets ) {
- return typeof ( Valadoc.ValdocOrg.BoldDocElement );
-}
-
diff --git a/src/doclets/valadoc.org/taglets/italic/taglet.vala b/src/doclets/valadoc.org/taglets/underline.vala
similarity index 82%
rename from src/doclets/valadoc.org/taglets/italic/taglet.vala
rename to src/doclets/valadoc.org/taglets/underline.vala
index 2f84b4f..f009f9b 100755
--- a/src/doclets/valadoc.org/taglets/italic/taglet.vala
+++ b/src/doclets/valadoc.org/taglets/underline.vala
@@ -22,7 +22,7 @@ using GLib;
using Gee;
-public class Valadoc.ValdocOrg.ItalicDocElement : Valadoc.ItalicDocElement {
+public class Valadoc.ValadocOrg.UnderlinedDocElement : Valadoc.UnderlinedDocElement {
private Gee.ArrayList<DocElement> content;
public override bool parse (Gee.ArrayList<DocElement> content) {
@@ -35,20 +35,17 @@ public class Valadoc.ValdocOrg.ItalicDocElement : Valadoc.ItalicDocElement {
int _max = this.content.size;
int _index = 0;
- file.printf ("//");
+ file.printf ("__");
foreach (DocElement element in this.content) {
element.write (res, _max, _index);
_index++;
}
- file.printf ("//");
+ file.printf ("__");
return true;
}
}
-[ModuleInit]
-public GLib.Type register_plugin ( Gee.HashMap<string, Type> taglets ) {
- return typeof (Valadoc.ValdocOrg.ItalicDocElement);
-}
+
diff --git a/src/libvaladoc/documentation/moduleloader.vala b/src/libvaladoc/documentation/moduleloader.vala
index d263549..a78dd00 100755
--- a/src/libvaladoc/documentation/moduleloader.vala
+++ b/src/libvaladoc/documentation/moduleloader.vala
@@ -23,7 +23,7 @@ using Gee;
-public static delegate GLib.Type Valadoc.TagletRegisterFunction ( Gee.HashMap<string, Type> taglets );
+public static delegate void Valadoc.TagletRegisterFunction (ModuleLoader loader);
public class Valadoc.ModuleLoader : Object {
@@ -79,95 +79,41 @@ public class Valadoc.ModuleLoader : Object {
return true;
}
- private bool load_taglets ( string fulldirpath ) {
+ private bool load_taglets (string fulldirpath) {
try {
- taglets = new Gee.HashMap<string, Type> ( GLib.str_hash, GLib.str_equal );
+ taglets = new Gee.HashMap<string, Type> (GLib.str_hash, GLib.str_equal);
Gee.ArrayList<Module*> modules = new Gee.ArrayList<weak Module*> ( );
+
string pluginpath = build_filename(fulldirpath, "taglets");
size_t modulesuffixlen = Module.SUFFIX.size() + 1;
- GLib.Dir dir = GLib.Dir.open ( pluginpath );
+
void* function;
- for ( weak string entry = dir.read_name(); entry != null ; entry = dir.read_name() ) {
- if ( !entry.has_suffix( "."+Module.SUFFIX ) )
- continue ;
+ GLib.Dir dir = GLib.Dir.open (pluginpath);
+
+ for (weak string entry = dir.read_name(); entry != null ; entry = dir.read_name()) {
+ if (!entry.has_suffix("." + Module.SUFFIX))
+ continue;
- string tagletpath = build_filename ( pluginpath, entry );
- Module* module = Module.open ( tagletpath, ModuleFlags.BIND_LAZY);
+ string tagletpath = build_filename (pluginpath, entry);
+ Module* module = Module.open (tagletpath, ModuleFlags.BIND_LAZY);
if (module == null) {
taglets = null;
return false;
}
-
- module->symbol( "register_plugin", out function );
+ module->symbol("register_plugin", out function);
Valadoc.TagletRegisterFunction tagletregisterfkt = (Valadoc.TagletRegisterFunction) function;
- if ( function == null ) {
+ if (function == null) {
taglets = null;
return false;
}
- GLib.Type type = tagletregisterfkt ( taglets );
-
- string soname = entry.ndup( entry.size() - modulesuffixlen );
- switch ( soname ) {
- case "libtagletstring":
- this.string = type;
- break;
- case "libtagletimage":
- this.image = type;
- break;
- case "libtagletcenter":
- this.center = type;
- break;
- case "libtagletright":
- this.right = type;
- break;
- case "libtagletbold":
- this.bold = type;
- break;
- case "libtagletunderline":
- this.underline = type;
- break;
- case "libtagletitalic":
- this.italic = type;
- break;
- case "libtagletsource":
- this.source = type;
- break;
- case "libtagletnotification":
- this.notification = type;
- break;
- case "libtaglettable":
- this.table = type;
- break;
- case "libtaglettablecell":
- this.table_cell = type;
- break;
- case "libtagletlink":
- this.link = type;
- break;
- case "libtagletlist":
- this.list = type;
- break;
- case "libtagletlistelement":
- this.list_element = type;
- break;
- case "libtagletheadline":
- this.headline = type;
- break;
- case "libtagletcodeconstant":
- this.source_inline = type;
- break;
- case "libtagletparagraph":
- this.source_inline = type;
- break;
- }
- modules.add ( module );
+ tagletregisterfkt (this);
}
return true;
}
- catch ( FileError err ) {
+ catch (FileError err) {
taglets = null;
return false;
}
diff --git a/src/libvaladoc/valadoc-1.0.vapi b/src/libvaladoc/valadoc-1.0.vapi
new file mode 100644
index 0000000..5f7ef08
--- /dev/null
+++ b/src/libvaladoc/valadoc-1.0.vapi
@@ -0,0 +1,842 @@
+/* valadoc-1.0.vapi generated by valac, do not modify. */
+
+[CCode (cprefix = "Valadoc", lower_case_cprefix = "valadoc_")]
+namespace Valadoc {
+ [CCode (cprefix = "ValadocDiagrams", lower_case_cprefix = "valadoc_diagrams_")]
+ namespace Diagrams {
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public static void write_class_diagram (Valadoc.Class cl, string path);
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public static void write_interface_diagram (Valadoc.Interface iface, string path);
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public static void write_struct_diagram (Valadoc.Struct stru, string path);
+ }
+ [CCode (cprefix = "ValadocHtml", lower_case_cprefix = "valadoc_html_")]
+ namespace Html {
+ [CCode (ref_function = "valadoc_html_attribute_ref", unref_function = "valadoc_html_attribute_unref", cheader_filename = "valadoc-1.0.h")]
+ public class Attribute {
+ public Attribute (string name, string val);
+ public string to_string (string path);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public abstract class BlockElement : Valadoc.Html.Element {
+ public BlockElement ();
+ public override string to_string (uint depth, string path);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class Body : Valadoc.Html.BlockElement {
+ public Body ();
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class Div : Valadoc.Html.BlockElement {
+ public Div ();
+ }
+ [CCode (ref_function = "valadoc_html_document_ref", unref_function = "valadoc_html_document_unref", cheader_filename = "valadoc-1.0.h")]
+ public class Document {
+ public Document ();
+ public void set_root (Valadoc.Html.Html root);
+ public string to_string (string path);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public abstract class Element : Valadoc.Html.Entry {
+ protected Gee.ArrayList<Valadoc.Html.Attribute> attributes;
+ protected Gee.ArrayList<Valadoc.Html.Entry> children;
+ protected weak string tag;
+ public Element ();
+ public void add_attribute (Valadoc.Html.Attribute att);
+ public void add_attributes (Gee.Collection<Valadoc.Html.Attribute> attributes);
+ public void add_child (Valadoc.Html.Entry el);
+ public void add_childs (Gee.Collection<Valadoc.Html.Entry> elements);
+ protected string attributes_to_string (string path);
+ protected string children_to_string (uint depth, string path);
+ }
+ [CCode (ref_function = "valadoc_html_entry_ref", unref_function = "valadoc_html_entry_unref", cheader_filename = "valadoc-1.0.h")]
+ public abstract class Entry {
+ public Entry ();
+ public abstract string to_string (uint depth, string path);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class Head : Valadoc.Html.BlockElement {
+ public Head ();
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class Headline : Valadoc.Html.BlockElement {
+ public Headline (int lvl);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class Html : Valadoc.Html.BlockElement {
+ public Html ();
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class HyperLink : Valadoc.Html.InlineElement {
+ public HyperLink (string path, Valadoc.Html.Entry desc);
+ public HyperLink.from_list (string path, Gee.Collection<Valadoc.Html.Entry> descs);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class Image : Valadoc.Html.InlineElement {
+ public Image (string path);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public abstract class InlineElement : Valadoc.Html.Element {
+ public InlineElement ();
+ public override string to_string (uint depth, string path);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class Italic : Valadoc.Html.InlineElement {
+ public Italic ();
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class Link : Valadoc.Html.BlockElement {
+ public Link (string lang, string src, string type);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class Script : Valadoc.Html.BlockElement {
+ public Script (string lang, string src, string type);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class Span : Valadoc.Html.InlineElement {
+ public Span ();
+ public Span.from_list (Gee.Collection<Valadoc.Html.Entry> list);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class String : Valadoc.Html.Entry {
+ public String (string str);
+ public override string to_string (uint depth, string path);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class Title : Valadoc.Html.BlockElement {
+ public Title (string title);
+ }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class Array : Valadoc.Basic {
+ public Array (Valadoc.Settings settings, Vala.ArrayType vtyperef, Valadoc.Basic parent, Valadoc.Tree head);
+ public void set_type_references ();
+ public void write (Valadoc.Langlet langlet, void* ptr, Valadoc.DocumentedElement parent);
+ public Valadoc.Basic data_type { get; set; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public abstract class Basic : GLib.Object {
+ public Basic ();
+ public Valadoc.Tree head { get; set; }
+ public Valadoc.Basic parent { get; set; }
+ public Valadoc.Settings settings { get; set; }
+ protected Vala.Symbol vsymbol { get; set; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public abstract class BoldDocElement : Valadoc.HighlightedDocElement {
+ public BoldDocElement ();
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public abstract class CenterDocElement : Valadoc.ContentPositionDocElement {
+ public CenterDocElement ();
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class Class : Valadoc.DocumentedElement, Valadoc.SymbolAccessibility, Valadoc.Visitable, Valadoc.ClassHandler, Valadoc.StructHandler, Valadoc.SignalHandler, Valadoc.MethodHandler, Valadoc.EnumHandler, Valadoc.PropertyHandler, Valadoc.ConstructionMethodHandler, Valadoc.FieldHandler, Valadoc.DelegateHandler, Valadoc.ConstantHandler, Valadoc.TemplateParameterListHandler {
+ public Class (Valadoc.Settings settings, Vala.Class vclass, Valadoc.ClassHandler parent, Valadoc.Tree head);
+ public string? get_cname ();
+ public Gee.Collection<Valadoc.Interface> get_implemented_interface_list ();
+ public void visit (Valadoc.Doclet doclet);
+ public void write (Valadoc.Langlet langlet, void* ptr);
+ protected Valadoc.Class? base_type { get; set; }
+ public bool is_abstract { get; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public abstract class CodeConstantDocElement : Valadoc.DocElement {
+ public CodeConstantDocElement ();
+ public abstract bool parse (string constant);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class Constant : Valadoc.DocumentedElement, Valadoc.SymbolAccessibility, Valadoc.Visitable, Valadoc.ReturnTypeHandler {
+ public Constant (Valadoc.Settings settings, Vala.Constant vconst, Valadoc.ConstantHandler parent, Valadoc.Tree head);
+ public string get_cname ();
+ public bool is_vconstant (Vala.Constant vconst);
+ public void visit (Valadoc.Doclet doclet, Valadoc.ConstantHandler? parent);
+ public void write (Valadoc.Langlet langlet, void* ptr, Valadoc.ConstantHandler parent);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public abstract class ContentPositionDocElement : Valadoc.DocElement {
+ public ContentPositionDocElement ();
+ public abstract bool parse (Gee.ArrayList<Valadoc.DocElement> content);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class Delegate : Valadoc.DocumentedElement, Valadoc.SymbolAccessibility, Valadoc.Visitable, Valadoc.ParameterListHandler, Valadoc.ReturnTypeHandler, Valadoc.TemplateParameterListHandler, Valadoc.ExceptionHandler {
+ public Delegate (Valadoc.Settings settings, Vala.Delegate vdelegate, Valadoc.DelegateHandler parent, Valadoc.Tree head);
+ public string? get_cname ();
+ public void visit (Valadoc.Doclet doclet);
+ public void write (Valadoc.Langlet langlet, void* ptr);
+ public bool is_static { get; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public abstract class DocElement : GLib.Object {
+ public DocElement ();
+ public abstract bool write (void* res, int max, int index);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public abstract class Doclet : GLib.Object {
+ public Doclet ();
+ public abstract void initialisation (Valadoc.Settings settings, Valadoc.Tree tree);
+ public abstract void visit_class (Valadoc.Class cl);
+ public abstract void visit_constant (Valadoc.Constant constant, Valadoc.ConstantHandler parent);
+ public abstract void visit_delegate (Valadoc.Delegate del);
+ public abstract void visit_enum (Valadoc.Enum en);
+ public abstract void visit_enum_value (Valadoc.EnumValue enval);
+ public abstract void visit_error_code (Valadoc.ErrorCode errcode);
+ public abstract void visit_error_domain (Valadoc.ErrorDomain errdom);
+ public abstract void visit_field (Valadoc.Field field, Valadoc.FieldHandler parent);
+ public abstract void visit_interface (Valadoc.Interface iface);
+ public abstract void visit_method (Valadoc.Method m, Valadoc.MethodHandler parent);
+ public abstract void visit_namespace (Valadoc.Namespace ns);
+ public abstract void visit_package (Valadoc.Package pkg);
+ public abstract void visit_property (Valadoc.Property prop);
+ public abstract void visit_signal (Valadoc.Signal sig);
+ public abstract void visit_struct (Valadoc.Struct stru);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class DocumentationTree : GLib.Object {
+ public DocumentationTree ();
+ public void add_brief (Gee.ArrayList<Valadoc.DocElement> content);
+ public void add_description (Gee.ArrayList<Valadoc.DocElement> content);
+ public void add_taglet (Valadoc.MainTaglet taglet);
+ public void add_taglets (Gee.Collection<Valadoc.MainTaglet> taglets);
+ public Gee.ReadOnlyCollection<Valadoc.DocElement> get_brief ();
+ public Gee.ReadOnlyCollection<Valadoc.DocElement> get_description ();
+ public bool write_brief (void* res);
+ public bool write_content (void* res);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public abstract class DocumentedElement : Valadoc.Basic, Valadoc.Documentation {
+ public DocumentedElement ();
+ public string? full_name ();
+ protected void parse_comment_helper (Valadoc.Parser docparser);
+ public Valadoc.DocumentationTree? documentation { get; set; }
+ public int line { get; }
+ public virtual string? name { owned get; }
+ public Valadoc.Namespace? nspace { get; }
+ public Valadoc.Package? package { get; }
+ protected Vala.Comment vcomment { get; set; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class Enum : Valadoc.DocumentedElement, Valadoc.SymbolAccessibility, Valadoc.Visitable, Valadoc.MethodHandler {
+ public Enum (Valadoc.Settings settings, Vala.Enum venum, Valadoc.EnumHandler parent, Valadoc.Tree head);
+ public string? get_cname ();
+ public Gee.ReadOnlyCollection<Valadoc.EnumValue> get_enum_values ();
+ public void visit (Valadoc.Doclet doclet);
+ public void visit_enum_values (Valadoc.Doclet doclet);
+ public void write (Valadoc.Langlet langlet, void* ptr);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class EnumValue : Valadoc.DocumentedElement {
+ public EnumValue (Valadoc.Settings settings, Vala.EnumValue venval, Valadoc.Enum parent, Valadoc.Tree head);
+ public string get_cname ();
+ public bool is_venumvalue (Vala.EnumValue venval);
+ public void parse_comment (Valadoc.Parser docparser);
+ public void visit (Valadoc.Doclet doclet);
+ public void write (Valadoc.Langlet langlet, void* ptr);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class ErrorCode : Valadoc.DocumentedElement {
+ public ErrorCode (Valadoc.Settings settings, Vala.ErrorCode verrcode, Valadoc.ErrorDomain parent, Valadoc.Tree head);
+ public string get_cname ();
+ public bool is_verrorcode (Vala.ErrorCode verrcode);
+ public void parse_comment (Valadoc.Parser docparser);
+ public void visit (Valadoc.Doclet doclet);
+ public void write (Valadoc.Langlet langlet, void* ptr);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class ErrorDomain : Valadoc.DocumentedElement, Valadoc.SymbolAccessibility, Valadoc.Visitable, Valadoc.MethodHandler {
+ public ErrorDomain (Valadoc.Settings settings, Vala.ErrorDomain verrdom, Valadoc.ErrorDomainHandler parent, Valadoc.Tree head);
+ public string? get_cname ();
+ public Gee.ReadOnlyCollection<Valadoc.ErrorCode> get_error_code_list ();
+ public void visit (Valadoc.Doclet doclet);
+ public void visit_error_codes (Valadoc.Doclet doclet);
+ public void write (Valadoc.Langlet langlet, void* ptr);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class ErrorReporter : GLib.Object {
+ public ErrorReporter ();
+ public void error (string file, long line, long startpos, long endpos, string errline, string msg);
+ public void simple_error (string msg);
+ public void simple_warning (string msg);
+ public void warning (string file, long line, long startpos, long endpos, string errline, string msg);
+ public int errors { get; }
+ public GLib.FileStream stream { get; set; }
+ public Vala.Report? vreporter { get; set; }
+ public int warnings { get; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class Field : Valadoc.DocumentedElement, Valadoc.SymbolAccessibility, Valadoc.ReturnTypeHandler, Valadoc.Visitable {
+ public Field (Valadoc.Settings settings, Vala.Field vfield, Valadoc.FieldHandler parent, Valadoc.Tree head);
+ public string? get_cname ();
+ public void visit (Valadoc.Doclet doclet, Valadoc.FieldHandler? parent);
+ public void write (Valadoc.Langlet langlet, void* ptr, Valadoc.FieldHandler parent);
+ public bool is_static { get; }
+ public bool is_volatile { get; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class FormalParameter : Valadoc.Basic, Valadoc.ReturnTypeHandler {
+ public FormalParameter (Valadoc.Settings settings, Vala.FormalParameter vformalparam, Valadoc.Basic parent, Valadoc.Tree head);
+ public void write (Valadoc.Langlet langlet, void* ptr);
+ public bool ellipsis { get; }
+ public bool has_default_value { get; }
+ public bool is_out { get; }
+ public bool is_ref { get; }
+ public string? name { owned get; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public abstract class HeadlineDocElement : Valadoc.DocElement {
+ public HeadlineDocElement ();
+ public abstract bool parse (string title, int lvl);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public abstract class HighlightedDocElement : Valadoc.DocElement {
+ public HighlightedDocElement ();
+ public abstract bool parse (Gee.ArrayList<Valadoc.DocElement> content);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public abstract class ImageDocElement : Valadoc.DocElement {
+ public ImageDocElement ();
+ public abstract bool parse (Valadoc.Settings settings, Valadoc.Documentation pos, owned string path, owned string alt);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public abstract class InlineTaglet : Valadoc.Taglet {
+ public InlineTaglet ();
+ public abstract bool parse (Valadoc.Settings settings, Valadoc.Tree tree, Valadoc.Documentation self, string content, ref Valadoc.ErrorLevel errlvl, out string? errmsg);
+ public abstract string to_string ();
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class Interface : Valadoc.DocumentedElement, Valadoc.SymbolAccessibility, Valadoc.Visitable, Valadoc.SignalHandler, Valadoc.PropertyHandler, Valadoc.FieldHandler, Valadoc.TemplateParameterListHandler, Valadoc.MethodHandler, Valadoc.DelegateHandler, Valadoc.EnumHandler, Valadoc.StructHandler, Valadoc.ClassHandler {
+ public Interface (Valadoc.Settings settings, Vala.Interface vinterface, Valadoc.InterfaceHandler parent, Valadoc.Tree head);
+ public string? get_cname ();
+ public Gee.Collection<Valadoc.Interface> get_implemented_interface_list ();
+ public void visit (Valadoc.Doclet doclet);
+ public void write (Valadoc.Langlet langlet, void* ptr);
+ protected Valadoc.Class? base_type { get; set; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public abstract class ItalicDocElement : Valadoc.HighlightedDocElement {
+ public ItalicDocElement ();
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public abstract class Langlet : GLib.Object {
+ public Langlet ();
+ public abstract void write_array (Valadoc.Array param, void* ptr, Valadoc.DocumentedElement pos);
+ public abstract void write_class (Valadoc.Class cl, void* ptr);
+ public abstract void write_constant (Valadoc.Constant constant, Valadoc.ConstantHandler parent, void* ptr);
+ public abstract void write_delegate (Valadoc.Delegate del, void* ptr);
+ public abstract void write_enum (Valadoc.Enum en, void* ptr);
+ public abstract void write_enum_value (Valadoc.EnumValue enval, void* ptr);
+ public abstract void write_error_code (Valadoc.ErrorCode errcode, void* ptr);
+ public abstract void write_error_domain (Valadoc.ErrorDomain errdom, void* ptr);
+ public abstract void write_field (Valadoc.Field field, Valadoc.FieldHandler pos, void* ptr);
+ public abstract void write_file (Valadoc.Package file, void* ptr);
+ public abstract void write_formal_parameter (Valadoc.FormalParameter param, void* ptr);
+ public abstract void write_inheritance_list (Valadoc.DocumentedElement dtype, void* ptr);
+ public abstract void write_interface (Valadoc.Interface iface, void* ptr);
+ public abstract void write_method (void* ptr, Valadoc.Method m, Valadoc.MethodHandler pos);
+ public abstract void write_namespace (Valadoc.Namespace ns, void* ptr);
+ public abstract void write_parameter_list (Valadoc.ParameterListHandler thandler, void* ptr);
+ public abstract void write_pointer (Valadoc.Pointer param, void* ptr, Valadoc.DocumentedElement pos);
+ public abstract void write_property (Valadoc.Property prop, void* ptr);
+ public abstract void write_property_accessor (Valadoc.PropertyAccessor propac, void* ptr);
+ public abstract void write_signal (Valadoc.Signal sig, void* ptr);
+ public abstract void write_struct (Valadoc.Struct stru, void* ptr);
+ public abstract void write_template_parameters (Valadoc.TemplateParameterListHandler thandler, void* ptr);
+ public abstract void write_type_parameter (Valadoc.TypeParameter param, void* ptr);
+ public abstract void write_type_reference (Valadoc.TypeReference tref, void* ptr);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public abstract class LinkDocElement : Valadoc.DocElement {
+ public LinkDocElement ();
+ public abstract bool parse (Valadoc.Settings settings, Valadoc.Tree tree, Valadoc.Documentation pos, owned string link, owned string desc);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public abstract class ListDocElement : Valadoc.DocElement {
+ public ListDocElement ();
+ public abstract bool parse (Valadoc.ListType type, Gee.ArrayList<Valadoc.ListEntryDocElement> entries);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public abstract class ListEntryDocElement : Valadoc.DocElement {
+ public ListEntryDocElement ();
+ public abstract bool parse (Valadoc.ListType type, long lvl, Gee.ArrayList<Valadoc.DocElement> content);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public abstract class MainTaglet : Valadoc.Taglet {
+ public MainTaglet ();
+ protected string? get_data_type (Valadoc.DocumentedElement me);
+ public abstract bool parse (Valadoc.Settings settings, Valadoc.Tree tree, Valadoc.DocumentedElement me, Gee.Collection<Valadoc.DocElement> content, ref Valadoc.ErrorLevel errlvl, out string errmsg);
+ public abstract bool write_block_end (void* res);
+ public abstract bool write_block_start (void* res);
+ public virtual int order { get; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class Method : Valadoc.DocumentedElement, Valadoc.ParameterListHandler, Valadoc.ExceptionHandler, Valadoc.TemplateParameterListHandler, Valadoc.SymbolAccessibility, Valadoc.ReturnTypeHandler, Valadoc.Visitable {
+ public Method (Valadoc.Settings settings, Vala.Method vmethod, Valadoc.MethodHandler parent, Valadoc.Tree head);
+ public string? get_cname ();
+ public void visit (Valadoc.Doclet doclet, Valadoc.MethodHandler in_type);
+ public void write (Valadoc.Langlet langlet, void* ptr, Valadoc.MethodHandler parent);
+ public Valadoc.Method? base_method { get; set; }
+ public bool is_abstract { get; }
+ public bool is_constructor { get; }
+ public bool is_inline { get; }
+ public bool is_override { get; }
+ public bool is_static { get; }
+ public bool is_virtual { get; }
+ public bool is_yields { get; }
+ public override string? name { owned get; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class ModuleLoader : GLib.Object {
+ public GLib.Type bold;
+ public GLib.Type center;
+ public Valadoc.Doclet doclet;
+ public GLib.Type headline;
+ public GLib.Type image;
+ public GLib.Type italic;
+ public GLib.Type link;
+ public GLib.Type list;
+ public GLib.Type list_element;
+ public GLib.Type notification;
+ public GLib.Type paragraph;
+ public GLib.Type right;
+ public GLib.Type source;
+ public GLib.Type source_inline;
+ public GLib.Type string;
+ public GLib.Type table;
+ public GLib.Type table_cell;
+ public Gee.HashMap<global::string,GLib.Type> taglets;
+ public GLib.Type underline;
+ public ModuleLoader ();
+ public bool load (global::string path);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class Namespace : Valadoc.DocumentedElement, Valadoc.MethodHandler, Valadoc.FieldHandler, Valadoc.NamespaceHandler, Valadoc.ErrorDomainHandler, Valadoc.EnumHandler, Valadoc.ClassHandler, Valadoc.StructHandler, Valadoc.InterfaceHandler, Valadoc.DelegateHandler, Valadoc.ConstantHandler {
+ public Namespace (Valadoc.Settings settings, Vala.Namespace vnspace, Valadoc.NamespaceHandler parent, Valadoc.Tree head);
+ public void visit (Valadoc.Doclet doclet);
+ public void write (Valadoc.Langlet langlet, void* ptr);
+ public Vala.Namespace vnspace { get; set; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public abstract class NotificationDocElement : Valadoc.DocElement {
+ public NotificationDocElement ();
+ public abstract bool parse (Gee.ArrayList<Valadoc.DocElement> content);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class Package : Valadoc.DocumentedElement, Valadoc.NamespaceHandler {
+ public Package (Valadoc.Settings settings, Vala.SourceFile vfile, Valadoc.Tree head, bool is_package = false);
+ public Gee.ReadOnlyCollection<Valadoc.Package> get_dependency_list ();
+ public Gee.ReadOnlyCollection<Valadoc.Package> get_full_dependency_list ();
+ public bool is_visitor_accessible ();
+ public void visit (Valadoc.Doclet doclet);
+ public Package.with_name (Valadoc.Settings settings, Vala.SourceFile vfile, string name, Valadoc.Tree head, bool is_package = false);
+ public void write (Valadoc.Langlet langlet, void* ptr);
+ public bool is_package { get; set; }
+ public override string? name { owned get; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public abstract class ParagraphDocElement : Valadoc.DocElement {
+ public ParagraphDocElement ();
+ public abstract bool parse (Gee.ArrayList<Valadoc.DocElement> paragraph);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class Parser : GLib.Object {
+ public Parser (Valadoc.Settings settings, Valadoc.ErrorReporter reporter, Valadoc.Tree tree, Valadoc.ModuleLoader modules);
+ public static bool is_documentation (string cmnt);
+ public bool is_inherit_doc (Valadoc.DocumentedElement self);
+ public Valadoc.DocumentationTree? parse (Valadoc.DocumentedElement self);
+ public unowned Valadoc.WikiPage parse_wikipage (Valadoc.WikiPage wikipage);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class Pointer : Valadoc.Basic {
+ public Pointer (Valadoc.Settings settings, Vala.PointerType vtyperef, Valadoc.Basic parent, Valadoc.Tree head);
+ public void set_type_references ();
+ public void write (Valadoc.Langlet langlet, void* ptr, Valadoc.DocumentedElement parent);
+ public Valadoc.Basic data_type { get; set; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class Property : Valadoc.DocumentedElement, Valadoc.SymbolAccessibility, Valadoc.ReturnTypeHandler, Valadoc.Visitable {
+ public Property (Valadoc.Settings settings, Vala.Property vproperty, Valadoc.PropertyHandler parent, Valadoc.Tree head);
+ public bool equals (Valadoc.Property p);
+ public string? get_cname ();
+ public bool is_vproperty (Vala.Property vprop);
+ public void parse_comment (Valadoc.Parser docparser);
+ public void visit (Valadoc.Doclet doclet);
+ public void write (Valadoc.Langlet langlet, void* ptr);
+ public Valadoc.Property base_property { get; set; }
+ public Valadoc.PropertyAccessor getter { get; set; }
+ public bool is_abstract { get; }
+ public bool is_override { get; }
+ public bool is_virtual { get; }
+ public Valadoc.PropertyAccessor setter { get; set; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class PropertyAccessor : GLib.Object {
+ public PropertyAccessor (Valadoc.Settings settings, Vala.PropertyAccessor vpropacc, Valadoc.Property parent, Valadoc.Tree head);
+ public void write (Valadoc.Langlet langlet, void* ptr);
+ public Valadoc.Tree head { get; set; }
+ public bool is_construct { get; }
+ public bool is_get { get; }
+ public bool is_internal { get; }
+ public bool is_owned { get; }
+ public bool is_private { get; }
+ public bool is_protected { get; }
+ public bool is_public { get; }
+ public bool is_set { get; }
+ public Valadoc.Property parent { get; set; }
+ public Valadoc.Settings settings { get; set; }
+ public Valadoc.Tree tree { get; set; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public abstract class RightAlignedDocElement : Valadoc.ContentPositionDocElement {
+ public RightAlignedDocElement ();
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class Settings : GLib.Object {
+ public bool _internal;
+ public bool _private;
+ public bool _protected;
+ public bool add_inherited;
+ public string? basedir;
+ public string[] defines;
+ public bool deprecated;
+ public string? directory;
+ public bool disable_dbus_transformation;
+ public bool enable_checking;
+ public bool experimental;
+ public bool non_null_experimental;
+ public string path;
+ public string pkg_name;
+ public string pkg_version;
+ public string? profile;
+ public string[] vapi_directories;
+ public bool verbose;
+ public string wiki_directory;
+ public bool with_deps;
+ public Settings ();
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class Signal : Valadoc.DocumentedElement, Valadoc.ParameterListHandler, Valadoc.SymbolAccessibility, Valadoc.ReturnTypeHandler, Valadoc.Visitable {
+ public Signal (Valadoc.Settings settings, Vala.Signal vsignal, Valadoc.SignalHandler parent, Valadoc.Tree head);
+ public string? get_cname ();
+ public void visit (Valadoc.Doclet doclet);
+ public void write (Valadoc.Langlet langlet, void* ptr);
+ public bool is_virtual { get; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public abstract class SourceCodeDocElement : Valadoc.DocElement {
+ public SourceCodeDocElement ();
+ public abstract bool parse (string src, Valadoc.Language lang);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public abstract class StringTaglet : Valadoc.Taglet {
+ public StringTaglet ();
+ public abstract bool parse (string content);
+ public string content { get; set; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class Struct : Valadoc.DocumentedElement, Valadoc.SymbolAccessibility, Valadoc.Visitable, Valadoc.MethodHandler, Valadoc.ConstructionMethodHandler, Valadoc.FieldHandler, Valadoc.ConstantHandler, Valadoc.TemplateParameterListHandler {
+ public Struct (Valadoc.Settings settings, Vala.Struct vstruct, Valadoc.StructHandler parent, Valadoc.Tree head);
+ public string? get_cname ();
+ public void visit (Valadoc.Doclet doclet);
+ public void write (Valadoc.Langlet langlet, void* ptr);
+ protected Valadoc.Struct? base_type { get; set; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public abstract class TableCellDocElement : Valadoc.DocElement {
+ public TableCellDocElement ();
+ public abstract void parse (Valadoc.TextPosition pos, Valadoc.TextVerticalPosition hpos, int size, int dsize, Gee.ArrayList<Valadoc.DocElement> content);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public abstract class TableDocElement : Valadoc.DocElement {
+ public TableDocElement ();
+ public abstract void parse (Gee.ArrayList<Gee.ArrayList<Valadoc.TableCellDocElement>> cells);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public abstract class Taglet : Valadoc.DocElement {
+ public Taglet ();
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class Tree : Vala.CodeVisitor {
+ public Tree (Valadoc.ErrorReporter reporter, Valadoc.Settings settings);
+ public void add_depencies (string[] packages);
+ public void add_documented_file (string[] sources);
+ public bool create_tree ();
+ public Gee.ReadOnlyCollection<Valadoc.Package> get_package_list ();
+ public void parse_comments (Valadoc.Parser docparser);
+ public Valadoc.DocumentedElement? search_symbol_str (Valadoc.DocumentedElement? element, string symname);
+ public void visit (Valadoc.Doclet doclet);
+ public override void visit_class (Vala.Class vcl);
+ public override void visit_constant (Vala.Constant vc);
+ public override void visit_delegate (Vala.Delegate vd);
+ public override void visit_enum (Vala.Enum venum);
+ public override void visit_error_domain (Vala.ErrorDomain verrdom);
+ public override void visit_field (Vala.Field vf);
+ public override void visit_interface (Vala.Interface viface);
+ public override void visit_method (Vala.Method vm);
+ public override void visit_namespace (Vala.Namespace vns);
+ public override void visit_struct (Vala.Struct vstru);
+ public Valadoc.WikiPageTree? wikitree { get; set; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class TypeParameter : Valadoc.Basic, Valadoc.ReturnTypeHandler {
+ public TypeParameter (Valadoc.Settings settings, Vala.TypeParameter vtypeparam, Valadoc.Basic parent, Valadoc.Tree head);
+ public bool is_vtypeparam (Vala.TypeParameter vtypeparam);
+ public void write (Valadoc.Langlet langlet, void* ptr);
+ public string? name { owned get; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class TypeReference : Valadoc.Basic {
+ public TypeReference (Valadoc.Settings settings, Vala.DataType? vtyperef, Valadoc.Basic parent, Valadoc.Tree head);
+ public Gee.ReadOnlyCollection<Valadoc.TypeReference> get_type_arguments ();
+ public void write (Valadoc.Langlet langlet, void* ptr);
+ public Valadoc.Basic? data_type { get; set; }
+ public bool is_dynamic { get; }
+ public bool is_nullable { get; }
+ public bool is_owned { get; }
+ public bool is_unowned { get; }
+ public bool is_weak { get; }
+ public bool pass_ownership { get; }
+ public string type_name { owned get; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public abstract class UnderlinedDocElement : Valadoc.HighlightedDocElement {
+ public UnderlinedDocElement ();
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class WikiPage : GLib.Object, Valadoc.Documentation {
+ public WikiPage (string name, string path);
+ public void add_content (Gee.ArrayList<Valadoc.DocElement> content);
+ public bool parse (Valadoc.Parser docparser);
+ public void read () throws GLib.FileError;
+ public bool write (void* res);
+ public string documentation_str { get; set; }
+ public string name { get; set; }
+ public string path { get; set; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public class WikiPageTree : GLib.Object {
+ public WikiPageTree (Valadoc.ErrorReporter reporter, Valadoc.Settings settings);
+ public void create_tree (Valadoc.Parser docparser) throws GLib.FileError;
+ public Gee.Collection<Valadoc.WikiPage> get_pages ();
+ public Valadoc.WikiPage? search (string name);
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public interface ClassHandler : Valadoc.Basic {
+ public void add_classes (Gee.Collection<Vala.Class> vclasses);
+ protected Valadoc.Class? find_vclass (Vala.Class vcl);
+ public Gee.ReadOnlyCollection<Valadoc.Class> get_class_list ();
+ protected void parse_class_comments (Valadoc.Parser docparser);
+ protected Valadoc.DocumentedElement? search_class (string[] @params, int pos);
+ protected Valadoc.DocumentedElement? search_class_vala (Gee.ArrayList<Vala.Symbol> @params, int pos);
+ protected void set_class_type_references ();
+ public void visit_classes (Valadoc.Doclet doclet);
+ protected abstract Gee.ArrayList<Valadoc.Class> classes { get; set; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public interface ConstantHandler : Valadoc.Basic {
+ public Gee.ReadOnlyCollection<Valadoc.Constant> get_constant_list ();
+ protected Valadoc.DocumentedElement? search_constant_vala (Gee.ArrayList<Vala.Symbol> @params, int pos);
+ public void visit_constants (Valadoc.Doclet doclet);
+ protected abstract Gee.ArrayList<Valadoc.Constant> constants { get; set; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public interface ConstructionMethodHandler : Valadoc.Basic, Valadoc.MethodHandler {
+ protected void add_construction_method (Vala.CreationMethod vm);
+ protected void add_methods_and_construction_methods (Gee.Collection<Vala.Method> vmethods);
+ public Gee.ReadOnlyCollection<Valadoc.Method> get_construction_method_list ();
+ protected void parse_construction_method_comments (Valadoc.Parser docparser);
+ protected Valadoc.DocumentedElement? search_construction_method (string[] @params, int pos);
+ protected Valadoc.DocumentedElement? search_construction_method_vala (Gee.ArrayList<Vala.Symbol> @params, int pos);
+ protected void set_construction_method_references ();
+ public void visit_construction_methods (Valadoc.Doclet doclet);
+ protected abstract Gee.ArrayList<Valadoc.Method> construction_methods { get; set; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public interface DelegateHandler : Valadoc.Basic {
+ public void add_delegate (Vala.Delegate vdel);
+ public void add_delegates (Gee.Collection<Vala.Delegate> vdels);
+ public Gee.Collection<Valadoc.Delegate> get_delegate_list ();
+ public void parse_delegate_comments (Valadoc.Parser docparser);
+ protected Valadoc.DocumentedElement? search_delegate (string[] @params, int pos);
+ protected Valadoc.DocumentedElement? search_delegate_vala (Gee.ArrayList<Vala.Symbol> @params, int pos);
+ public void set_delegate_type_references ();
+ public void visit_delegates (Valadoc.Doclet doclet);
+ protected abstract Gee.ArrayList<Valadoc.Delegate> delegates { get; set; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public interface Documentation : GLib.Object {
+ public abstract string? get_filename ();
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public interface EnumHandler : Valadoc.Basic {
+ public void add_enum (Vala.Enum venum);
+ public void add_enums (Gee.Collection<Vala.Enum> venums);
+ public Gee.Collection<Valadoc.Enum> get_enum_list ();
+ protected void parse_enum_comments (Valadoc.Parser docparser);
+ protected Valadoc.DocumentedElement? search_enum (string[] @params, int pos);
+ protected Valadoc.DocumentedElement? search_enum_vala (Gee.ArrayList<Vala.Symbol> @params, int pos);
+ protected void set_enum_type_references ();
+ public void visit_enums (Valadoc.Doclet doclet);
+ protected abstract Gee.ArrayList<Valadoc.Enum> enums { get; set; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public interface ErrorDomainHandler : Valadoc.Basic {
+ public void add_error_domain (Vala.ErrorDomain verrdom);
+ public void add_error_domains (Gee.Collection<Vala.ErrorDomain> verrdoms);
+ public Gee.Collection<Valadoc.ErrorDomain> get_error_domain_list ();
+ protected void parse_errordomain_comments (Valadoc.Parser docparser);
+ protected Valadoc.DocumentedElement? search_error_domain (string[] @params, int pos);
+ protected Valadoc.DocumentedElement? search_error_domain_vala (Gee.ArrayList<Vala.Symbol> @params, int pos);
+ protected void set_errordomain_type_referenes ();
+ public void visit_error_domains (Valadoc.Doclet doclet);
+ protected abstract Gee.ArrayList<Valadoc.ErrorDomain> errdoms { get; set; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public interface ExceptionHandler : Valadoc.Basic {
+ public void add_exception_list (Gee.Collection<Vala.DataType> vexceptions);
+ public Gee.ReadOnlyCollection<Valadoc.DocumentedElement> get_error_domains ();
+ protected abstract Gee.ArrayList<Valadoc.DocumentedElement> err_domains { get; set; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public interface FieldHandler : Valadoc.Basic {
+ public Gee.ReadOnlyCollection<Valadoc.Field> get_field_list ();
+ protected Valadoc.DocumentedElement? search_field_vala (Gee.ArrayList<Vala.Symbol> @params, int pos);
+ public void visit_fields (Valadoc.Doclet doclet);
+ protected abstract Gee.ArrayList<Valadoc.Field> fields { get; set; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public interface InterfaceHandler : Valadoc.Basic {
+ protected void add_interfaces (Gee.Collection<Vala.Interface> vifaces);
+ public Gee.Collection<Valadoc.Interface> get_interface_list ();
+ protected void parse_interface_comments (Valadoc.Parser docparser);
+ protected Valadoc.DocumentedElement? search_interface (string[] @params, int pos);
+ protected Valadoc.DocumentedElement? search_interface_vala (Gee.ArrayList<Vala.Symbol> @params, int pos);
+ protected void set_interface_type_references ();
+ public void visit_interfaces (Valadoc.Doclet doclet);
+ protected abstract Gee.ArrayList<Valadoc.Interface> interfaces { get; set; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public interface MethodHandler : Valadoc.Basic {
+ protected void add_method (Vala.Method vmethod);
+ protected void add_methods (Gee.Collection<Vala.Method> vmethods);
+ public Gee.ReadOnlyCollection<Valadoc.Method> get_method_list ();
+ protected Valadoc.DocumentedElement? search_method_vala (Gee.ArrayList<Vala.Symbol> @params, int pos);
+ public void visit_methods (Valadoc.Doclet doclet);
+ protected abstract Gee.ArrayList<Valadoc.Method> methods { get; set; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public interface NamespaceHandler : Valadoc.Basic {
+ protected Valadoc.Namespace get_namespace (Vala.Symbol node);
+ public Gee.ReadOnlyCollection<Valadoc.Namespace> get_namespace_list ();
+ public void visit_namespaces (Valadoc.Doclet doclet);
+ public abstract Gee.ArrayList<Valadoc.Namespace> namespaces { get; set; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public interface ParameterListHandler : Valadoc.Basic {
+ protected void add_parameter_list (Gee.Collection<Vala.FormalParameter> vparams);
+ public Gee.ReadOnlyCollection<Valadoc.FormalParameter> get_parameter_list ();
+ protected abstract Gee.ArrayList<Valadoc.FormalParameter> param_list { get; set; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public interface PropertyHandler : Valadoc.Basic {
+ protected void add_properties (Gee.Collection<Vala.Property> vproperties);
+ public Gee.ReadOnlyCollection<Valadoc.Property> get_property_list ();
+ protected bool is_overwritten_property (Valadoc.Property prop);
+ protected void parse_property_comments (Valadoc.Parser docparser);
+ protected Valadoc.DocumentedElement? search_property (string[] @params, int pos);
+ protected Valadoc.DocumentedElement? search_property_vala (Gee.ArrayList<Vala.Symbol> @params, int pos);
+ protected void set_property_type_references ();
+ public void visit_properties (Valadoc.Doclet doclet);
+ protected abstract Gee.ArrayList<Valadoc.Property> properties { get; set; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public interface ReturnTypeHandler : Valadoc.Basic {
+ public abstract Valadoc.TypeReference? type_reference { get; set; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public interface SignalHandler : Valadoc.Basic {
+ public Gee.ReadOnlyCollection<Valadoc.Signal> get_signal_list ();
+ protected Valadoc.DocumentedElement? search_signal (string[] @params, int pos);
+ protected Valadoc.DocumentedElement? search_signal_vala (Gee.ArrayList<Vala.Symbol> @params, int pos);
+ public void visit_signals (Valadoc.Doclet doclet);
+ protected abstract Gee.ArrayList<Valadoc.Signal> signals { get; set; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public interface StructHandler : Valadoc.Basic {
+ public void add_struct (Vala.Struct vstru);
+ public void add_structs (Gee.Collection<Vala.Struct> vstructs);
+ public Gee.Collection<Valadoc.Struct> get_struct_list ();
+ protected void parse_struct_comments (Valadoc.Parser docparser);
+ protected Valadoc.DocumentedElement? search_struct (string[] @params, int pos);
+ protected Valadoc.DocumentedElement? search_struct_vala (Gee.ArrayList<Vala.Symbol> @params, int pos);
+ protected void set_struct_type_references ();
+ public void visit_structs (Valadoc.Doclet doclet);
+ protected abstract Gee.ArrayList<Valadoc.Struct> structs { get; set; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public interface SymbolAccessibility : Valadoc.Basic {
+ public bool is_internal { get; }
+ public bool is_private { get; }
+ public bool is_protected { get; }
+ public bool is_public { get; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public interface TemplateParameterListHandler : Valadoc.Basic {
+ public Valadoc.TypeParameter? find_vtemplateparameter (Vala.GenericType vttype);
+ public Gee.ReadOnlyCollection<Valadoc.TypeParameter> get_template_param_list ();
+ protected abstract Gee.ArrayList<Valadoc.TypeParameter> template_param_lst { get; set; }
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public interface Visitable : Valadoc.Basic, Valadoc.SymbolAccessibility {
+ protected bool is_type_visitor_accessible (Valadoc.Basic element);
+ public bool is_visitor_accessible ();
+ }
+ [CCode (cprefix = "VALADOC_ERROR_LEVEL_", cheader_filename = "valadoc-1.0.h")]
+ public enum ErrorLevel {
+ ASSUMPTION,
+ WARNING,
+ ERROR
+ }
+ [CCode (cprefix = "VALADOC_IMAGE_DOC_ELEMENT_POSITION_", cheader_filename = "valadoc-1.0.h")]
+ public enum ImageDocElementPosition {
+ NEUTRAL,
+ MIDDLE,
+ RIGHT,
+ LEFT
+ }
+ [CCode (cprefix = "VALADOC_LANGUAGE_", cheader_filename = "valadoc-1.0.h")]
+ public enum Language {
+ GENIE,
+ VALA,
+ C
+ }
+ [CCode (cprefix = "VALADOC_LIST_TYPE_", cheader_filename = "valadoc-1.0.h")]
+ public enum ListType {
+ UNSORTED,
+ SORTED
+ }
+ [CCode (cprefix = "VALADOC_TEXT_POSITION_", cheader_filename = "valadoc-1.0.h")]
+ public enum TextPosition {
+ LEFT,
+ RIGHT,
+ CENTER
+ }
+ [CCode (cprefix = "VALADOC_TEXT_VERTICAL_POSITION_", cheader_filename = "valadoc-1.0.h")]
+ public enum TextVerticalPosition {
+ TOP,
+ MIDDLE,
+ BOTTOM
+ }
+ [CCode (cheader_filename = "valadoc-1.0.h", has_target = false)]
+ public delegate GLib.Type DocletRegisterFunction ();
+ [CCode (cheader_filename = "valadoc-1.0.h", has_target = false)]
+ public delegate void TagletRegisterFunction (Valadoc.ModuleLoader loader);
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public static bool copy_directory (string src, string dest);
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public static bool copy_file (string src, string dest);
+ [CCode (cheader_filename = "valadoc-1.0.h")]
+ public static string realpath (string name);
+}
+[CCode (cheader_filename = "valadoc-1.0.h")]
+public static Valadoc.Class glib_error;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]