summaryrefslogtreecommitdiff
path: root/gtk/gtkstatusbar.c
diff options
context:
space:
mode:
authorJavier Jardón <jjardon@gnome.org>2010-07-13 01:46:15 +0200
committerJavier Jardón <jjardon@gnome.org>2010-07-13 19:40:50 +0200
commit9114c4c41074f017d901d38da8b0801c815e4c73 (patch)
tree2e8f7f84fff544c509298c14913842365799b351 /gtk/gtkstatusbar.c
parentbf976cc1e4d3d48e1538f12ac4833398e5c3961b (diff)
downloadgtk+-9114c4c41074f017d901d38da8b0801c815e4c73.tar.gz
gtkstatusbar: Move public members to private structure
Diffstat (limited to 'gtk/gtkstatusbar.c')
-rw-r--r--gtk/gtkstatusbar.c280
1 files changed, 168 insertions, 112 deletions
diff --git a/gtk/gtkstatusbar.c b/gtk/gtkstatusbar.c
index 9ef872735c..350a034e6c 100644
--- a/gtk/gtkstatusbar.c
+++ b/gtk/gtkstatusbar.c
@@ -75,6 +75,23 @@
*/
typedef struct _GtkStatusbarMsg GtkStatusbarMsg;
+struct _GtkStatusbarPriv
+{
+ GtkWidget *frame;
+ GtkWidget *label;
+
+ GdkWindow *grip_window;
+
+ GSList *messages;
+ GSList *keys;
+
+ guint seq_context_id;
+ guint seq_message_id;
+
+ guint has_resize_grip : 1;
+};
+
+
struct _GtkStatusbarMsg
{
gchar *text;
@@ -232,48 +249,54 @@ gtk_statusbar_class_init (GtkStatusbarClass *class)
GTK_TYPE_SHADOW_TYPE,
GTK_SHADOW_IN,
GTK_PARAM_READABLE));
+
+ g_type_class_add_private (class, sizeof (GtkStatusbarPriv));
}
static void
gtk_statusbar_init (GtkStatusbar *statusbar)
{
- GtkBox *box;
+ GtkStatusbarPriv *priv;
+ GtkBox *box = GTK_BOX (statusbar);
GtkWidget *message_area;
GtkShadowType shadow_type;
-
- box = GTK_BOX (statusbar);
+
+ statusbar->priv = G_TYPE_INSTANCE_GET_PRIVATE (statusbar,
+ GTK_TYPE_STATUSBAR,
+ GtkStatusbarPriv);
+ priv = statusbar->priv;
gtk_widget_set_redraw_on_allocate (GTK_WIDGET (box), TRUE);
gtk_box_set_spacing (box, 2);
gtk_box_set_homogeneous (box, FALSE);
- statusbar->has_resize_grip = TRUE;
+ priv->has_resize_grip = TRUE;
gtk_widget_style_get (GTK_WIDGET (statusbar), "shadow-type", &shadow_type, NULL);
-
- statusbar->frame = gtk_frame_new (NULL);
- gtk_frame_set_shadow_type (GTK_FRAME (statusbar->frame), shadow_type);
- gtk_box_pack_start (box, statusbar->frame, TRUE, TRUE, 0);
- gtk_widget_show (statusbar->frame);
+
+ priv->frame = gtk_frame_new (NULL);
+ gtk_frame_set_shadow_type (GTK_FRAME (priv->frame), shadow_type);
+ gtk_box_pack_start (box, priv->frame, TRUE, TRUE, 0);
+ gtk_widget_show (priv->frame);
message_area = gtk_hbox_new (FALSE, 4);
- gtk_container_add (GTK_CONTAINER (statusbar->frame), message_area);
+ gtk_container_add (GTK_CONTAINER (priv->frame), message_area);
gtk_widget_show (message_area);
- statusbar->label = gtk_label_new ("");
- gtk_label_set_single_line_mode (GTK_LABEL (statusbar->label), TRUE);
- gtk_misc_set_alignment (GTK_MISC (statusbar->label), 0.0, 0.5);
- g_signal_connect (statusbar->label, "notify::selectable",
+ priv->label = gtk_label_new ("");
+ gtk_label_set_single_line_mode (GTK_LABEL (priv->label), TRUE);
+ gtk_misc_set_alignment (GTK_MISC (priv->label), 0.0, 0.5);
+ g_signal_connect (priv->label, "notify::selectable",
G_CALLBACK (label_selectable_changed), statusbar);
- gtk_label_set_ellipsize (GTK_LABEL (statusbar->label), PANGO_ELLIPSIZE_END);
- gtk_container_add (GTK_CONTAINER (message_area), statusbar->label);
- gtk_widget_show (statusbar->label);
-
- statusbar->seq_context_id = 1;
- statusbar->seq_message_id = 1;
- statusbar->messages = NULL;
- statusbar->keys = NULL;
+ gtk_label_set_ellipsize (GTK_LABEL (priv->label), PANGO_ELLIPSIZE_END);
+ gtk_container_add (GTK_CONTAINER (message_area), priv->label);
+ gtk_widget_show (priv->label);
+
+ priv->seq_context_id = 1;
+ priv->seq_message_id = 1;
+ priv->messages = NULL;
+ priv->keys = NULL;
}
static GtkBuildableIface *parent_buildable_iface;
@@ -290,8 +313,11 @@ gtk_statusbar_buildable_get_internal_child (GtkBuildable *buildable,
GtkBuilder *builder,
const gchar *childname)
{
+ GtkStatusbar *statusbar = GTK_STATUSBAR (buildable);
+ GtkStatusbarPriv *priv = statusbar->priv;
+
if (strcmp (childname, "message_area") == 0)
- return G_OBJECT (gtk_bin_get_child (GTK_BIN (GTK_STATUSBAR (buildable)->frame)));
+ return G_OBJECT (gtk_bin_get_child (GTK_BIN (priv->frame)));
return parent_buildable_iface->get_internal_child (buildable,
builder,
@@ -316,12 +342,16 @@ gtk_statusbar_update (GtkStatusbar *statusbar,
guint context_id,
const gchar *text)
{
+ GtkStatusbarPriv *priv;
+
g_return_if_fail (GTK_IS_STATUSBAR (statusbar));
+ priv = statusbar->priv;
+
if (!text)
text = "";
- gtk_label_set_text (GTK_LABEL (statusbar->label), text);
+ gtk_label_set_text (GTK_LABEL (priv->label), text);
}
/**
@@ -340,21 +370,24 @@ guint
gtk_statusbar_get_context_id (GtkStatusbar *statusbar,
const gchar *context_description)
{
+ GtkStatusbarPriv *priv;
gchar *string;
guint id;
g_return_val_if_fail (GTK_IS_STATUSBAR (statusbar), 0);
g_return_val_if_fail (context_description != NULL, 0);
+ priv = statusbar->priv;
+
/* we need to preserve namespaces on object datas */
string = g_strconcat ("gtk-status-bar-context:", context_description, NULL);
id = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (statusbar), string));
if (id == 0)
{
- id = statusbar->seq_context_id++;
+ id = priv->seq_context_id++;
g_object_set_data_full (G_OBJECT (statusbar), string, GUINT_TO_POINTER (id), NULL);
- statusbar->keys = g_slist_prepend (statusbar->keys, string);
+ priv->keys = g_slist_prepend (priv->keys, string);
}
else
g_free (string);
@@ -379,17 +412,20 @@ gtk_statusbar_push (GtkStatusbar *statusbar,
guint context_id,
const gchar *text)
{
+ GtkStatusbarPriv *priv;
GtkStatusbarMsg *msg;
g_return_val_if_fail (GTK_IS_STATUSBAR (statusbar), 0);
g_return_val_if_fail (text != NULL, 0);
+ priv = statusbar->priv;
+
msg = g_slice_new (GtkStatusbarMsg);
msg->text = g_strdup (text);
msg->context_id = context_id;
- msg->message_id = statusbar->seq_message_id++;
+ msg->message_id = priv->seq_message_id++;
- statusbar->messages = g_slist_prepend (statusbar->messages, msg);
+ priv->messages = g_slist_prepend (priv->messages, msg);
g_signal_emit (statusbar,
statusbar_signals[SIGNAL_TEXT_PUSHED],
@@ -416,21 +452,24 @@ void
gtk_statusbar_pop (GtkStatusbar *statusbar,
guint context_id)
{
+ GtkStatusbarPriv *priv;
GtkStatusbarMsg *msg;
g_return_if_fail (GTK_IS_STATUSBAR (statusbar));
- if (statusbar->messages)
+ priv = statusbar->priv;
+
+ if (priv->messages)
{
GSList *list;
- for (list = statusbar->messages; list; list = list->next)
+ for (list = priv->messages; list; list = list->next)
{
msg = list->data;
if (msg->context_id == context_id)
{
- statusbar->messages = g_slist_remove_link (statusbar->messages,
+ priv->messages = g_slist_remove_link (priv->messages,
list);
g_free (msg->text);
g_slice_free (GtkStatusbarMsg, msg);
@@ -440,7 +479,7 @@ gtk_statusbar_pop (GtkStatusbar *statusbar,
}
}
- msg = statusbar->messages ? statusbar->messages->data : NULL;
+ msg = priv->messages ? priv->messages->data : NULL;
g_signal_emit (statusbar,
statusbar_signals[SIGNAL_TEXT_POPPED],
@@ -463,12 +502,15 @@ gtk_statusbar_remove (GtkStatusbar *statusbar,
guint context_id,
guint message_id)
{
+ GtkStatusbarPriv *priv;
GtkStatusbarMsg *msg;
g_return_if_fail (GTK_IS_STATUSBAR (statusbar));
g_return_if_fail (message_id > 0);
- msg = statusbar->messages ? statusbar->messages->data : NULL;
+ priv = statusbar->priv;
+
+ msg = priv->messages ? priv->messages->data : NULL;
if (msg)
{
GSList *list;
@@ -481,14 +523,14 @@ gtk_statusbar_remove (GtkStatusbar *statusbar,
return;
}
- for (list = statusbar->messages; list; list = list->next)
+ for (list = priv->messages; list; list = list->next)
{
msg = list->data;
if (msg->context_id == context_id &&
msg->message_id == message_id)
{
- statusbar->messages = g_slist_remove_link (statusbar->messages, list);
+ priv->messages = g_slist_remove_link (priv->messages, list);
g_free (msg->text);
g_slice_free (GtkStatusbarMsg, msg);
g_slist_free_1 (list);
@@ -513,15 +555,18 @@ void
gtk_statusbar_remove_all (GtkStatusbar *statusbar,
guint context_id)
{
+ GtkStatusbarPriv *priv;
GtkStatusbarMsg *msg;
GSList *prev, *list;
g_return_if_fail (GTK_IS_STATUSBAR (statusbar));
- if (statusbar->messages == NULL)
+ priv = statusbar->priv;
+
+ if (priv->messages == NULL)
return;
- msg = statusbar->messages->data;
+ msg = priv->messages->data;
/* care about signal emission if the topmost item is removed */
if (msg->context_id == context_id)
@@ -529,11 +574,11 @@ gtk_statusbar_remove_all (GtkStatusbar *statusbar,
gtk_statusbar_pop (statusbar, context_id);
prev = NULL;
- list = statusbar->messages;
+ list = priv->messages;
}
else
{
- prev = statusbar->messages;
+ prev = priv->messages;
list = prev->next;
}
@@ -544,7 +589,7 @@ gtk_statusbar_remove_all (GtkStatusbar *statusbar,
if (msg->context_id == context_id)
{
if (prev == NULL)
- statusbar->messages = list->next;
+ priv->messages = list->next;
else
prev->next = list->next;
@@ -553,7 +598,7 @@ gtk_statusbar_remove_all (GtkStatusbar *statusbar,
g_slist_free_1 (list);
if (prev == NULL)
- prev = statusbar->messages;
+ prev = priv->messages;
list = prev->next;
}
@@ -577,25 +622,29 @@ void
gtk_statusbar_set_has_resize_grip (GtkStatusbar *statusbar,
gboolean setting)
{
+ GtkStatusbarPriv *priv;
+
g_return_if_fail (GTK_IS_STATUSBAR (statusbar));
+ priv = statusbar->priv;
+
setting = setting != FALSE;
- if (setting != statusbar->has_resize_grip)
+ if (setting != priv->has_resize_grip)
{
- statusbar->has_resize_grip = setting;
- gtk_widget_queue_resize (statusbar->label);
+ priv->has_resize_grip = setting;
+ gtk_widget_queue_resize (priv->label);
gtk_widget_queue_draw (GTK_WIDGET (statusbar));
if (gtk_widget_get_realized (GTK_WIDGET (statusbar)))
{
- if (statusbar->has_resize_grip && statusbar->grip_window == NULL)
+ if (priv->has_resize_grip && priv->grip_window == NULL)
{
gtk_statusbar_create_window (statusbar);
if (gtk_widget_get_mapped (GTK_WIDGET (statusbar)))
- gdk_window_show (statusbar->grip_window);
+ gdk_window_show (priv->grip_window);
}
- else if (!statusbar->has_resize_grip && statusbar->grip_window != NULL)
+ else if (!priv->has_resize_grip && priv->grip_window != NULL)
gtk_statusbar_destroy_window (statusbar);
}
@@ -616,7 +665,7 @@ gtk_statusbar_get_has_resize_grip (GtkStatusbar *statusbar)
{
g_return_val_if_fail (GTK_IS_STATUSBAR (statusbar), FALSE);
- return statusbar->has_resize_grip;
+ return statusbar->priv->has_resize_grip;
}
/**
@@ -632,18 +681,23 @@ gtk_statusbar_get_has_resize_grip (GtkStatusbar *statusbar)
GtkWidget*
gtk_statusbar_get_message_area (GtkStatusbar *statusbar)
{
+ GtkStatusbarPriv *priv;
+
g_return_val_if_fail (GTK_IS_STATUSBAR (statusbar), NULL);
- return gtk_bin_get_child (GTK_BIN (statusbar->frame));
+ priv = statusbar->priv;
+
+ return gtk_bin_get_child (GTK_BIN (priv->frame));
}
static void
gtk_statusbar_destroy (GtkObject *object)
{
GtkStatusbar *statusbar = GTK_STATUSBAR (object);
+ GtkStatusbarPriv *priv = statusbar->priv;
GSList *list;
- for (list = statusbar->messages; list; list = list->next)
+ for (list = priv->messages; list; list = list->next)
{
GtkStatusbarMsg *msg;
@@ -651,13 +705,13 @@ gtk_statusbar_destroy (GtkObject *object)
g_free (msg->text);
g_slice_free (GtkStatusbarMsg, msg);
}
- g_slist_free (statusbar->messages);
- statusbar->messages = NULL;
+ g_slist_free (priv->messages);
+ priv->messages = NULL;
- for (list = statusbar->keys; list; list = list->next)
+ for (list = priv->keys; list; list = list->next)
g_free (list->data);
- g_slist_free (statusbar->keys);
- statusbar->keys = NULL;
+ g_slist_free (priv->keys);
+ priv->keys = NULL;
GTK_OBJECT_CLASS (gtk_statusbar_parent_class)->destroy (object);
}
@@ -688,11 +742,12 @@ gtk_statusbar_get_property (GObject *object,
GParamSpec *pspec)
{
GtkStatusbar *statusbar = GTK_STATUSBAR (object);
-
+ GtkStatusbarPriv *priv = statusbar->priv;
+
switch (prop_id)
{
case PROP_HAS_RESIZE_GRIP:
- g_value_set_boolean (value, statusbar->has_resize_grip);
+ g_value_set_boolean (value, priv->has_resize_grip);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -743,7 +798,9 @@ get_grip_rect (GtkStatusbar *statusbar,
static void
set_grip_cursor (GtkStatusbar *statusbar)
{
- if (statusbar->has_resize_grip && statusbar->grip_window != NULL)
+ GtkStatusbarPriv *priv = statusbar->priv;
+
+ if (priv->has_resize_grip && priv->grip_window != NULL)
{
GtkWidget *widget = GTK_WIDGET (statusbar);
GdkDisplay *display = gtk_widget_get_display (widget);
@@ -758,11 +815,11 @@ set_grip_cursor (GtkStatusbar *statusbar)
cursor_type = GDK_BOTTOM_LEFT_CORNER;
cursor = gdk_cursor_new_for_display (display, cursor_type);
- gdk_window_set_cursor (statusbar->grip_window, cursor);
+ gdk_window_set_cursor (priv->grip_window, cursor);
gdk_cursor_unref (cursor);
}
else
- gdk_window_set_cursor (statusbar->grip_window, NULL);
+ gdk_window_set_cursor (priv->grip_window, NULL);
}
}
@@ -770,6 +827,7 @@ static void
gtk_statusbar_create_window (GtkStatusbar *statusbar)
{
GtkWidget *widget;
+ GtkStatusbarPriv *priv = statusbar->priv;
GdkWindowAttr attributes;
gint attributes_mask;
GdkRectangle rect;
@@ -777,7 +835,7 @@ gtk_statusbar_create_window (GtkStatusbar *statusbar)
widget = GTK_WIDGET (statusbar);
g_return_if_fail (gtk_widget_get_realized (widget));
- g_return_if_fail (statusbar->has_resize_grip);
+ g_return_if_fail (priv->has_resize_grip);
get_grip_rect (statusbar, &rect);
@@ -792,12 +850,12 @@ gtk_statusbar_create_window (GtkStatusbar *statusbar)
attributes_mask = GDK_WA_X | GDK_WA_Y;
- statusbar->grip_window = gdk_window_new (widget->window,
+ priv->grip_window = gdk_window_new (widget->window,
&attributes, attributes_mask);
- gdk_window_set_user_data (statusbar->grip_window, widget);
+ gdk_window_set_user_data (priv->grip_window, widget);
- gdk_window_raise (statusbar->grip_window);
+ gdk_window_raise (priv->grip_window);
set_grip_cursor (statusbar);
}
@@ -823,32 +881,32 @@ gtk_statusbar_state_changed (GtkWidget *widget,
static void
gtk_statusbar_destroy_window (GtkStatusbar *statusbar)
{
- gdk_window_set_user_data (statusbar->grip_window, NULL);
- gdk_window_destroy (statusbar->grip_window);
- statusbar->grip_window = NULL;
+ GtkStatusbarPriv *priv = statusbar->priv;
+
+ gdk_window_set_user_data (priv->grip_window, NULL);
+ gdk_window_destroy (priv->grip_window);
+ priv->grip_window = NULL;
}
static void
gtk_statusbar_realize (GtkWidget *widget)
{
- GtkStatusbar *statusbar;
-
- statusbar = GTK_STATUSBAR (widget);
+ GtkStatusbar *statusbar = GTK_STATUSBAR (widget);
+ GtkStatusbarPriv *priv = statusbar->priv;
GTK_WIDGET_CLASS (gtk_statusbar_parent_class)->realize (widget);
- if (statusbar->has_resize_grip)
+ if (priv->has_resize_grip)
gtk_statusbar_create_window (statusbar);
}
static void
gtk_statusbar_unrealize (GtkWidget *widget)
{
- GtkStatusbar *statusbar;
-
- statusbar = GTK_STATUSBAR (widget);
+ GtkStatusbar *statusbar = GTK_STATUSBAR (widget);
+ GtkStatusbarPriv *priv = statusbar->priv;
- if (statusbar->grip_window)
+ if (priv->grip_window)
gtk_statusbar_destroy_window (statusbar);
GTK_WIDGET_CLASS (gtk_statusbar_parent_class)->unrealize (widget);
@@ -857,25 +915,23 @@ gtk_statusbar_unrealize (GtkWidget *widget)
static void
gtk_statusbar_map (GtkWidget *widget)
{
- GtkStatusbar *statusbar;
-
- statusbar = GTK_STATUSBAR (widget);
+ GtkStatusbar *statusbar = GTK_STATUSBAR (widget);
+ GtkStatusbarPriv *priv = statusbar->priv;
GTK_WIDGET_CLASS (gtk_statusbar_parent_class)->map (widget);
- if (statusbar->grip_window)
- gdk_window_show (statusbar->grip_window);
+ if (priv->grip_window)
+ gdk_window_show (priv->grip_window);
}
static void
gtk_statusbar_unmap (GtkWidget *widget)
{
- GtkStatusbar *statusbar;
-
- statusbar = GTK_STATUSBAR (widget);
+ GtkStatusbar *statusbar = GTK_STATUSBAR (widget);
+ GtkStatusbarPriv *priv = statusbar->priv;
- if (statusbar->grip_window)
- gdk_window_hide (statusbar->grip_window);
+ if (priv->grip_window)
+ gdk_window_hide (priv->grip_window);
GTK_WIDGET_CLASS (gtk_statusbar_parent_class)->unmap (widget);
}
@@ -884,15 +940,14 @@ static gboolean
gtk_statusbar_button_press (GtkWidget *widget,
GdkEventButton *event)
{
- GtkStatusbar *statusbar;
+ GtkStatusbar *statusbar = GTK_STATUSBAR (widget);
+ GtkStatusbarPriv *priv = statusbar->priv;
GtkWidget *ancestor;
GdkWindowEdge edge;
-
- statusbar = GTK_STATUSBAR (widget);
-
- if (!statusbar->has_resize_grip ||
+
+ if (!priv->has_resize_grip ||
event->type != GDK_BUTTON_PRESS ||
- event->window != statusbar->grip_window)
+ event->window != priv->grip_window)
return FALSE;
ancestor = gtk_widget_get_toplevel (widget);
@@ -923,14 +978,13 @@ static gboolean
gtk_statusbar_expose_event (GtkWidget *widget,
GdkEventExpose *event)
{
- GtkStatusbar *statusbar;
+ GtkStatusbar *statusbar = GTK_STATUSBAR (widget);
+ GtkStatusbarPriv *priv = statusbar->priv;
GdkRectangle rect;
-
- statusbar = GTK_STATUSBAR (widget);
GTK_WIDGET_CLASS (gtk_statusbar_parent_class)->expose_event (widget, event);
- if (statusbar->has_resize_grip)
+ if (priv->has_resize_grip)
{
GdkWindowEdge edge;
@@ -960,13 +1014,12 @@ static void
gtk_statusbar_size_request (GtkWidget *widget,
GtkRequisition *requisition)
{
- GtkStatusbar *statusbar;
+ GtkStatusbar *statusbar = GTK_STATUSBAR (widget);
+ GtkStatusbarPriv *priv = statusbar->priv;
GtkShadowType shadow_type;
-
- statusbar = GTK_STATUSBAR (widget);
gtk_widget_style_get (GTK_WIDGET (statusbar), "shadow-type", &shadow_type, NULL);
- gtk_frame_set_shadow_type (GTK_FRAME (statusbar->frame), shadow_type);
+ gtk_frame_set_shadow_type (GTK_FRAME (priv->frame), shadow_type);
GTK_WIDGET_CLASS (gtk_statusbar_parent_class)->size_request (widget, requisition);
}
@@ -977,11 +1030,12 @@ gtk_statusbar_size_request (GtkWidget *widget,
static gboolean
has_extra_children (GtkStatusbar *statusbar)
{
+ GtkStatusbarPriv *priv = statusbar->priv;
GList *l, *children;
GtkBoxChild *child, *frame;
/* If the internal frame has been modified assume we have extra children */
- if (gtk_bin_get_child (GTK_BIN (statusbar->frame)) != statusbar->label)
+ if (gtk_bin_get_child (GTK_BIN (priv->frame)) != priv->label)
return TRUE;
frame = NULL;
@@ -990,7 +1044,7 @@ has_extra_children (GtkStatusbar *statusbar)
{
frame = l->data;
- if (frame->widget == statusbar->frame)
+ if (frame->widget == priv->frame)
break;
}
@@ -1015,10 +1069,11 @@ gtk_statusbar_size_allocate (GtkWidget *widget,
GtkAllocation *allocation)
{
GtkStatusbar *statusbar = GTK_STATUSBAR (widget);
+ GtkStatusbarPriv *priv = statusbar->priv;
gboolean extra_children = FALSE;
GdkRectangle rect;
- if (statusbar->has_resize_grip)
+ if (priv->has_resize_grip)
{
get_grip_rect (statusbar, &rect);
@@ -1042,7 +1097,7 @@ gtk_statusbar_size_allocate (GtkWidget *widget,
/* chain up normally */
GTK_WIDGET_CLASS (gtk_statusbar_parent_class)->size_allocate (widget, allocation);
- if (statusbar->has_resize_grip)
+ if (priv->has_resize_grip)
{
if (extra_children)
{
@@ -1056,13 +1111,13 @@ gtk_statusbar_size_allocate (GtkWidget *widget,
{
GtkWidget *child;
- /* Use the frame's child instead of statusbar->label directly, in case
+ /* Use the frame's child instead of priv->label directly, in case
* the label has been replaced by a container as the frame's child
* (and the label reparented into that container).
*/
- child = gtk_bin_get_child (GTK_BIN (statusbar->frame));
+ child = gtk_bin_get_child (GTK_BIN (priv->frame));
- if (child->allocation.width + rect.width > statusbar->frame->allocation.width)
+ if (child->allocation.width + rect.width > priv->frame->allocation.width)
{
/* shrink the label to make room for the grip */
*allocation = child->allocation;
@@ -1074,12 +1129,12 @@ gtk_statusbar_size_allocate (GtkWidget *widget,
}
}
- if (statusbar->grip_window)
+ if (priv->grip_window)
{
get_grip_rect (statusbar, &rect);
- gdk_window_raise (statusbar->grip_window);
- gdk_window_move_resize (statusbar->grip_window,
+ gdk_window_raise (priv->grip_window);
+ gdk_window_move_resize (priv->grip_window,
rect.x, rect.y,
rect.width, rect.height);
}
@@ -1093,8 +1148,9 @@ label_selectable_changed (GtkWidget *label,
gpointer data)
{
GtkStatusbar *statusbar = GTK_STATUSBAR (data);
+ GtkStatusbarPriv *priv = statusbar->priv;
- if (statusbar &&
- statusbar->has_resize_grip && statusbar->grip_window)
- gdk_window_raise (statusbar->grip_window);
+ if (statusbar &&
+ priv->has_resize_grip && priv->grip_window)
+ gdk_window_raise (priv->grip_window);
}