]> git.draconx.ca Git - gob-dx.git/blobdiff - src/test.gob
Release 2.0.11
[gob-dx.git] / src / test.gob
index 776c035cc20cdb1454b7fc47f89b6e841a80c713..3de497cae63000b5e98849cfa2608e75fe332a78 100644 (file)
@@ -56,6 +56,11 @@ union _gob__union_t {
        int i, x, y, z;
 };
 void bubu(void);
+
+/* Fake boxed */
+#define PACKAGE_TYPE_BOXED 1
+typedef void * PackageBoxed;
+
 %}
 %header{
 /* this should be in the header, just under bubu prototype */
@@ -79,7 +84,15 @@ error TEST_OBJECT_ERROR {
        BAD_THAT
 } Test:Object:Error;
 
-class Test:Object from G:Object
+enum BUBLE {
+        KEIN = 0,
+        STANDARD,
+        STANDARD_RO,
+        KOMPLETT,
+        ALT
+} Buble:Enum;
+
+class Test:Object from /*G:Object*/ Gtk:Container
        (interface Gtk:Tree:Model)
        /* We can add more interfaces by adding more lines like the above */
        /* Note that there must exist a GtkTreeModelIface structure */
@@ -111,6 +124,10 @@ class Test:Object from G:Object
                unrefwith g_object_unref;
        argument POINTER testingobj objectlink;
 
+       public Test:Object * testingobjllll
+               unrefwith gtk_widget_destroy;
+       argument POINTER testingobjllll objectlink;
+
        public Test:Object * testingobjfoo
                unref { if (VAR) g_object_unref (VAR); };
        argument POINTER testingobjfoo objectlink;
@@ -191,11 +208,31 @@ class Test:Object from G:Object
                                link);
 
        private Some:Flags flags_property;
-       property ENUM flags_property (nick   = "flagsprop",
+       property FLAGS flags_property (nick   = "flagsprop",
                                blurb  = "flagsprop",
                                flags_type = Some:Flags,
                                link);
 
+         private PackageBoxed prop;
+         property BOXED prop (nick="prop",
+                              blurb="prop",
+                              boxed_type=Package:Boxed,
+                              link);
+         /* testing old semantics */
+         private PackageBoxed prop2;
+         property BOXED prop2 (nick="prop2",
+                              blurb="prop2",
+                              boxed_type=PACKAGE_TYPE_BOXED,
+                              link);
+
+       private char ov_prop;
+       property CHAR ov_prop
+               (export,
+                override)
+               set { self->_priv->ov_prop = g_value_get_char (VAL); }
+               get { g_value_set_char (VAL, self->_priv->ov_prop); };
+
+
        private int j;
        public GObject * h;
        public char *bleh;
@@ -251,6 +288,9 @@ class Test:Object from G:Object
        char *
        test_handler (self, GObject *w, int h, gpointer data)
        {
+               data = w = NULL;
+               h = 0;
+                       
                return NULL;
        }
 
@@ -274,6 +314,9 @@ class Test:Object from G:Object
                test_object_connect_data__bleh (self, self_test_handler, NULL, NULL, 0);
                self_connect_data__bleh (self, self_test_handler, NULL, NULL, 0);
 
+               wid = NULL;
+               h = 0;
+
                /* testing multiple marshaller support */
                return 0;
        }
@@ -308,20 +351,36 @@ class Test:Object from G:Object
                return NULL;
        }
        virtual int beh(self, int h (check > 0));
-       /*override(G:Object) void add(Gtk:Container * self (check null type),
-                                        Gtk:Widget * wid (check null type)) {
+       override(Gtk:Container)
+       void add(Gtk:Container * self (check null type),
+                 Gtk:Widget * wid (check null type)) {
                PARENT_HANDLER(self,wid);
-       }*/
+       }
+
+       override(G:Object)
+       void dispatch_properties_changed (G:Object      *object,
+                                         guint    n_pspecs,
+                                         GParamSpec  **pspecs)
+       {
+               object = NULL;
+               n_pspecs = 0;
+               pspecs = NULL;
+               /* EKI! */
+       }
+
        public int consttest(self, const gchar *text, ...)
        {
+               text = NULL;
                return 25;
        }
        public int consttest2(self, gchar const *text, ...)
        {
+               text = NULL;
                return 25;
        }
        public int consttest3(self, G:Object const *wid (check null type))
        {
+               wid = NULL;
                return 25;
        }
        public int consttest4(const self)
@@ -349,10 +408,14 @@ class Test:Object from G:Object
        }
        public int consttest9(const self, int i, double b)
        {
+               b = 0.0;
+               i = 0;
                return 25;
        }
        public int consttest10(self const, int i, double b)
        {
+               b = 0.0;
+               i = 0;
                return 25;
        }
        signal private first NONE (NONE)
@@ -394,26 +457,32 @@ class Test:Object from G:Object
        {
                puts("TEST3");
                self_googlegoogle(self);
+               if (some_array[0]) return;
        }
        private virtual
        void testprivvirtual2(self, const int some_array[5][8][9])
        {
                /* nothing here */
+               if (some_array[0]) return;
        }
        public virtual
        void testpublicvirtual(self, int const some_array[5][8][9])
        {
                /* nothing here */
+               if (some_array[0]) return;
        }
        protected virtual
        void testprotectedvirtual(self, int some_array[5][8][9])
        {
                /* nothing here */
+               if (some_array[0]) return;
        }
-       signal first NONE (POINTER)
-       void testarrsignal(self, long arr[8])
+       signal first NONE (POINTER, ENUM)
+       void testarrsignal(self, long arr[8], Buble:Enum foo)
        {
                /* foo */
+               arr[0] = 1;
+               foo = BUBLE_KEIN;
        }
 
        /* testing empty func */
@@ -457,12 +526,16 @@ class Test:Object from G:Object
        }
 
        signal last NONE(CHAR,UCHAR,BOOLEAN,INT,UINT,LONG,ULONG,FLOAT,DOUBLE,
-                        STRING,ENUM,FLAGS,BOXED,POINTER,OBJECT)
+                        STRING,ENUM,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, GObject *p)
+                gpointer o, GObject *p)
        {
+               h = i = k = 0;
+               a = b = c = d = e = f = g = 0;
+               o = p = (GObject *)NULL;
+               j = (char *)NULL;
                /* ugh, testing casting */
        }
 
@@ -480,6 +553,15 @@ class Test:Object from G:Object
                return FALSE;
        }
 
+       /* some more enum testing */
+       public BubleEnum buble;
+        property ENUM buble
+                (nick = "Buble",
+                 blurb = "Buble",
+                 enum_type = Buble:Enum,
+                 default_value = BUBLE_STANDARD,
+                 link, export);
+
        /* testing types */
        public int t1;
        public long int t2;