-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 1/23/2006 10:48 AM, Claudio Fontana wrote:
> Hello,
> 
> --- Matthias Clasen <[EMAIL PROTECTED]> ha
> scritto: 
> 
>> On 1/22/06, Claudio Fontana <[EMAIL PROTECTED]>
>> wrote:
>>> Hello,
>>>
>>> while extending a GtkFileChooserDialog with some
>>> custom widgets using the same hook as with any
>> other
>>> Dialog (->vbox), I noticed that GtkFileChooser
>> offers
>>> a dedicated method
>>> gtk_file_chooser_set_extra_widget().
>>>
>>> I tried using it and shows exactly the same as
>> using
>>> ->vbox.
>>>
>>> Isn't it redundant? What are the differences
>> between
>>> the two ways, and which is preferable?
>>>
>>> Thanks
>>>
>>> Claudio
>>>
>> gtk_file_chooser_set_extra_widget() is guaranteed
>> not to break
>> in future gtk releases.
> 
> thank you for your answer,
> could you explain a little more why?
> 
> vbox is documented as the general way to extend
> dialogs, and the examples use it:
> http://developer.gnome.org/doc/API/2.0/gtk/GtkDialog.html

Correct, but by accessing the vbox member of a file chooser dialog, you
are relying on a specific container hierarchy and placement of widgets
that may change from release to release.

> Why is gtk_file_chooser_set_extra_widget() function
> more guaranteed not to break in the future,

Quite simply because it *is* guaranteed by the API not to break.

> compared to struct GtkDialog?

The struct will not change, of course, as that would break API/ABI
compatibility.  However, as I said above, you cannot rely on the
specific placement and hierarchy of widgets that are inside the vbox.
Say you wanted to add a label above the folder/file list.  You'd have to
read the gtk source to figure out how the widgets are arranged, and use
the gtk_container_* and gtk_bin_* functions to access the child widgets
in a specific way in order to pack your label in the correct place.
This isn't guaranteed to work across gtk versions, as this specific way
may change.

> Is there any plan to make a replacement of GtkDialog,
> and mark current GtkDialog as deprecated?

I would think not.  There's nothing wrong with it.  In the *general*
sense, you can access the ->vbox and ->action_area members of a
GtkDialog.  However, subclasses (such as GtkFileChooserDialog) may
impose further constraints on how you should and shouldn't mess with the
member variables, as is this case.

        -brian

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (MingW32)

iD8DBQFD1Y246XyW6VEeAnsRAlgoAKC4CDe+BB7DonkuHQ4JBKECz8YaMQCg4ay3
8nFtWnZzcl0hLZ80PlhMFU4=
=mAW9
-----END PGP SIGNATURE-----
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to