* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
-#include <config.h>
+#include "config.h"
#include <stdlib.h>
#include "gtkhandlebox.h"
#include "gtkinvisible.h"
* <--------bin_window-------------------->
*/
-static void gtk_handle_box_set_property (GObject *object,
- guint param_id,
- const GValue *value,
- GParamSpec *pspec);
-static void gtk_handle_box_get_property (GObject *object,
- guint param_id,
- GValue *value,
- GParamSpec *pspec);
-static void gtk_handle_box_destroy (GtkObject *object);
-static void gtk_handle_box_map (GtkWidget *widget);
-static void gtk_handle_box_unmap (GtkWidget *widget);
-static void gtk_handle_box_realize (GtkWidget *widget);
-static void gtk_handle_box_unrealize (GtkWidget *widget);
-static void gtk_handle_box_style_set (GtkWidget *widget,
- GtkStyle *previous_style);
-static void gtk_handle_box_size_request (GtkWidget *widget,
- GtkRequisition *requisition);
-static void gtk_handle_box_size_allocate (GtkWidget *widget,
- GtkAllocation *real_allocation);
-static void gtk_handle_box_add (GtkContainer *container,
- GtkWidget *widget);
-static void gtk_handle_box_remove (GtkContainer *container,
- GtkWidget *widget);
-static void gtk_handle_box_draw_ghost (GtkHandleBox *hb);
-static void gtk_handle_box_paint (GtkWidget *widget,
- GdkEventExpose *event,
- GdkRectangle *area);
-static gint gtk_handle_box_expose (GtkWidget *widget,
- GdkEventExpose *event);
-static gint gtk_handle_box_button_changed (GtkWidget *widget,
- GdkEventButton *event);
-static gint gtk_handle_box_motion (GtkWidget *widget,
- GdkEventMotion *event);
-static gint gtk_handle_box_delete_event (GtkWidget *widget,
- GdkEventAny *event);
-static void gtk_handle_box_reattach (GtkHandleBox *hb);
-static void gtk_handle_box_end_drag (GtkHandleBox *hb,
- guint32 time);
-
-static guint handle_box_signals[SIGNAL_LAST] = { 0 };
+static void gtk_handle_box_set_property (GObject *object,
+ guint param_id,
+ const GValue *value,
+ GParamSpec *pspec);
+static void gtk_handle_box_get_property (GObject *object,
+ guint param_id,
+ GValue *value,
+ GParamSpec *pspec);
+static void gtk_handle_box_map (GtkWidget *widget);
+static void gtk_handle_box_unmap (GtkWidget *widget);
+static void gtk_handle_box_realize (GtkWidget *widget);
+static void gtk_handle_box_unrealize (GtkWidget *widget);
+static void gtk_handle_box_style_set (GtkWidget *widget,
+ GtkStyle *previous_style);
+static void gtk_handle_box_size_request (GtkWidget *widget,
+ GtkRequisition *requisition);
+static void gtk_handle_box_size_allocate (GtkWidget *widget,
+ GtkAllocation *real_allocation);
+static void gtk_handle_box_add (GtkContainer *container,
+ GtkWidget *widget);
+static void gtk_handle_box_remove (GtkContainer *container,
+ GtkWidget *widget);
+static void gtk_handle_box_draw_ghost (GtkHandleBox *hb);
+static void gtk_handle_box_paint (GtkWidget *widget,
+ GdkEventExpose *event,
+ GdkRectangle *area);
+static gboolean gtk_handle_box_expose (GtkWidget *widget,
+ GdkEventExpose *event);
+static gboolean gtk_handle_box_button_press (GtkWidget *widget,
+ GdkEventButton *event);
+static gboolean gtk_handle_box_motion (GtkWidget *widget,
+ GdkEventMotion *event);
+static gboolean gtk_handle_box_delete_event (GtkWidget *widget,
+ GdkEventAny *event);
+static void gtk_handle_box_reattach (GtkHandleBox *hb);
+static void gtk_handle_box_end_drag (GtkHandleBox *hb,
+ guint32 time);
+
+static guint handle_box_signals[SIGNAL_LAST] = { 0 };
G_DEFINE_TYPE (GtkHandleBox, gtk_handle_box, GTK_TYPE_BIN)
gtk_handle_box_class_init (GtkHandleBoxClass *class)
{
GObjectClass *gobject_class;
- GtkObjectClass *object_class;
GtkWidgetClass *widget_class;
GtkContainerClass *container_class;
gobject_class = (GObjectClass *) class;
- object_class = (GtkObjectClass *) class;
widget_class = (GtkWidgetClass *) class;
container_class = (GtkContainerClass *) class;
FALSE,
GTK_PARAM_READABLE));
- object_class->destroy = gtk_handle_box_destroy;
-
widget_class->map = gtk_handle_box_map;
widget_class->unmap = gtk_handle_box_unmap;
widget_class->realize = gtk_handle_box_realize;
widget_class->size_request = gtk_handle_box_size_request;
widget_class->size_allocate = gtk_handle_box_size_allocate;
widget_class->expose_event = gtk_handle_box_expose;
- widget_class->button_press_event = gtk_handle_box_button_changed;
+ widget_class->button_press_event = gtk_handle_box_button_press;
widget_class->delete_event = gtk_handle_box_delete_event;
container_class->add = gtk_handle_box_add;
class->child_detached = NULL;
handle_box_signals[SIGNAL_CHILD_ATTACHED] =
- g_signal_new (I_("child_attached"),
+ g_signal_new (I_("child-attached"),
G_OBJECT_CLASS_TYPE (gobject_class),
G_SIGNAL_RUN_FIRST,
G_STRUCT_OFFSET (GtkHandleBoxClass, child_attached),
G_TYPE_NONE, 1,
GTK_TYPE_WIDGET);
handle_box_signals[SIGNAL_CHILD_DETACHED] =
- g_signal_new (I_("child_detached"),
+ g_signal_new (I_("child-detached"),
G_OBJECT_CLASS_TYPE (gobject_class),
G_SIGNAL_RUN_FIRST,
G_STRUCT_OFFSET (GtkHandleBoxClass, child_detached),
return g_object_new (GTK_TYPE_HANDLE_BOX, NULL);
}
-static void
-gtk_handle_box_destroy (GtkObject *object)
-{
- if (GTK_OBJECT_CLASS (gtk_handle_box_parent_class)->destroy)
- (* GTK_OBJECT_CLASS (gtk_handle_box_parent_class)->destroy) (object);
-}
-
static void
gtk_handle_box_map (GtkWidget *widget)
{
hb = GTK_HANDLE_BOX (widget);
if (bin->child &&
- GTK_WIDGET_VISIBLE (bin->child) &&
- !GTK_WIDGET_MAPPED (bin->child))
+ gtk_widget_get_visible (bin->child) &&
+ !gtk_widget_get_mapped (bin->child))
gtk_widget_map (bin->child);
if (hb->child_detached && !hb->float_window_mapped)
gdk_window_destroy (hb->float_window);
hb->float_window = NULL;
- if (GTK_WIDGET_CLASS (gtk_handle_box_parent_class)->unrealize)
- (* GTK_WIDGET_CLASS (gtk_handle_box_parent_class)->unrealize) (widget);
+ GTK_WIDGET_CLASS (gtk_handle_box_parent_class)->unrealize (widget);
}
static void
GtkHandleBox *hb = GTK_HANDLE_BOX (widget);
if (GTK_WIDGET_REALIZED (widget) &&
- !GTK_WIDGET_NO_WINDOW (widget))
+ gtk_widget_get_has_window (widget))
{
gtk_style_set_background (widget->style, widget->window,
widget->state);
widget->allocation.height);
- if (bin->child && GTK_WIDGET_VISIBLE (bin->child))
+ if (bin->child && gtk_widget_get_visible (bin->child))
{
GtkAllocation child_allocation;
guint border_width;
static void
gtk_handle_box_paint (GtkWidget *widget,
-
- GdkEventExpose *event,
+ GdkEventExpose *event,
GdkRectangle *area)
{
GtkBin *bin;
event ? &event->area : area,
handle_orientation);
- if (bin->child && GTK_WIDGET_VISIBLE (bin->child))
- (* GTK_WIDGET_CLASS (gtk_handle_box_parent_class)->expose_event) (widget, event);
+ if (bin->child && gtk_widget_get_visible (bin->child))
+ GTK_WIDGET_CLASS (gtk_handle_box_parent_class)->expose_event (widget, event);
}
-static gint
+static gboolean
gtk_handle_box_expose (GtkWidget *widget,
GdkEventExpose *event)
{
GtkHandleBox *hb;
- if (GTK_WIDGET_DRAWABLE (widget))
+ if (gtk_widget_is_drawable (widget))
{
hb = GTK_HANDLE_BOX (widget);
return FALSE;
}
-static gint
-gtk_handle_box_button_changed (GtkWidget *widget,
- GdkEventButton *event)
+static gboolean
+gtk_handle_box_button_press (GtkWidget *widget,
+ GdkEventButton *event)
{
GtkHandleBox *hb;
gboolean event_handled;
gint root_x, root_y;
gint width, height;
+ gtk_invisible_set_screen (GTK_INVISIBLE (invisible),
+ gtk_widget_get_screen (GTK_WIDGET (hb)));
gdk_window_get_deskrelative_origin (hb->bin_window, &desk_x, &desk_y);
gdk_window_get_origin (hb->bin_window, &root_x, &root_y);
gdk_drawable_get_size (hb->bin_window, &width, &height);
return event_handled;
}
-static gint
+static gboolean
gtk_handle_box_motion (GtkWidget *widget,
GdkEventMotion *event)
{