[gnome-commander] Use G_DEFINE_TYPE for GnomeCmdRenameDialog



commit 61dedf8050927b37dd5c7d445a707e6251d2bb08
Author: Piotr Eljasiak <epiotr src gnome org>
Date:   Sun Jan 23 14:34:29 2011 +0100

    Use G_DEFINE_TYPE for GnomeCmdRenameDialog

 src/gnome-cmd-rename-dialog.cc |   56 +++++----------------------------------
 src/gnome-cmd-rename-dialog.h  |   12 ++++----
 2 files changed, 14 insertions(+), 54 deletions(-)
---
diff --git a/src/gnome-cmd-rename-dialog.cc b/src/gnome-cmd-rename-dialog.cc
index 77596c2..20f5fdc 100644
--- a/src/gnome-cmd-rename-dialog.cc
+++ b/src/gnome-cmd-rename-dialog.cc
@@ -38,7 +38,7 @@ struct GnomeCmdRenameDialogPrivate
 };
 
 
-static GtkWindowClass *parent_class = NULL;
+G_DEFINE_TYPE (GnomeCmdRenameDialog, gnome_cmd_rename_dialog, GTK_TYPE_WINDOW)
 
 
 static gboolean on_dialog_keypressed (GtkWidget *widget, GdkEventKey *event, gpointer user_data)
@@ -95,39 +95,25 @@ static gboolean on_focus_out (GtkWidget *widget, GdkEventKey *event)
 }
 
 
-/*******************************
- * Gtk class implementation
- *******************************/
-static void destroy (GtkObject *object)
+static void gnome_cmd_rename_dialog_finalize (GObject *object)
 {
     GnomeCmdRenameDialog *dialog = GNOME_CMD_RENAME_DIALOG (object);
 
     g_free (dialog->priv);
 
-    if (GTK_OBJECT_CLASS (parent_class)->destroy)
-        (*GTK_OBJECT_CLASS (parent_class)->destroy) (object);
+    G_OBJECT_CLASS (gnome_cmd_rename_dialog_parent_class)->finalize (object);
 }
 
 
-static void map (GtkWidget *widget)
+static void gnome_cmd_rename_dialog_class_init (GnomeCmdRenameDialogClass *klass)
 {
-    if (GTK_WIDGET_CLASS (parent_class)->map != NULL)
-        GTK_WIDGET_CLASS (parent_class)->map (widget);
-}
-
-
-static void class_init (GnomeCmdRenameDialogClass *klass)
-{
-    GtkObjectClass *object_class = GTK_OBJECT_CLASS (klass);
-    GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
+    GObjectClass *object_class = G_OBJECT_CLASS (klass);
 
-    parent_class = (GtkWindowClass *) gtk_type_class (gtk_window_get_type ());
-    object_class->destroy = destroy;
-    widget_class->map = ::map;
+    object_class->finalize = gnome_cmd_rename_dialog_finalize;
 }
 
 
-static void init (GnomeCmdRenameDialog *dialog)
+static void gnome_cmd_rename_dialog_init (GnomeCmdRenameDialog *dialog)
 {
     dialog->priv = g_new0 (GnomeCmdRenameDialogPrivate, 1);
     g_signal_connect (dialog, "key-press-event", G_CALLBACK (on_dialog_keypressed), NULL);
@@ -143,8 +129,7 @@ GtkWidget *gnome_cmd_rename_dialog_new (GnomeCmdFile *f, gint x, gint y, gint wi
 {
     g_return_val_if_fail (f != NULL, NULL);
 
-    GnomeCmdRenameDialog *dialog = (GnomeCmdRenameDialog *) gtk_type_new (gnome_cmd_rename_dialog_get_type ());
-
+    GnomeCmdRenameDialog *dialog = (GnomeCmdRenameDialog *) g_object_new (GNOME_CMD_TYPE_RENAME_DIALOG, NULL);
     dialog->priv->f = f->ref();
 
     gtk_window_set_has_frame (GTK_WINDOW (dialog), 0);
@@ -171,28 +156,3 @@ GtkWidget *gnome_cmd_rename_dialog_new (GnomeCmdFile *f, gint x, gint y, gint wi
 
     return GTK_WIDGET (dialog);
 }
-
-
-GtkType gnome_cmd_rename_dialog_get_type ()
-{
-    static GtkType dlg_type = 0;
-
-    if (dlg_type == 0)
-    {
-        GtkTypeInfo dlg_info =
-        {
-            "GnomeCmdRenameDialog",
-            sizeof (GnomeCmdRenameDialog),
-            sizeof (GnomeCmdRenameDialogClass),
-            (GtkClassInitFunc) class_init,
-            (GtkObjectInitFunc) init,
-            /* reserved_1 */ NULL,
-            /* reserved_2 */ NULL,
-            (GtkClassInitFunc) NULL
-        };
-
-        dlg_type = gtk_type_unique (gtk_window_get_type (), &dlg_info);
-    }
-
-    return dlg_type;
-}
diff --git a/src/gnome-cmd-rename-dialog.h b/src/gnome-cmd-rename-dialog.h
index 6b7af7e..acf91bf 100644
--- a/src/gnome-cmd-rename-dialog.h
+++ b/src/gnome-cmd-rename-dialog.h
@@ -23,12 +23,12 @@
 
 #include "gnome-cmd-file.h"
 
-#define GNOME_CMD_RENAME_DIALOG(obj) \
-    GTK_CHECK_CAST (obj, gnome_cmd_rename_dialog_get_type (), GnomeCmdRenameDialog)
-#define GNOME_CMD_RENAME_DIALOG_CLASS(klass) \
-    GTK_CHECK_CLASS_CAST (klass, gnome_cmd_rename_dialog_get_type (), GnomeCmdRenameDialogClass)
-#define GNOME_CMD_IS_RENAME_DIALOG(obj) \
-    GTK_CHECK_TYPE (obj, gnome_cmd_rename_dialog_get_type ())
+#define GNOME_CMD_TYPE_RENAME_DIALOG        (gnome_cmd_rename_dialog_get_type ())
+#define GNOME_CMD_RENAME_DIALOG(obj)        (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_CMD_TYPE_RENAME_DIALOG, GnomeCmdRenameDialog))
+#define GNOME_CMD_IS_RENAME_DIALOG(obj)     (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_CMD_TYPE_RENAME_DIALOG))
+
+
+GType gnome_cmd_rename_dialog_get_type ();
 
 
 struct GnomeCmdRenameDialogPrivate;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]