On Tue, May 15, 2012 at 08:39:12AM +0200, Marc Balmer wrote: > I want to set properties of an object using the g_value_set_<type>() > functions and to cast my value (which I get from a Lua script, which > e.g. does not differentiate between integers and floats) I need to know > the type of the property. > > Ideally something like the following: > > switch (G_PARAM_SPEC_VALUE_TYPE(prop)) { > case G_TYPE_INT: > g_value_set_int(...); > break; > case G_TYPE_STRING: > g_value_set_string(...); > break; > } > > You get the idea... This works for basic types, but not for e.g. > GParamEnum, i.e. when G_PARAM_SPEC_TYPE_NAME() returns "GParamEnum", > above scheme seems not to work. There is a type G_TYPE_ENUM, but it is > not returned in case of "GParamEnum".
You need to use g_type_is_a(...) on the type obtained from G_PARAM_SPEC_TYPE_NAME(), not direct comparison to some explicit GTypes. Then it will work also with subclassable types such as enums. Yeti _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list