forked from AuroraMiddleware/gtk
Add default class implementation of gtk_widget_get_request_mode().
Instead of checking if klass->get_request_mode is != NULL from the gtk_widget_get_request_mode() api, this allows classes to trust that there is a default implementation and chain up (specifically added this for gtkmm wrapper objects).
This commit is contained in:
parent
ea6e57412f
commit
5a5854f6f6
@ -370,16 +370,9 @@ compute_size_for_orientation (GtkWidget *widget,
|
||||
GtkSizeRequestMode
|
||||
gtk_widget_get_request_mode (GtkWidget *widget)
|
||||
{
|
||||
GtkWidgetClass *klass;
|
||||
|
||||
g_return_val_if_fail (GTK_IS_WIDGET (widget), GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH);
|
||||
|
||||
klass = GTK_WIDGET_GET_CLASS (widget);
|
||||
if (klass->get_request_mode)
|
||||
return klass->get_request_mode (widget);
|
||||
|
||||
/* By default widgets are height-for-width. */
|
||||
return GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH;
|
||||
return GTK_WIDGET_GET_CLASS (widget)->get_request_mode (widget);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -634,6 +634,7 @@ static void gtk_widget_buildable_custom_finished (GtkBuildable
|
||||
static void gtk_widget_buildable_parser_finished (GtkBuildable *buildable,
|
||||
GtkBuilder *builder);
|
||||
|
||||
static GtkSizeRequestMode gtk_widget_real_get_request_mode (GtkWidget *widget);
|
||||
static void gtk_widget_real_get_width (GtkWidget *widget,
|
||||
gint *minimum_size,
|
||||
gint *natural_size);
|
||||
@ -834,6 +835,7 @@ gtk_widget_class_init (GtkWidgetClass *klass)
|
||||
klass->realize = gtk_widget_real_realize;
|
||||
klass->unrealize = gtk_widget_real_unrealize;
|
||||
klass->size_allocate = gtk_widget_real_size_allocate;
|
||||
klass->get_request_mode = gtk_widget_real_get_request_mode;
|
||||
klass->get_preferred_width = gtk_widget_real_get_width;
|
||||
klass->get_preferred_height = gtk_widget_real_get_height;
|
||||
klass->get_preferred_width_for_height = gtk_widget_real_get_width_for_height;
|
||||
@ -12940,6 +12942,13 @@ gtk_widget_buildable_custom_finished (GtkBuildable *buildable,
|
||||
}
|
||||
}
|
||||
|
||||
static GtkSizeRequestMode
|
||||
gtk_widget_real_get_request_mode (GtkWidget *widget)
|
||||
{
|
||||
/* By default widgets are height-for-width. */
|
||||
return GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH;
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_widget_real_get_width (GtkWidget *widget,
|
||||
gint *minimum_size,
|
||||
|
Loading…
Reference in New Issue
Block a user