New private interface to help negotiate the default size of the widget.

Fri Feb 27 18:46:27 2004  Jonathan Blandford  <jrb@redhat.com>

        * gtk/gtkfilechooserembed.h: New private interface to help
        negotiate the default size of the widget.  Still a bit buggy, but
        better than the old behavior.

        * gtk/gtkfilechooserdefault.c: Implement the embed interface.

        * gtk/gtkfilechooserwidget.c: Proxy the embed interface.

        * gtk/gtkfilechooserdialog.c: Use the embed interface.
This commit is contained in:
Jonathan Blandford
2004-02-27 23:51:16 +00:00
committed by Jonathan Blandford
parent c5fe469c82
commit 0cfdc7fb2b
12 changed files with 507 additions and 34 deletions

View File

@ -22,6 +22,7 @@
#include "gtkfilechooserdefault.h"
#include "gtkfilechooserutils.h"
#include "gtktypebuiltins.h"
#include "gtkfilechooserembed.h"
struct _GtkFileChooserWidgetPrivate
{
@ -77,11 +78,22 @@ gtk_file_chooser_widget_get_type (void)
NULL /* interface_data */
};
static const GInterfaceInfo file_chooser_embed_info =
{
(GInterfaceInitFunc) _gtk_file_chooser_embed_delegate_iface_init, /* interface_init */
NULL, /* interface_finalize */
NULL /* interface_data */
};
file_chooser_widget_type = g_type_register_static (GTK_TYPE_VBOX, "GtkFileChooserWidget",
&file_chooser_widget_info, 0);
g_type_add_interface_static (file_chooser_widget_type,
GTK_TYPE_FILE_CHOOSER,
&file_chooser_info);
g_type_add_interface_static (file_chooser_widget_type,
GTK_TYPE_FILE_CHOOSER_EMBED,
&file_chooser_embed_info);
}
return file_chooser_widget_type;
@ -150,6 +162,9 @@ gtk_file_chooser_widget_constructor (GType type,
_gtk_file_chooser_set_delegate (GTK_FILE_CHOOSER (object),
GTK_FILE_CHOOSER (priv->impl));
_gtk_file_chooser_embed_set_delegate (GTK_FILE_CHOOSER (object),
GTK_FILE_CHOOSER (priv->impl));
gtk_widget_pop_composite_child ();