[gtk+] Replace boilerplate in GtkIcon



commit a313417879853d6be6706933e4ce7f9e5fab3daf
Author: Emmanuele Bassi <ebassi gnome org>
Date:   Thu Feb 1 15:29:01 2018 +0100

    Replace boilerplate in GtkIcon
    
    Be a good GObject citizen and use G_DECLARE_FINAL_TYPE instead of
    writing the usual GObject boilerplate.

 gtk/gtkicon.c        |    7 +++++++
 gtk/gtkiconprivate.h |   25 +++----------------------
 2 files changed, 10 insertions(+), 22 deletions(-)
---
diff --git a/gtk/gtkicon.c b/gtk/gtkicon.c
index 3c28228..2611230 100644
--- a/gtk/gtkicon.c
+++ b/gtk/gtkicon.c
@@ -33,6 +33,13 @@
  * but a widget is needed for other reasons.
  */
 
+struct _GtkIcon
+{
+  GtkWidget parent;
+
+  GtkCssImageBuiltinType image;
+};
+
 G_DEFINE_TYPE (GtkIcon, gtk_icon, GTK_TYPE_WIDGET)
 
 static void
diff --git a/gtk/gtkiconprivate.h b/gtk/gtkiconprivate.h
index b979e50..32ec864 100644
--- a/gtk/gtkiconprivate.h
+++ b/gtk/gtkiconprivate.h
@@ -25,28 +25,9 @@
 
 G_BEGIN_DECLS
 
-#define GTK_TYPE_ICON           (gtk_icon_get_type ())
-#define GTK_ICON(obj)           (G_TYPE_CHECK_INSTANCE_CAST (obj, GTK_TYPE_ICON, GtkIcon))
-#define GTK_ICON_CLASS(cls)     (G_TYPE_CHECK_CLASS_CAST (cls, GTK_TYPE_ICON, GtkIconClass))
-#define GTK_IS_ICON(obj)        (G_TYPE_CHECK_INSTANCE_TYPE (obj, GTK_TYPE_ICON))
-#define GTK_IS_ICON_CLASS(obj)  (G_TYPE_CHECK_CLASS_TYPE (obj, GTK_TYPE_ICON))
-#define GTK_ICON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_ICON, GtkIconClass))
-
-typedef struct _GtkIcon           GtkIcon;
-typedef struct _GtkIconClass      GtkIconClass;
-
-struct _GtkIcon
-{
-  GtkWidget parent;
-  GtkCssImageBuiltinType image;
-};
-
-struct _GtkIconClass
-{
-  GtkWidgetClass  parent_class;
-};
-
-GType        gtk_icon_get_type               (void) G_GNUC_CONST;
+#define GTK_TYPE_ICON (gtk_icon_get_type ())
+
+G_DECLARE_FINAL_TYPE (GtkIcon, gtk_icon, GTK, ICON, GtkWidget)
 
 GtkWidget *  gtk_icon_new                    (const char *css_name);
 


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