21#include <glib-object.h>
27QList< RefPointer<T> > arrayToList(
typename T::CType **array, uint n)
29 QList< RefPointer<T> > result;
30 for(uint i = 0; i<n; ++i) {
41 GObjectClass *klass = G_OBJECT_CLASS(g_type_class_ref(Type::fromInstance(object<void>())));
42 GParamSpec *param = g_object_class_find_property(klass, name);
43 g_type_class_unref(klass);
53 GObjectClass *klass = G_OBJECT_CLASS(g_type_class_ref(Type::fromInstance(object<void>())));
55 GParamSpec **param = g_object_class_list_properties(klass, &n);
56 g_type_class_unref(klass);
57 QList<ParamSpecPtr> result = QGlib::Private::arrayToList<ParamSpec>(param, n);
66 if (param && (param->flags() & ParamSpec::Readable)) {
67 result.
init(param->valueType());
68 g_object_get_property(object<GObject>(), name, result);
75 g_object_set_property(object<GObject>(), name, value);
78void *ObjectBase::data(
const char *key)
const
80 return g_object_get_data(object<GObject>(), key);
83void *ObjectBase::stealData(
const char *key)
const
85 return g_object_steal_data(object<GObject>(), key);
88void ObjectBase::setData(
const char *key,
void *data,
void (*destroyCallback)(
void*))
90 g_object_set_data_full(object<GObject>(), key, data, destroyCallback);
93void *ObjectBase::quarkData(
const Quark & quark)
const
95 return g_object_get_qdata(object<GObject>(), quark);
98void *ObjectBase::stealQuarkData(
const Quark & quark)
const
100 return g_object_steal_qdata(object<GObject>(), quark);
103void ObjectBase::setQuarkData(
const Quark & quark,
void *data,
void (*destroyCallback)(
void*))
105 g_object_set_qdata_full(object<GObject>(), quark, data, destroyCallback);
108void ObjectBase::ref(
bool increaseRef)
111 g_object_ref(m_object);
115void ObjectBase::unref()
117 g_object_unref(m_object);
Value property(const char *name) const
ParamSpecPtr findProperty(const char *name) const
void setProperty(const char *name, const T &value)
QList< ParamSpecPtr > listProperties() const
Smart pointer class for working with wrapper classes that support reference counting.
static RefPointer< T > wrap(typename T::CType *nativePtr, bool increaseRef=true)
Wrapper class for GValue.
Wrappers for Glib and GObject classes.