X-Git-Url: https://git.draconx.ca/gitweb/gob-dx.git/blobdiff_plain/509cf0693fc440c71bdd3e71ea8947a6b4eb0bcf..714b58ab4606ed4d40cec3702cb378938f8c883f:/src/test.gob diff --git a/src/test.gob b/src/test.gob index d603930..9ea1d90 100644 --- a/src/test.gob +++ b/src/test.gob @@ -5,8 +5,13 @@ requires 0.93.0 +%at{ +/* ALL TOP */ +%} + %headertop{ /* this should go on the very top of the header */ + %} %ht{ /* this should go on the very top of the header as well */ @@ -37,13 +42,26 @@ static void jjjj(void); %} %h{ +enum _gob__enum_t { + BUDLIKY, BUDLIKY2 +}; + +struct _gob__struct_t { + int i, x, y, z; +}; +union _gob__union_t { + int i, x, y, z; +}; void bubu(void); %} %header{ /* this should be in the header, just under bubu prototype */ +#define TEST_ARRAY 5 %} class Gtk:Weird:Button from Gtk:Button { + + public int test_array[TEST_ARRAY]; public int i; argument INT i set { self->i = ARG; } get { ARG = self->i; } ; @@ -129,6 +147,14 @@ class Gtk:Weird:Button from Gtk:Button { int h (check > 0)) { return _blah(self,wid,h); } + + private + int + test_handler (self, GtkWidget *w, int h, gpointer data) + { + return -1; + } + /** * gtk_weird_button_bleh2: * @self: foo @@ -139,8 +165,12 @@ class Gtk:Weird:Button from Gtk:Button { * * Returns: new object */ signal last INT (POINTER, INT) - int bleh2(self, Gtk:Widget * wid (check null type), + int bleh2(self, const Gtk:Widget * wid (check null type), int h (check > 0)) { + gtk_signal_connect (GTK_OBJECT (self), + GTK_WEIRD_BUTTON_SIGNAL_BLEH (test_handler), + NULL); + /* testing multiple marshaller support */ return 0; } @@ -183,6 +213,45 @@ class Gtk:Weird:Button from Gtk:Button { { return 25; } + public int consttest2(self, gchar const *text, ...) + { + return 25; + } + public int consttest3(self, Gtk:Widget const *wid (check null type)) + { + return 25; + } + public int consttest4(const self) + { + return 25; + } + public int consttest5(self const) + { + return 25; + } + virtual int consttest6(const self) + { + return 25; + } + virtual int consttest7(self const) + { + return 25; + } + public int consttest8(self) + { + Self const *selfconst1, *selfconst2; + selfconst1 = SELF_CONST(self); + selfconst2 = GTK_WEIRD_BUTTON_CONST(self); + return 25; + } + public int consttest9(const self, int i, double b) + { + return 25; + } + public int consttest10(self const, int i, double b) + { + return 25; + } signal private first NONE (NONE) void googlegoogle(self) { @@ -207,6 +276,16 @@ class Gtk:Weird:Button from Gtk:Button { { puts("TEST4"); } + protected signal first NONE (NONE) + void googlegoogle_const1(const self) + { + puts("TEST4"); + } + protected signal first NONE (NONE) + void googlegoogle_const2(self const) + { + puts("TEST4"); + } virtual private void testprivvirtual(self, int some_array[5][8][9]) { @@ -214,12 +293,12 @@ class Gtk:Weird:Button from Gtk:Button { googlegoogle(self); } private virtual - void testprivvirtual2(self, int some_array[5][8][9]) + void testprivvirtual2(self, const int some_array[5][8][9]) { /* nothing here */ } public virtual - void testpublicvirtual(self, int some_array[5][8][9]) + void testpublicvirtual(self, int const some_array[5][8][9]) { /* nothing here */ } @@ -297,6 +376,62 @@ class Gtk:Weird:Button from Gtk:Button { { return FALSE; } + + /* testing types */ + public int t1; + public long int t2; + public int long t3; + public int long const t4; + public const int long t5; + public const char * const t6; + public char const * const t7; + public enum _gob__enum_t const * const t8; + public union _gob__union_t t9; + public union _gob__union_t * const * const * t10; + public struct _gob__struct_t * const * const * t11; + public const struct _gob__struct_t * const * const * t13; + public const enum _gob__enum_t * const * const * t14; + public enum _gob__enum_t t15; + public gchar const t16; + public const gchar * const t17; + public const gchar t18; + + /* testing method with no arguments */ + public void method_with_no_arguments (void) + { + /* FOO */ + } + + /* testing calling the above method */ + public void foo (self) { + method_with_no_arguments (); + } + + /* this is to test custom get_type */ + /*public GtkType + get_type (void) + { + static guint type = 0; + + if ( ! type) { + static const GtkTypeInfo info = { + "GtkWeirdButton", + sizeof (GtkWeirdButton), + sizeof (GtkWeirdButtonClass), + (GtkClassInitFunc) gtk_weird_button_class_init, + (GtkObjectInitFunc) gtk_weird_button_init, + NULL, + NULL, + (GtkClassInitFunc) NULL + }; + + type = gtk_type_unique (gtk_button_get_type(), &info); + } + + return type; + }*/ + + /* testing empty statements */ ; ;