Re: Glib::Object::Subclass and properties
- From: Torsten Schoenfeld <kaffeetisch gmx de>
- To: gtk-perl-list gnome org
- Subject: Re: Glib::Object::Subclass and properties
- Date: Sun, 20 Nov 2011 00:34:43 +0100
On 17.11.2011 12:59, Martin Schlemmer wrote:
I have a Glib::Object::Subclass derived class, with a
Glib::ParamSpec->boolean() property named 'symbols' that has a
default value of TRUE. If I try to access it via $self->{symbols}, it
does not exist. If I however do a $self->set( symbols =>
$self->get('symbols') ) it does exist ...
Feature or bug?
Well, I'd say it's an implementation detail that leaked.
If you don't overwrite them, G:O:Subclass gives you default
implementations of the GET_PROPERTY and SET_PROPERTY vfuncs that
retrieve/store property values inside the object hash. (See 'perldoc
Glib::Object::Subclass' for more details.) But if you haven't called
set() yet, then nothing will be stored in the object hash. You could
argue that G:O:Subclass should make sure that the value in the hash is
initially set to the default value if there is one. But that doesn't
sound too robust. So I think you, as the class implementor, should
handle initializing these values yourself.
Or you could just always go through get()/set() instead of direct hash
access.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]