[pygtk] New constructor style in PyGTK 2.8
Jacob Kroon
jacob.kroon at gmail.com
Thu Mar 23 23:31:02 WST 2006
Jacob Kroon wrote:
> Gustavo J. A. M. Carneiro wrote:
>> On Qui, 2006-03-23 at 15:30 +0100, Jacob Kroon wrote:
>>
>>> Hi,
>>>
>>> I'm converting my defs file to use the new constructor style in
>>> pygtk 2.8, I have read
>>>
>>> http://live.gnome.org/PyGTK/WhatsNew28#update-constructors
>>>
>>> and have run into some questons:
>>>
>>> 1. Is ok to leave out the "new-constructor foo_bar_type" fields in
>>> the override file ? It seems to work fine anyway.
>>>
>>
>> If you omit "new-constructor foo_bar_type" you'll get into trouble
>> when trying to do use constructor properties, like gobject.new(FooBar,
>> prop_foo=123). You really shouldn't omit it.
>>
>>
>>> 2. In the defs file I've simply put:
>>> ...
>>> (properties
>>> ("arg1" "arg1")
>>> ("arg2" "arg2")
>>> )
>>>
>>> and this also seems to work. Are there any special reasons for
>>> using (argname="xxx") like the website explains ?
>>>
>>
>> I'm not sure what ("arg1" "arg1") does, probably the second "arg1" is
>> simply ignored. In any case, (argname="xxx") is optional. We needed
>> that in pygtk itself in order to preserve API compatibility. If you
>> don't need to preserve API, or if the property name is the same as the
>> parameter name, you can leave it out.
>>
>>
> Ok I think I understand then, thanks.
>
The generated code looks exactly the same though, wether I omit the
"new-constructor" lines, or put them in there...
(just to be clear, I made a type previously, i guess it should be
"new-constructor FOO_TYPE_BAR")
--Jacob
More information about the pygtk
mailing list