X-Git-Url: https://git.draconx.ca/gitweb/gob-dx.git/blobdiff_plain/2255b3d84eeb947d4c065332f16e410ae4704c63..refs/tags/v0.92.2:/src/test.gob diff --git a/src/test.gob b/src/test.gob index d606d62..3adbd25 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; @@ -39,6 +77,10 @@ class Gtk:Weird:Button from Gtk:Button { 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; } signal last INT (POINTER, INT)