X-Git-Url: http://git.draconx.ca/gitweb/gob-dx.git/blobdiff_plain/6e77e91bbb048a0ee1a072715c0ce808c169ab38..2255b3d84eeb947d4c065332f16e410ae4704c63:/src/test.gob diff --git a/src/test.gob b/src/test.gob index 1c522a6..d606d62 100644 --- a/src/test.gob +++ b/src/test.gob @@ -1,5 +1,11 @@ %{ #include +/* the next line is not mandatory, but if gob finds an include in one of + the %{ %} sections above the class definitions, it will not put it in + the file itself. So you can this way select where the include file is + at */ +#include "gtk-weird-button.h" +#include "gtk-weird-button-private.h" static void jjjj(void); %} @@ -13,17 +19,20 @@ class Gtk:Weird:Button from Gtk:Button { argument INT i set { self->i = ARG; } get { ARG = self->i; } ; private int j; public GtkWidget * h; + public char *bleh; + public double array[23][18]; + protected unsigned long int wagawaga; + public int wagawaga_should_be_after_this_in_the_header; init(object) { - GtkWeirdButton *but = GTK_WEIRD_BUTTON(object); - but->i=0; + object->i=0; } - class_init(class); + class_init(klass); public GtkWidget * new(int j (check > 0)) { GtkWidget *ret; ret = GTK_WIDGET (GET_NEW); - GTK_WEIRD_BUTTON(ret)->j = j; + GTK_WEIRD_BUTTON(ret)->_priv->j = j; return ret; } @@ -37,6 +46,12 @@ class Gtk:Weird:Button from Gtk:Button { int h (check > 0)) { return blah(self,wid,h); } + signal last INT (POINTER, INT) + int bleh2(self, Gtk:Widget * wid (check null type), + int h (check > 0)) { + /* testing multiple marshaller support */ + return 0; + } signal first NONE (NONE) void bloh(self); virtual void * bah(self, int h (check > 0)) onerror NULL { @@ -46,8 +61,7 @@ class Gtk:Weird:Button from Gtk:Button { virtual int beh(self, int h (check > 0)); override(Gtk:Container) void add(Gtk:Container * self (check null type), Gtk:Widget * wid (check null type)) { - if (GTK_CONTAINER_CLASS (parent_class)->add) - (* GTK_CONTAINER_CLASS (parent_class)->add) (self,wid); + PARENT_HANDLER(self,wid); } public int consttest(self, const gchar *text, ...) { @@ -62,15 +76,88 @@ class Gtk:Weird:Button from Gtk:Button { signal first private NONE (NONE) void googlegoogle2(self) { + int array[5][8][9]={{{0}}}; puts("TEST2"); - testprivvirtual(self); + testprivvirtual(self,array); + } + private signal first NONE (NONE) + void googlegoogle3(self) + { + puts("TEST3"); + } + protected signal first NONE (NONE) + void googlegoogle4(self) + { + puts("TEST4"); } virtual private - void testprivvirtual(self) + void testprivvirtual(self, int some_array[5][8][9]) { puts("TEST3"); googlegoogle(self); } + private virtual + void testprivvirtual2(self, int some_array[5][8][9]) + { + /* nothing here */ + } + public virtual + void testpublicvirtual(self, int some_array[5][8][9]) + { + /* nothing here */ + } + protected virtual + void testprotectedvirtual(self, int some_array[5][8][9]) + { + /* nothing here */ + } + signal first NONE (POINTER) + void testarrsignal(self, long arr[8]) + { + /* foo */ + } + + /* testing empty func */ + public void foofoofoo(self) {} + /* testing empty func 2 */ + public void foofoofoo2(self); + /* testing empty func 3 */ + public void foofoofoo3(self) { } + /* testing empty func 4 */ + public void foofoofoo4(self) + { + } + + override (Gtk:Widget) + int event(Gtk:Widget *self (check null type), + GdkEvent *event (check null)) onerror FALSE + { + int ret; + /* some code */ + ret = PARENT_HANDLER(self,event); + /* some code */ + return ret; + } + override(Gtk:Container) + void + remove(Gtk:Container * self (check null type), + Gtk:Widget * wid (check null type)); + + protected + int foobar(self) { + /* just an empty function */ + return 5; + } + + signal last NONE(CHAR,UCHAR,BOOL,INT,UINT,LONG,ULONG,FLOAT,DOUBLE, + STRING,ENUM,FLAGS,BOXED,POINTER,OBJECT) + void + testargs(self, gchar a, guchar b, gboolean c, gint d, guint e, glong f, + gulong g, gfloat h, gdouble i, gchar * j, gint k, + guint l, gpointer m, gpointer o, GtkObject *p) + { + /* ugh, testing casting */ + } } %{