* <--------bin_window-------------------->
*/
-static void gtk_handle_box_class_init (GtkHandleBoxClass *klass);
-static void gtk_handle_box_init (GtkHandleBox *handle_box);
static void gtk_handle_box_set_property (GObject *object,
guint param_id,
const GValue *value,
static void gtk_handle_box_end_drag (GtkHandleBox *hb,
guint32 time);
-
-static GtkBinClass *parent_class;
static guint handle_box_signals[SIGNAL_LAST] = { 0 };
-
-GType
-gtk_handle_box_get_type (void)
-{
- static GType handle_box_type = 0;
-
- if (!handle_box_type)
- {
- static const GTypeInfo handle_box_info =
- {
- sizeof (GtkHandleBoxClass),
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc) gtk_handle_box_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (GtkHandleBox),
- 0, /* n_preallocs */
- (GInstanceInitFunc) gtk_handle_box_init,
- };
-
- handle_box_type = g_type_register_static (GTK_TYPE_BIN, I_("GtkHandleBox"),
- &handle_box_info, 0);
- }
-
- return handle_box_type;
-}
+G_DEFINE_TYPE (GtkHandleBox, gtk_handle_box, GTK_TYPE_BIN)
static void
gtk_handle_box_class_init (GtkHandleBoxClass *class)
widget_class = (GtkWidgetClass *) class;
container_class = (GtkContainerClass *) class;
- parent_class = g_type_class_peek_parent (class);
-
gobject_class->set_property = gtk_handle_box_set_property;
gobject_class->get_property = gtk_handle_box_get_property;
_gtk_marshal_VOID__OBJECT,
G_TYPE_NONE, 1,
GTK_TYPE_WIDGET);
+
+ g_type_class_add_private (gobject_class, sizeof (GtkHandleBoxPrivate));
}
static GtkHandleBoxPrivate *
gtk_handle_box_get_private (GtkHandleBox *hb)
{
- GtkHandleBoxPrivate *private;
- static GQuark private_quark = 0;
-
- if (!private_quark)
- private_quark = g_quark_from_static_string ("gtk-handle-box-private");
-
- private = g_object_get_qdata (G_OBJECT (hb), private_quark);
-
- if (!private)
- {
- private = g_new0 (GtkHandleBoxPrivate, 1);
- g_object_set_qdata_full (G_OBJECT (hb), private_quark,
- private, g_free);
- }
-
- return private;
+ return G_TYPE_INSTANCE_GET_PRIVATE (hb, GTK_TYPE_HANDLE_BOX, GtkHandleBoxPrivate);
}
static void
static void
gtk_handle_box_destroy (GtkObject *object)
{
- if (GTK_OBJECT_CLASS (parent_class)->destroy)
- (* GTK_OBJECT_CLASS (parent_class)->destroy) (object);
+ if (GTK_OBJECT_CLASS (gtk_handle_box_parent_class)->destroy)
+ (* GTK_OBJECT_CLASS (gtk_handle_box_parent_class)->destroy) (object);
}
static void
gdk_window_destroy (hb->float_window);
hb->float_window = NULL;
- if (GTK_WIDGET_CLASS (parent_class)->unrealize)
- (* GTK_WIDGET_CLASS (parent_class)->unrealize) (widget);
+ if (GTK_WIDGET_CLASS (gtk_handle_box_parent_class)->unrealize)
+ (* GTK_WIDGET_CLASS (gtk_handle_box_parent_class)->unrealize) (widget);
}
static void
}
/* if our child is not visible, we still request its size, since we
- * won't have any usefull hint for our size otherwise.
+ * won't have any useful hint for our size otherwise.
*/
if (bin->child)
gtk_widget_size_request (bin->child, &child_requisition);
event ? &event->area : area);
if (bin->child && GTK_WIDGET_VISIBLE (bin->child))
- (* GTK_WIDGET_CLASS (parent_class)->expose_event) (widget, event);
+ (* GTK_WIDGET_CLASS (gtk_handle_box_parent_class)->expose_event) (widget, event);
}
static gint
GtkWidget *widget)
{
gtk_widget_set_parent_window (widget, GTK_HANDLE_BOX (container)->bin_window);
- GTK_CONTAINER_CLASS (parent_class)->add (container, widget);
+ GTK_CONTAINER_CLASS (gtk_handle_box_parent_class)->add (container, widget);
}
static void
gtk_handle_box_remove (GtkContainer *container,
GtkWidget *widget)
{
- GTK_CONTAINER_CLASS (parent_class)->remove (container, widget);
+ GTK_CONTAINER_CLASS (gtk_handle_box_parent_class)->remove (container, widget);
gtk_handle_box_reattach (GTK_HANDLE_BOX (container));
}