X-Git-Url: http://git.draconx.ca/gitweb/gob-dx.git/blobdiff_plain/38fac18bf81df672821ebbac4130ce41f0a6c61f..b3db2950b11fc5f3abd9ecdae855746e2d19c836:/src/test.gob diff --git a/src/test.gob b/src/test.gob index 67f25cf..8146a72 100644 --- a/src/test.gob +++ b/src/test.gob @@ -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 */ @@ -108,9 +113,13 @@ class Test:Object from G:Object argument POINTER testingstring stringlink; public Test:Object * testingobj - destroywith g_object_unref; + unrefwith g_object_unref; argument POINTER testingobj objectlink; + public Test:Object * testingobjfoo + unref { if (VAR) g_object_unref (VAR); }; + argument POINTER testingobjfoo objectlink; + classwide int foo = 20; argument INT foo link; @@ -142,6 +151,27 @@ class Test:Object from G:Object set { self->_priv->a_property = g_value_get_char (VAL); } get { g_value_set_char (VAL, self->_priv->a_property); }; + property OBJECT foobarblahllll1 + (nick = "xxxxxxx1", + blurb = "yyyyyy", + object_type = Gtk:Button) + get { /* FOO1 */ }; + property OBJECT foobarblahllll2 + (nick = "xxxxxxx2", + blurb = "yyyyyy", + object_type = G:Object) + set { /* FOO2 */ }; + + private double dblnum; + property DOUBLE dblnum + (nick = _("dblnum"), + blurb = _("dblnum"), + minimum = 0.1, + maximum = 99.1, + default_value = 0.3, + flags = CONSTRUCT|CONSTRUCT_ONLY, + export, + link); private char *b_property; property STRING b_property @@ -153,6 +183,36 @@ class Test:Object from G:Object export, link); + private Test:Object *objectproperty; + property OBJECT objectproperty (nick = "object", + blurb = "obj property", + object_type = Test:Object, + link); + + private Test:Enum enum_property; + property ENUM enum_property (nick = "enumprop", + blurb = "enumprop", + enum_type = Test:Enum, + link); + + private Some:Flags flags_property; + property ENUM 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 int j; public GObject * h; @@ -415,11 +475,11 @@ 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) { /* ugh, testing casting */ }