[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