[balsa/wip/gtk4: 320/351] toolbar-model: Declare it final



commit a50109bf7b746636041f4fc064c6c99dda7dfb8c
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date:   Tue May 1 18:17:54 2018 -0400

    toolbar-model: Declare it final
    
    The object structure is already private.

 src/toolbar-factory.c |   38 +++++---------------------------------
 src/toolbar-factory.h |   25 ++++++-------------------
 2 files changed, 11 insertions(+), 52 deletions(-)
---
diff --git a/src/toolbar-factory.c b/src/toolbar-factory.c
index 42dc480..d7eb36e 100644
--- a/src/toolbar-factory.c
+++ b/src/toolbar-factory.c
@@ -42,7 +42,7 @@ static const gchar *const balsa_toolbar_names[] =
  * The BalsaToolbarModel class.
  */
 
-struct BalsaToolbarModel_ {
+struct _BalsaToolbarModel {
     GObject object;
 
     GHashTable      *legal;
@@ -58,9 +58,10 @@ enum {
     LAST_SIGNAL
 };
 
-static GObjectClass* parent_class;
 static guint model_signals[LAST_SIGNAL] = { 0 };
 
+G_DEFINE_TYPE(BalsaToolbarModel, balsa_toolbar_model, G_TYPE_OBJECT)
+
 static void
 balsa_toolbar_model_dispose(GObject * object)
 {
@@ -68,7 +69,7 @@ balsa_toolbar_model_dispose(GObject * object)
 
     g_clear_object(&model->settings);
 
-    G_OBJECT_CLASS(parent_class)->dispose(object);
+    G_OBJECT_CLASS(balsa_toolbar_model_parent_class)->dispose(object);
 }
 
 
@@ -81,7 +82,7 @@ balsa_toolbar_model_finalize(GObject * object)
         g_hash_table_destroy(model->legal);
     }
 
-    G_OBJECT_CLASS(parent_class)->finalize(object);
+    G_OBJECT_CLASS(balsa_toolbar_model_parent_class)->finalize(object);
 }
 
 static void
@@ -89,8 +90,6 @@ balsa_toolbar_model_class_init(BalsaToolbarModelClass* klass)
 {
     GObjectClass *object_class = (GObjectClass *) klass;
 
-    parent_class = g_type_class_peek_parent(klass);
-
     model_signals[CHANGED] =
         g_signal_new("changed", G_TYPE_FROM_CLASS(object_class),
                      G_SIGNAL_RUN_FIRST,
@@ -110,33 +109,6 @@ balsa_toolbar_model_init(BalsaToolbarModel * model)
         g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free);
 }
 
-GType
-balsa_toolbar_model_get_type()
-{
-    static GType balsa_toolbar_model_type = 0;
-
-    if (!balsa_toolbar_model_type) {
-        static const GTypeInfo balsa_toolbar_model_info = {
-            sizeof(BalsaToolbarModelClass),
-            NULL,               /* base_init */
-            NULL,               /* base_finalize */
-            (GClassInitFunc) balsa_toolbar_model_class_init,
-            NULL,               /* class_finalize */
-            NULL,               /* class_data */
-            sizeof(BalsaToolbarModel),
-            0,                  /* n_preallocs */
-            (GInstanceInitFunc) balsa_toolbar_model_init,
-        };
-
-        balsa_toolbar_model_type =
-            g_type_register_static(G_TYPE_OBJECT,
-                                   "BalsaToolbarModel",
-                                   &balsa_toolbar_model_info, 0);
-    }
-
-    return balsa_toolbar_model_type;
-}
-
 /* End of class boilerplate */
 
 /* The descriptions must be SHORT */
diff --git a/src/toolbar-factory.h b/src/toolbar-factory.h
index 2831abf..76e6b46 100644
--- a/src/toolbar-factory.h
+++ b/src/toolbar-factory.h
@@ -23,27 +23,14 @@
 #include <glib-object.h>
 #include "toolbar-prefs.h"
 
-GType balsa_toolbar_model_get_type(void);
+#define BALSA_TYPE_TOOLBAR_MODEL balsa_toolbar_model_get_type()
 
-#define BALSA_TYPE_TOOLBAR_MODEL \
-    (balsa_toolbar_model_get_type ())
-#define BALSA_TOOLBAR_MODEL(obj) \
-    (G_TYPE_CHECK_INSTANCE_CAST (obj, BALSA_TYPE_TOOLBAR_MODEL, \
-                                 BalsaToolbarModel))
-#define BALSA_TOOLBAR_MODEL_CLASS(klass) \
-    (G_TYPE_CHECK_CLASS_CAST (klass, BALSA_TYPE_TOOLBAR_MODEL, \
-                              BalsaToolbarModelClass))
-#define BALSA_IS_TOOLBAR_MODEL(obj) \
-    (G_TYPE_CHECK_INSTANCE_TYPE (obj, BALSA_TYPE_TOOLBAR_MODEL))
-#define BALSA_IS_TOOLBAR_MODEL_CLASS(klass) \
-    (G_TYPE_CHECK_CLASS_TYPE (klass, BALSA_TYPE_TOOLBAR_MODEL))
+G_DECLARE_FINAL_TYPE(BalsaToolbarModel,
+                     balsa_toolbar_model,
+                     BALSA,
+                     TOOLBAR_MODEL,
+                     GObject);
 
-typedef struct BalsaToolbarModel_ BalsaToolbarModel;
-typedef struct BalsaToolbarModelClass_ BalsaToolbarModelClass;
-
-struct BalsaToolbarModelClass_ {
-    GObjectClass parent_class;
-};
 typedef void (*BalsaToolbarFunc) (GtkWidget *, gpointer);
 #define BALSA_TOOLBAR_FUNC(f) ((BalsaToolbarFunc) (f))
 


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