- set_grip_cursor (statusbar);
-}
-
-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;
-}
-
-static void
-gtk_statusbar_realize (GtkWidget *widget)
-{
- GtkStatusbar *statusbar;
-
- statusbar = GTK_STATUSBAR (widget);
-
- (* GTK_WIDGET_CLASS (gtk_statusbar_parent_class)->realize) (widget);
-
- if (statusbar->has_resize_grip)
- gtk_statusbar_create_window (statusbar);
-}
-
-static void
-gtk_statusbar_unrealize (GtkWidget *widget)
-{
- GtkStatusbar *statusbar;
-
- statusbar = GTK_STATUSBAR (widget);
-
- if (statusbar->grip_window)
- gtk_statusbar_destroy_window (statusbar);
-
- (* GTK_WIDGET_CLASS (gtk_statusbar_parent_class)->unrealize) (widget);
-}
-
-static void
-gtk_statusbar_map (GtkWidget *widget)
-{
- GtkStatusbar *statusbar;
-
- statusbar = GTK_STATUSBAR (widget);
-
- (* GTK_WIDGET_CLASS (gtk_statusbar_parent_class)->map) (widget);
-
- if (statusbar->grip_window)
- gdk_window_show (statusbar->grip_window);
-}
-
-static void
-gtk_statusbar_unmap (GtkWidget *widget)
-{
- GtkStatusbar *statusbar;
-
- statusbar = GTK_STATUSBAR (widget);
-
- if (statusbar->grip_window)
- gdk_window_hide (statusbar->grip_window);
-
- (* GTK_WIDGET_CLASS (gtk_statusbar_parent_class)->unmap) (widget);
-}
-
-static gboolean
-gtk_statusbar_button_press (GtkWidget *widget,
- GdkEventButton *event)
-{
- GtkStatusbar *statusbar;
- GtkWidget *ancestor;
- GdkWindowEdge edge;
-
- statusbar = GTK_STATUSBAR (widget);
-
- if (!statusbar->has_resize_grip ||
- event->type != GDK_BUTTON_PRESS ||
- event->window != statusbar->grip_window)
- return FALSE;
-
- ancestor = gtk_widget_get_toplevel (widget);
-
- if (!GTK_IS_WINDOW (ancestor))
- return FALSE;
-
- edge = get_grip_edge (statusbar);
-
- if (event->button == 1)
- gtk_window_begin_resize_drag (GTK_WINDOW (ancestor),
- edge,
- event->button,
- event->x_root, event->y_root,
- event->time);
- else if (event->button == 2)
- gtk_window_begin_move_drag (GTK_WINDOW (ancestor),
- event->button,
- event->x_root, event->y_root,
- event->time);
- else
- return FALSE;
-
- return TRUE;
-}
-
-static gboolean
-gtk_statusbar_expose_event (GtkWidget *widget,
- GdkEventExpose *event)
-{
- GtkStatusbar *statusbar;
- GdkRectangle rect;
-
- statusbar = GTK_STATUSBAR (widget);
-
- GTK_WIDGET_CLASS (gtk_statusbar_parent_class)->expose_event (widget, event);
-
- if (statusbar->has_resize_grip)
- {
- GdkWindowEdge edge;
-
- edge = get_grip_edge (statusbar);
-
- get_grip_rect (statusbar, &rect);
-
- gtk_paint_resize_grip (widget->style,
- widget->window,
- GTK_WIDGET_STATE (widget),
- &event->area,
- widget,
- "statusbar",
- edge,
- rect.x, rect.y,
- /* don't draw grip over the frame, though you
- * can click on the frame.
- */
- rect.width - widget->style->xthickness,
- rect.height - widget->style->ythickness);
- }
-
- return FALSE;
-}