#include "gtksocket.h"
#include "gtksocketprivate.h"
#include "gtkdnd.h"
+#include "gtkintl.h"
#include "gtkalias.h"
/* Forward declararations */
-static void gtk_socket_class_init (GtkSocketClass *klass);
-static void gtk_socket_init (GtkSocket *socket);
static void gtk_socket_finalize (GObject *object);
static void gtk_socket_notify (GObject *object,
GParamSpec *pspec);
static guint socket_signals[LAST_SIGNAL] = { 0 };
-static GtkWidgetClass *parent_class = NULL;
-
/**
* _gtk_socket_get_private:
*
GtkSocketPrivate *
_gtk_socket_get_private (GtkSocket *socket)
{
- GtkSocketPrivate *private;
- static GQuark private_quark = 0;
-
- if (!private_quark)
- private_quark = g_quark_from_static_string ("gtk-socket-private");
-
- private = g_object_get_qdata (G_OBJECT (socket), private_quark);
-
- if (!private)
- {
- private = g_new0 (GtkSocketPrivate, 1);
- private->resize_count = 0;
-
- g_object_set_qdata_full (G_OBJECT (socket), private_quark,
- private, (GDestroyNotify) g_free);
- }
-
- return private;
+ return G_TYPE_INSTANCE_GET_PRIVATE (socket, GTK_TYPE_SOCKET, GtkSocketPrivate);
}
-GType
-gtk_socket_get_type (void)
-{
- static GType socket_type = 0;
-
- if (!socket_type)
- {
- static const GTypeInfo socket_info =
- {
- sizeof (GtkSocketClass),
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc) gtk_socket_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (GtkSocket),
- 16, /* n_preallocs */
- (GInstanceInitFunc) gtk_socket_init,
- };
-
- socket_type = g_type_register_static (GTK_TYPE_CONTAINER, g_intern_static_string ("GtkSocket"),
- &socket_info, 0);
- }
-
- return socket_type;
-}
+G_DEFINE_TYPE (GtkSocket, gtk_socket, GTK_TYPE_CONTAINER)
static void
gtk_socket_finalize (GObject *object)
g_object_unref (socket->accel_group);
socket->accel_group = NULL;
- G_OBJECT_CLASS (parent_class)->finalize (object);
+ G_OBJECT_CLASS (gtk_socket_parent_class)->finalize (object);
}
static void
widget_class = (GtkWidgetClass*) class;
container_class = (GtkContainerClass*) class;
- parent_class = g_type_class_peek_parent (class);
-
gobject_class->finalize = gtk_socket_finalize;
gobject_class->notify = gtk_socket_notify;
container_class->forall = gtk_socket_forall;
socket_signals[PLUG_ADDED] =
- g_signal_new ("plug_added",
+ g_signal_new (I_("plug_added"),
G_OBJECT_CLASS_TYPE (class),
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GtkSocketClass, plug_added),
_gtk_marshal_VOID__VOID,
G_TYPE_NONE, 0);
socket_signals[PLUG_REMOVED] =
- g_signal_new ("plug_removed",
+ g_signal_new (I_("plug_removed"),
G_OBJECT_CLASS_TYPE (class),
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GtkSocketClass, plug_removed),
_gtk_boolean_handled_accumulator, NULL,
_gtk_marshal_BOOLEAN__VOID,
G_TYPE_BOOLEAN, 0);
+
+ g_type_class_add_private (gobject_class, sizeof (GtkSocketPrivate));
}
static void
socket->active = FALSE;
socket->accel_group = gtk_accel_group_new ();
- g_object_set_data (G_OBJECT (socket->accel_group), g_intern_static_string ("gtk-socket"), socket);
+ g_object_set_data (G_OBJECT (socket->accel_group), I_("gtk-socket"), socket);
}
/**
_gtk_socket_end_embedding (socket);
}
- if (GTK_WIDGET_CLASS (parent_class)->unrealize)
- (* GTK_WIDGET_CLASS (parent_class)->unrealize) (widget);
+ if (GTK_WIDGET_CLASS (gtk_socket_parent_class)->unrealize)
+ (* GTK_WIDGET_CLASS (gtk_socket_parent_class)->unrealize) (widget);
}
static void