mirror of
https://gitlab.gnome.org/GNOME/gimp.git
synced 2025-07-03 17:33:25 +00:00
libgimpwidgets: port GimpFrame to GTK+ 3.0
This commit is contained in:
parent
df65b0bdcd
commit
566a71ba7d
1 changed files with 11 additions and 16 deletions
|
@ -54,8 +54,8 @@ static void gimp_frame_size_allocate (GtkWidget *widget,
|
|||
GtkAllocation *allocation);
|
||||
static void gimp_frame_style_set (GtkWidget *widget,
|
||||
GtkStyle *previous);
|
||||
static gboolean gimp_frame_expose_event (GtkWidget *widget,
|
||||
GdkEventExpose *event);
|
||||
static gboolean gimp_frame_draw (GtkWidget *widget,
|
||||
cairo_t *cr);
|
||||
static void gimp_frame_child_allocate (GtkFrame *frame,
|
||||
GtkAllocation *allocation);
|
||||
static void gimp_frame_label_widget_notify (GtkFrame *frame);
|
||||
|
@ -76,7 +76,7 @@ gimp_frame_class_init (GimpFrameClass *klass)
|
|||
widget_class->size_request = gimp_frame_size_request;
|
||||
widget_class->size_allocate = gimp_frame_size_allocate;
|
||||
widget_class->style_set = gimp_frame_style_set;
|
||||
widget_class->expose_event = gimp_frame_expose_event;
|
||||
widget_class->draw = gimp_frame_draw;
|
||||
|
||||
gtk_widget_class_install_style_property (widget_class,
|
||||
g_param_spec_boolean ("label-bold",
|
||||
|
@ -115,7 +115,7 @@ gimp_frame_size_request (GtkWidget *widget,
|
|||
|
||||
if (label_widget && gtk_widget_get_visible (label_widget))
|
||||
{
|
||||
gtk_widget_size_request (label_widget, requisition);
|
||||
gtk_widget_get_preferred_size (label_widget, requisition, NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -129,7 +129,7 @@ gimp_frame_size_request (GtkWidget *widget,
|
|||
{
|
||||
gint indent = gimp_frame_get_indent (widget);
|
||||
|
||||
gtk_widget_size_request (child, &child_requisition);
|
||||
gtk_widget_get_preferred_size (child, &child_requisition, NULL);
|
||||
|
||||
requisition->width = MAX (requisition->width,
|
||||
child_requisition.width + indent);
|
||||
|
@ -167,7 +167,7 @@ gimp_frame_size_allocate (GtkWidget *widget,
|
|||
|
||||
border_width = gtk_container_get_border_width (GTK_CONTAINER (widget));
|
||||
|
||||
gtk_widget_get_child_requisition (label_widget, &label_requisition);
|
||||
gtk_widget_get_preferred_size (label_widget, &label_requisition, NULL);
|
||||
|
||||
label_allocation.x = allocation->x + border_width;
|
||||
label_allocation.y = allocation->y + border_width;
|
||||
|
@ -198,7 +198,7 @@ gimp_frame_child_allocate (GtkFrame *frame,
|
|||
{
|
||||
GtkRequisition child_requisition;
|
||||
|
||||
gtk_widget_get_child_requisition (label_widget, &child_requisition);
|
||||
gtk_widget_get_preferred_size (label_widget, &child_requisition, NULL);
|
||||
spacing += child_requisition.height;
|
||||
}
|
||||
|
||||
|
@ -232,17 +232,12 @@ gimp_frame_style_set (GtkWidget *widget,
|
|||
}
|
||||
|
||||
static gboolean
|
||||
gimp_frame_expose_event (GtkWidget *widget,
|
||||
GdkEventExpose *event)
|
||||
gimp_frame_draw (GtkWidget *widget,
|
||||
cairo_t *cr)
|
||||
{
|
||||
if (gtk_widget_is_drawable (widget))
|
||||
{
|
||||
GtkWidgetClass *widget_class = g_type_class_peek_parent (parent_class);
|
||||
GtkWidgetClass *widget_class = g_type_class_peek_parent (parent_class);
|
||||
|
||||
return widget_class->expose_event (widget, event);
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
return widget_class->draw (widget, cr);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue