]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtksocket.c
Display an error when we come to the root.
[~andy/gtk] / gtk / gtksocket.c
index c2b28e31ea447d2ee32c3a35896775080e1b60d3..8f54f58804a93acfc6bdcb29f4311fe626e705fd 100644 (file)
 #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);
@@ -85,8 +84,6 @@ enum {
 
 static guint socket_signals[LAST_SIGNAL] = { 0 };
 
-static GtkWidgetClass *parent_class = NULL;
-
 /**
  * _gtk_socket_get_private:
  *
@@ -98,52 +95,10 @@ static GtkWidgetClass *parent_class = NULL;
 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, "GtkSocket",
-                                           &socket_info, 0);
-    }
-
-  return socket_type;
-}
+G_DEFINE_TYPE (GtkSocket, gtk_socket, GTK_TYPE_CONTAINER)
 
 static void
 gtk_socket_finalize (GObject *object)
@@ -153,7 +108,7 @@ 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
@@ -167,8 +122,6 @@ gtk_socket_class_init (GtkSocketClass *class)
   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;
 
@@ -192,7 +145,7 @@ gtk_socket_class_init (GtkSocketClass *class)
   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),
@@ -200,13 +153,15 @@ gtk_socket_class_init (GtkSocketClass *class)
                  _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
@@ -225,7 +180,7 @@ gtk_socket_init (GtkSocket *socket)
   socket->active = FALSE;
 
   socket->accel_group = gtk_accel_group_new ();
-  g_object_set_data (G_OBJECT (socket->accel_group), "gtk-socket", socket);
+  g_object_set_data (G_OBJECT (socket->accel_group), I_("gtk-socket"), socket);
 }
 
 /**
@@ -420,8 +375,8 @@ gtk_socket_unrealize (GtkWidget *widget)
       _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