import gobject
class MyObject(gobject.GObject):
foo = gobject.property(type=str, default='bar')
boolprop = gobject.property(type=bool, default=False)
def __init__(self):
gobject.GObject.__init__(self)
@gobject.property
def readonly(self):
return 'readonly'
gobject.type_register(MyObject)
print "MyObject properties: ", list(MyObject.props)
obj = MyObject()
print "obj.foo ==", obj.foo
obj.foo = 'spam'
print "obj.foo = spam"
print "obj.foo == ", obj.foo
print "obj.boolprop == ", obj.boolprop
print obj.readonly
obj.readonly = 'does-not-work'