GObject.ObjectClass¶
Fields¶
| Name | Type | Access | Description | 
|---|---|---|---|
| construct_properties | [ object] | r | |
| constructed | object | r | |
| constructor | object | r | |
| dispatch_properties_changed | object | r | |
| dispose | object | r | |
| finalize | object | r | |
| flags | int | r | |
| g_type_class | GObject.TypeClass | r | the parent class | 
| get_property | object | r | |
| notify | object | r | |
| pdummy | [ object] | r | |
| set_property | object | r | 
Methods¶
| find_property(property_name) | |
| install_properties(pspecs) | |
| install_property(property_id, pspec) | |
| list_properties() | |
| override_property(property_id, name) | 
Details¶
- 
class GObject.ObjectClass¶
- The class structure for the - GObject.Objecttype.- // Example of implementing a singleton using a constructor. static MySingleton *the_singleton = NULL; static GObject* my_singleton_constructor (GType type, guint n_construct_params, GObjectConstructParam *construct_params) { GObject *object; if (!the_singleton) { object = G_OBJECT_CLASS (parent_class)->constructor (type, n_construct_params, construct_params); the_singleton = MY_SINGLETON (object); } else object = g_object_ref (G_OBJECT (the_singleton)); return object; } - 
find_property(property_name)[source]¶
- Parameters: - property_name ( - str) – the name of the property to look up- Returns: - the - GObject.ParamSpecfor the property, or- Noneif the class doesn’t have a property of that name- Return type: - GObject.ParamSpec- Looks up the - GObject.ParamSpecfor a property of a class.
 - 
install_properties(pspecs)[source]¶
- Parameters: - pspecs ([ - GObject.ParamSpec]) – the- GObject.ParamSpecsarray defining the new properties- Installs new properties from an array of - GObject.ParamSpecs.- All properties should be installed during the class initializer. It is possible to install properties after that, but doing so is not recommend, and specifically, is not guaranteed to be thread-safe vs. use of properties on the same type on other threads. - The property id of each property is the index of each - GObject.ParamSpecin the pspecs array.- The property id of 0 is treated specially by - GObject.Objectand it should not be used to store a- GObject.ParamSpec.- This function should be used if you plan to use a static array of - GObject.ParamSpecsand- GObject.Object.notify_by_pspec(). For instance, this class initialization:- enum { PROP_0, PROP_FOO, PROP_BAR, N_PROPERTIES }; static GParamSpec *obj_properties[N_PROPERTIES] = { NULL, }; static void my_object_class_init (MyObjectClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); obj_properties[PROP_FOO] = g_param_spec_int ("foo", "Foo", "Foo", -1, G_MAXINT, 0, G_PARAM_READWRITE); obj_properties[PROP_BAR] = g_param_spec_string ("bar", "Bar", "Bar", NULL, G_PARAM_READWRITE); gobject_class->set_property = my_object_set_property; gobject_class->get_property = my_object_get_property; g_object_class_install_properties (gobject_class, N_PROPERTIES, obj_properties); } - allows calling - GObject.Object.notify_by_pspec() to notify of property changes:- void my_object_set_foo (MyObject *self, gint foo) { if (self->foo != foo) { self->foo = foo; g_object_notify_by_pspec (G_OBJECT (self), obj_properties[PROP_FOO]); } } - New in version 2.26. 
 - 
install_property(property_id, pspec)[source]¶
- Parameters: - property_id (int) – the id for the new property
- pspec (GObject.ParamSpec) – theGObject.ParamSpecfor the new property
 - Installs a new property. - All properties should be installed during the class initializer. It is possible to install properties after that, but doing so is not recommend, and specifically, is not guaranteed to be thread-safe vs. use of properties on the same type on other threads. - Note that it is possible to redefine a property in a derived class, by installing a property with the same name. This can be useful at times, e.g. to change the range of allowed values or the default value. 
- property_id (
 - 
list_properties()[source]¶
- Returns: - an array of - GObject.ParamSpecwhich should be freed after use- Return type: - [ - GObject.ParamSpec]- Get an array of - GObject.ParamSpecfor all properties of a class.
 - 
override_property(property_id, name)[source]¶
- Parameters: - Registers property_id as referring to a property with the name name in a parent class or in an interface implemented by self. This allows this class to “override” a property implementation in a parent class or to provide the implementation of a property from an interface. - Internally, overriding is implemented by creating a property of type - GObject.ParamSpecOverride; generally operations that query the properties of the object class, such as- GObject.ObjectClass.find_property() or- GObject.ObjectClass.list_properties() will return the overridden property. However, in one case, the construct_properties argument of the constructor virtual function, the- GObject.ParamSpecOverrideis passed instead, so that the param_id field of the- GObject.ParamSpecwill be correct. For virtually all uses, this makes no difference. If you need to get the overridden property, you can call- GObject.ParamSpec.get_redirect_target().- New in version 2.4. 
 
-