X-Git-Url: http://git.draconx.ca/gitweb/gob-dx.git/blobdiff_plain/2255b3d84eeb947d4c065332f16e410ae4704c63..b17287deb56775a49030d738d8c8c0e9cd15f9fe:/src/test.gob diff --git a/src/test.gob b/src/test.gob index d606d62..e805824 100644 --- a/src/test.gob +++ b/src/test.gob @@ -1,3 +1,24 @@ +/* this is a TEST file, it's VERY VERY ugly, it's just supposed to test + the parser of gob and somewhat test some output as well, you can + look in here to see a whole array of different syntax options, but + don't expect this to be an easy to read file */ + +requires 0.92.1 + +%headertop{ +/* this should go on the very top of the header */ +%} +%ht{ +/* this should go on the very top of the header as well */ +%} +%ph{ +/* this should go into the private header */ +%} +%privateheader{ +/* this should go into the private header as well*/ +%} + + %{ #include /* the next line is not mandatory, but if gob finds an include in one of @@ -7,16 +28,33 @@ #include "gtk-weird-button.h" #include "gtk-weird-button-private.h" +/* this is to test if the lexer won't get confused by requires inside + some c code +requires 99.99.99 +*/ + static void jjjj(void); %} %h{ void bubu(void); %} +%header{ +/* this should be in the header, just under bubu prototype */ +%} class Gtk:Weird:Button from Gtk:Button { public int i; argument INT i set { self->i = ARG; } get { ARG = self->i; } ; + argument POINTER (type GtkObject *) some_object + set { /* set some_object */ } + get { /* get some_object */ + ARG=NULL; }; + argument (CONSTRUCT) LONG (type long) write_only_long + set { /* set write_only_long */ }; + argument POINTER (type char *) read_only_string + get { /* get readonly_long */ + ARG = g_strdup("BLAH"); }; private int j; public GtkWidget * h; public char *bleh; @@ -28,30 +66,86 @@ class Gtk:Weird:Button from Gtk:Button { object->i=0; } class_init(klass); + + /** + * new: + * @j: foo + * + * budliky budliky + * + * Returns: new object + */ public GtkWidget * new(int j (check > 0)) { GtkWidget *ret; ret = GTK_WIDGET (GET_NEW); - GTK_WEIRD_BUTTON(ret)->_priv->j = j; + SELF(ret)->_priv->j = j; return ret; } private int blah(self, Gtk:Widget * wid (check null type), int h (check > 0)) onerror -1 { gtk_container_add(GTK_CONTAINER(self),wid); + + gtk_object_set(GTK_OBJECT(self), + GTK_WEIRD_BUTTON_ARG_I(99), + NULL); return h; } + /** + * bleh: + * @self: foo + * @wid: foo + * @h: foo + * + * budliky budliky 2 + * + * Returns: new object + **/ signal last INT (POINTER, INT) int bleh(self, Gtk:Widget * wid (check null type), int h (check > 0)) { return blah(self,wid,h); } + /** + * gtk_weird_button_bleh2: + * @self: foo + * @wid: foo + * @h: foo + * + * budliky budliky 3 + * + * Returns: new object */ signal last INT (POINTER, INT) int bleh2(self, Gtk:Widget * wid (check null type), int h (check > 0)) { /* testing multiple marshaller support */ return 0; } + /* this should not get documented as it's nonstandard */ + /** + * bloh: + + ******/ + + /* Here we are testing how the gtk-doc extraction code error handeling + it should just ingore these */ + /** + */ + + /** */ + /** + * + * bubu + *********/ + /** + * + * bubu + **zblunk*******/ + /** + * + * bubu + *zblunk*******//**//**/ signal first NONE (NONE) void bloh(self); virtual void * bah(self, int h (check > 0)) onerror NULL { @@ -158,6 +252,12 @@ class Gtk:Weird:Button from Gtk:Button { { /* ugh, testing casting */ } + + public signal (NO_HOOKS) last INT (INT) + int testflags(self, int w (check > 0)) { + /*foo*/ + return w; + } } %{