[gimp] libgimpwidgets: use G_DECLARE_* macros on Gimp*ScaleEntry classes.



commit 1cdfb0bd3fe72e58e119f0b3c80c40107f876591
Author: Jehan <jehan girinstud io>
Date:   Sun Nov 1 00:35:54 2020 +0100

    libgimpwidgets: use G_DECLARE_* macros on Gimp*ScaleEntry classes.
    
    I updated GimpScaleEntry and GimpColorScaleEntry header to use
    respectively the macros G_DECLARE_DERIVABLE_TYPE and
    G_DECLARE_FINAL_TYPE.
    
    Though having the `priv` structure directly in the object data is
    extremely comfortable for developing (hence we don't want to use this
    macro on core code as it makes coding a bit more bothersome), it is true
    that it does not make for a very pretty public interface (showing a
    `priv` member which nobody can actually use, and a private type which
    has no associated functions). So it might be a good idea to use these
    macros at least on libgimp side.
    
    I am still not sure though if it is a good idea so we could say it's an
    experiment. At least the docs says that using G_DECLARE_FINAL_TYPE does
    not affect ABI stability as it can later be changed into a
    G_DECLARE_DERIVABLE_TYPE because the class structure stays private. So
    at least that's one good point.
    
    P.S.: also reordering gimpwidgets.def.

 libgimpwidgets/gimpcolorscaleentry.c |   4 +
 libgimpwidgets/gimpcolorscaleentry.h |  34 +------
 libgimpwidgets/gimpscaleentry.c      | 170 +++++++++++++++++++----------------
 libgimpwidgets/gimpscaleentry.h      |  21 +----
 libgimpwidgets/gimpwidgets.def       |   4 +-
 5 files changed, 103 insertions(+), 130 deletions(-)
---
diff --git a/libgimpwidgets/gimpcolorscaleentry.c b/libgimpwidgets/gimpcolorscaleentry.c
index 851d1f4502..6246d81cbe 100644
--- a/libgimpwidgets/gimpcolorscaleentry.c
+++ b/libgimpwidgets/gimpcolorscaleentry.c
@@ -41,6 +41,10 @@
  * #GimpColorScale instead of a #GtkScale.
  **/
 
+struct _GimpColorScaleEntry
+{
+  GimpScaleEntry parent_instance;
+};
 
 static GtkWidget * gimp_color_scale_entry_new_range_widget (GtkAdjustment  *adjustment);
 
diff --git a/libgimpwidgets/gimpcolorscaleentry.h b/libgimpwidgets/gimpcolorscaleentry.h
index 97dc2357c7..36a0abb820 100644
--- a/libgimpwidgets/gimpcolorscaleentry.h
+++ b/libgimpwidgets/gimpcolorscaleentry.h
@@ -30,38 +30,8 @@
 
 G_BEGIN_DECLS
 
-#define GIMP_TYPE_COLOR_SCALE_ENTRY            (gimp_color_scale_entry_get_type ())
-#define GIMP_COLOR_SCALE_ENTRY(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), 
GIMP_TYPE_COLOR_SCALE_ENTRY, GimpColorScaleEntry))
-#define GIMP_COLOR_SCALE_ENTRY_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), 
GIMP_TYPE_COLOR_SCALE_ENTRY, GimpColorScaleEntryClass))
-#define GIMP_IS_COLOR_SCALE_ENTRY(obj)         (G_TYPE_CHECK_INSTANCE_TYPE (obj, 
GIMP_TYPE_COLOR_SCALE_ENTRY))
-#define GIMP_IS_COLOR_SCALE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), 
GIMP_TYPE_COLOR_SCALE_ENTRY))
-#define GIMP_COLOR_SCALE_ENTRY_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), 
GIMP_TYPE_COLOR_SCALE_ENTRY, GimpColorScaleEntryClass))
-
-
-typedef struct _GimpColorScaleEntryPrivate GimpColorScaleEntryPrivate;
-typedef struct _GimpColorScaleEntryClass   GimpColorScaleEntryClass;
-
-struct _GimpColorScaleEntry
-{
-  GimpScaleEntry              parent_instance;
-};
-
-struct _GimpColorScaleEntryClass
-{
-  GimpScaleEntryClass  parent_class;
-
-  /* Padding for future expansion */
-  void (* _gimp_reserved1) (void);
-  void (* _gimp_reserved2) (void);
-  void (* _gimp_reserved3) (void);
-  void (* _gimp_reserved4) (void);
-  void (* _gimp_reserved5) (void);
-  void (* _gimp_reserved6) (void);
-  void (* _gimp_reserved7) (void);
-  void (* _gimp_reserved8) (void);
-};
-
-GType           gimp_color_scale_entry_get_type   (void) G_GNUC_CONST;
+#define GIMP_TYPE_COLOR_SCALE_ENTRY (gimp_color_scale_entry_get_type ())
+G_DECLARE_FINAL_TYPE (GimpColorScaleEntry, gimp_color_scale_entry, GIMP, COLOR_SCALE_ENTRY, GimpScaleEntry)
 
 GtkWidget     * gimp_color_scale_entry_new2       (const gchar *text,
                                                    gdouble      value,
diff --git a/libgimpwidgets/gimpscaleentry.c b/libgimpwidgets/gimpscaleentry.c
index 9129dcbc28..83c2e0e96d 100644
--- a/libgimpwidgets/gimpscaleentry.c
+++ b/libgimpwidgets/gimpscaleentry.c
@@ -59,7 +59,7 @@ enum
   PROP_DIGITS,
 };
 
-struct _GimpScaleEntryPrivate
+typedef struct _GimpScaleEntryPrivate
 {
   GtkWidget *label;
   GtkWidget *spinbutton;
@@ -68,7 +68,7 @@ struct _GimpScaleEntryPrivate
   GBinding  *binding;
 
   gboolean   logarithmic;
-};
+} GimpScaleEntryPrivate;
 
 
 static void   gimp_scale_entry_constructed          (GObject       *object);
@@ -199,16 +199,16 @@ gimp_scale_entry_class_init (GimpScaleEntryClass *klass)
 static void
 gimp_scale_entry_init (GimpScaleEntry *entry)
 {
-  entry->priv = gimp_scale_entry_get_instance_private (entry);
 }
 
 static void
 gimp_scale_entry_constructed (GObject *object)
 {
-  GimpScaleEntryClass *klass;
-  GimpScaleEntry      *entry = GIMP_SCALE_ENTRY (object);
-  GtkAdjustment       *spin_adjustment;
-  GtkAdjustment       *scale_adjustment;
+  GimpScaleEntryClass   *klass;
+  GimpScaleEntry        *entry = GIMP_SCALE_ENTRY (object);
+  GimpScaleEntryPrivate *priv  = gimp_scale_entry_get_instance_private (entry);
+  GtkAdjustment         *spin_adjustment;
+  GtkAdjustment         *scale_adjustment;
 
   /* Construction values are a bit random but should be properly
    * overrided with expected values if the object was created with
@@ -216,15 +216,15 @@ gimp_scale_entry_constructed (GObject *object)
    */
 
   /* Label */
-  entry->priv->label = gtk_label_new_with_mnemonic (NULL);
-  gtk_label_set_xalign (GTK_LABEL (entry->priv->label), 0.0);
+  priv->label = gtk_label_new_with_mnemonic (NULL);
+  gtk_label_set_xalign (GTK_LABEL (priv->label), 0.0);
 
   /* Spin button */
   spin_adjustment = gtk_adjustment_new (0.0, 0.0, 100.0, 1.0, 10.0, 0.0);
 
-  entry->priv->spinbutton = gimp_spin_button_new (spin_adjustment, 2.0, 2.0);
-  gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (entry->priv->spinbutton), TRUE);
-  gtk_label_set_mnemonic_widget (GTK_LABEL (entry->priv->label), entry->priv->spinbutton);
+  priv->spinbutton = gimp_spin_button_new (spin_adjustment, 2.0, 2.0);
+  gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (priv->spinbutton), TRUE);
+  gtk_label_set_mnemonic_widget (GTK_LABEL (priv->label), priv->spinbutton);
 
   /* Scale */
   scale_adjustment = gtk_adjustment_new (0.0, 0.0, 100.0, 1.0, 10.0, 0.0);
@@ -232,29 +232,29 @@ gimp_scale_entry_constructed (GObject *object)
   klass = GIMP_SCALE_ENTRY_GET_CLASS (entry);
   if (klass->new_range_widget)
     {
-      entry->priv->scale = klass->new_range_widget (scale_adjustment);
-      g_return_if_fail (GTK_IS_RANGE (entry->priv->scale));
-      g_return_if_fail (scale_adjustment == gtk_range_get_adjustment (GTK_RANGE (entry->priv->scale)));
+      priv->scale = klass->new_range_widget (scale_adjustment);
+      g_return_if_fail (GTK_IS_RANGE (priv->scale));
+      g_return_if_fail (scale_adjustment == gtk_range_get_adjustment (GTK_RANGE (priv->scale)));
     }
   else
     {
-      entry->priv->scale = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, scale_adjustment);
-      gtk_scale_set_draw_value (GTK_SCALE (entry->priv->scale), FALSE);
+      priv->scale = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, scale_adjustment);
+      gtk_scale_set_draw_value (GTK_SCALE (priv->scale), FALSE);
     }
 
-  gtk_widget_set_hexpand (entry->priv->scale, TRUE);
+  gtk_widget_set_hexpand (priv->scale, TRUE);
 
-  gtk_grid_attach (GTK_GRID (entry), entry->priv->label,      0, 0, 1, 1);
-  gtk_grid_attach (GTK_GRID (entry), entry->priv->scale,      1, 0, 1, 1);
-  gtk_grid_attach (GTK_GRID (entry), entry->priv->spinbutton, 2, 0, 1, 1);
-  gtk_widget_show (entry->priv->label);
-  gtk_widget_show (entry->priv->scale);
-  gtk_widget_show (entry->priv->spinbutton);
+  gtk_grid_attach (GTK_GRID (entry), priv->label,      0, 0, 1, 1);
+  gtk_grid_attach (GTK_GRID (entry), priv->scale,      1, 0, 1, 1);
+  gtk_grid_attach (GTK_GRID (entry), priv->spinbutton, 2, 0, 1, 1);
+  gtk_widget_show (priv->label);
+  gtk_widget_show (priv->scale);
+  gtk_widget_show (priv->spinbutton);
 
-  entry->priv->binding = g_object_bind_property (G_OBJECT (spin_adjustment),  "value",
-                                                 G_OBJECT (scale_adjustment), "value",
-                                                 G_BINDING_BIDIRECTIONAL |
-                                                 G_BINDING_SYNC_CREATE);
+  priv->binding = g_object_bind_property (G_OBJECT (spin_adjustment),  "value",
+                                          G_OBJECT (scale_adjustment), "value",
+                                          G_BINDING_BIDIRECTIONAL |
+                                          G_BINDING_SYNC_CREATE);
 
   /* This is important to make this object into a property widget. It
    * will allow config object to bind the "value" property of this
@@ -272,7 +272,8 @@ gimp_scale_entry_set_property (GObject      *object,
                                const GValue *value,
                                GParamSpec   *pspec)
 {
-  GimpScaleEntry *entry = GIMP_SCALE_ENTRY (object);
+  GimpScaleEntry        *entry = GIMP_SCALE_ENTRY (object);
+  GimpScaleEntryPrivate *priv  = gimp_scale_entry_get_instance_private (entry);
 
   switch (property_id)
     {
@@ -282,9 +283,9 @@ gimp_scale_entry_set_property (GObject      *object,
            * G_PARAM_CONSTRUCT, hence the label should exist when the
            * property is first set.
            */
-          g_return_if_fail (entry->priv->label);
+          g_return_if_fail (priv->label);
 
-          gtk_label_set_markup_with_mnemonic (GTK_LABEL (entry->priv->label),
+          gtk_label_set_markup_with_mnemonic (GTK_LABEL (priv->label),
                                               g_value_get_string (value));
         }
       break;
@@ -293,12 +294,12 @@ gimp_scale_entry_set_property (GObject      *object,
           GtkSpinButton *spinbutton;
           GtkAdjustment *adj;
 
-          g_return_if_fail (entry->priv->spinbutton);
+          g_return_if_fail (priv->spinbutton);
 
           /* Set on the spin button, because it might have a bigger
            * range, hence shows the real value.
            */
-          spinbutton = GTK_SPIN_BUTTON (entry->priv->spinbutton);
+          spinbutton = GTK_SPIN_BUTTON (priv->spinbutton);
           adj = gtk_spin_button_get_adjustment (spinbutton);
 
           /* Avoid looping forever since we have bound this widget's
@@ -315,13 +316,13 @@ gimp_scale_entry_set_property (GObject      *object,
           GtkSpinButton *spinbutton;
           GtkRange      *scale;
 
-          g_return_if_fail (entry->priv->spinbutton);
+          g_return_if_fail (priv->spinbutton);
 
           /* This sets the range for both the spin button and the scale.
            * To change only the scale, see gimp_scale_entry_set_range().
            */
-          spinbutton = GTK_SPIN_BUTTON (entry->priv->spinbutton);
-          scale      = GTK_RANGE (entry->priv->scale);
+          spinbutton = GTK_SPIN_BUTTON (priv->spinbutton);
+          scale      = GTK_RANGE (priv->scale);
           gtk_adjustment_set_lower (gtk_spin_button_get_adjustment (spinbutton),
                                     g_value_get_double (value));
           gtk_adjustment_set_lower (gtk_range_get_adjustment (scale),
@@ -336,10 +337,10 @@ gimp_scale_entry_set_property (GObject      *object,
           GtkSpinButton *spinbutton;
           GtkRange      *scale;
 
-          g_return_if_fail (entry->priv->scale && entry->priv->spinbutton);
+          g_return_if_fail (priv->scale && priv->spinbutton);
 
-          spinbutton = GTK_SPIN_BUTTON (entry->priv->spinbutton);
-          scale      = GTK_RANGE (entry->priv->scale);
+          spinbutton = GTK_SPIN_BUTTON (priv->spinbutton);
+          scale      = GTK_RANGE (priv->scale);
           gtk_adjustment_set_upper (gtk_spin_button_get_adjustment (spinbutton),
                                     g_value_get_double (value));
           gtk_adjustment_set_upper (gtk_range_get_adjustment (scale),
@@ -351,16 +352,16 @@ gimp_scale_entry_set_property (GObject      *object,
       break;
     case PROP_DIGITS:
         {
-          g_return_if_fail (entry->priv->scale && entry->priv->spinbutton);
+          g_return_if_fail (priv->scale && priv->spinbutton);
 
-          if (GTK_IS_SCALE (entry->priv->scale))
+          if (GTK_IS_SCALE (priv->scale))
             /* Subclasses may set this to any GtkRange, in particular it
              * may not be a subclass of GtkScale.
              */
-            gtk_scale_set_digits (GTK_SCALE (entry->priv->scale),
+            gtk_scale_set_digits (GTK_SCALE (priv->scale),
                                   g_value_get_uint (value));
 
-          gtk_spin_button_set_digits (GTK_SPIN_BUTTON (entry->priv->spinbutton),
+          gtk_spin_button_set_digits (GTK_SPIN_BUTTON (priv->spinbutton),
                                       g_value_get_uint (value));
 
           gimp_scale_entry_update_spin_width (entry);
@@ -379,13 +380,14 @@ gimp_scale_entry_get_property (GObject    *object,
                                GValue     *value,
                                GParamSpec *pspec)
 {
-  GimpScaleEntry *entry      = GIMP_SCALE_ENTRY (object);
-  GtkSpinButton  *spinbutton = GTK_SPIN_BUTTON (entry->priv->spinbutton);
+  GimpScaleEntry        *entry      = GIMP_SCALE_ENTRY (object);
+  GimpScaleEntryPrivate *priv       = gimp_scale_entry_get_instance_private (entry);
+  GtkSpinButton         *spinbutton = GTK_SPIN_BUTTON (priv->spinbutton);
 
   switch (property_id)
     {
     case PROP_LABEL:
-      g_value_set_string (value, gtk_label_get_label (GTK_LABEL (entry->priv->label)));
+      g_value_set_string (value, gtk_label_get_label (GTK_LABEL (priv->label)));
       break;
     case PROP_VALUE:
       g_value_set_double (value, gtk_spin_button_get_value (spinbutton));
@@ -419,10 +421,11 @@ gimp_scale_entry_get_property (GObject    *object,
 static void
 gimp_scale_entry_update_spin_width (GimpScaleEntry *entry)
 {
-  gint    width = 0;
-  gdouble lower;
-  gdouble upper;
-  gint    digits;
+  GimpScaleEntryPrivate *priv  = gimp_scale_entry_get_instance_private (entry);
+  gint                   width = 0;
+  gdouble                lower;
+  gdouble                upper;
+  gint                   digits;
 
   g_return_if_fail (GIMP_IS_SCALE_ENTRY (entry));
 
@@ -444,7 +447,7 @@ gimp_scale_entry_update_spin_width (GimpScaleEntry *entry)
   /* Overlong spin button are useless. */
   width = MIN (10, width);
 
-  gtk_entry_set_width_chars (GTK_ENTRY (entry->priv->spinbutton), width);
+  gtk_entry_set_width_chars (GTK_ENTRY (priv->spinbutton), width);
 }
 
 static void
@@ -739,9 +742,11 @@ gimp_scale_entry_get_value (GimpScaleEntry *entry)
 GtkWidget *
 gimp_scale_entry_get_label (GimpScaleEntry *entry)
 {
+  GimpScaleEntryPrivate *priv = gimp_scale_entry_get_instance_private (entry);
+
   g_return_val_if_fail (GIMP_IS_SCALE_ENTRY (entry), NULL);
 
-  return entry->priv->label;
+  return priv->label;
 }
 
 /**
@@ -756,9 +761,11 @@ gimp_scale_entry_get_label (GimpScaleEntry *entry)
 GtkWidget *
 gimp_scale_entry_get_spin_button (GimpScaleEntry *entry)
 {
+  GimpScaleEntryPrivate *priv = gimp_scale_entry_get_instance_private (entry);
+
   g_return_val_if_fail (GIMP_IS_SCALE_ENTRY (entry), NULL);
 
-  return entry->priv->spinbutton;
+  return priv->spinbutton;
 }
 
 /**
@@ -777,9 +784,11 @@ gimp_scale_entry_get_spin_button (GimpScaleEntry *entry)
 GtkWidget *
 gimp_scale_entry_get_range (GimpScaleEntry *entry)
 {
+  GimpScaleEntryPrivate *priv = gimp_scale_entry_get_instance_private (entry);
+
   g_return_val_if_fail (GIMP_IS_SCALE_ENTRY (entry), NULL);
 
-  return entry->priv->scale;
+  return priv->scale;
 }
 
 /**
@@ -819,16 +828,18 @@ gimp_scale_entry_set_range (GimpScaleEntry *entry,
                             gdouble         upper,
                             gboolean        limit_scale)
 {
-  GtkSpinButton *spinbutton;
-  GtkAdjustment *spin_adjustment;
-  GtkAdjustment *scale_adjustment;
+  GimpScaleEntryPrivate *priv;
+  GtkSpinButton         *spinbutton;
+  GtkAdjustment         *spin_adjustment;
+  GtkAdjustment         *scale_adjustment;
 
   g_return_if_fail (GIMP_IS_SCALE_ENTRY (entry));
   g_return_if_fail (lower <= upper);
 
-  spinbutton       = GTK_SPIN_BUTTON (entry->priv->spinbutton);
+  priv             = gimp_scale_entry_get_instance_private (entry);
+  spinbutton       = GTK_SPIN_BUTTON (priv->spinbutton);
   spin_adjustment  = gtk_spin_button_get_adjustment (spinbutton);
-  scale_adjustment = gtk_range_get_adjustment (GTK_RANGE (entry->priv->scale));
+  scale_adjustment = gtk_range_get_adjustment (GTK_RANGE (priv->scale));
 
   if (limit_scale)
     {
@@ -864,19 +875,21 @@ void
 gimp_scale_entry_set_logarithmic (GimpScaleEntry *entry,
                                   gboolean        logarithmic)
 {
-  GtkAdjustment *spin_adj;
-  GtkAdjustment *scale_adj;
-  GBinding      *binding;
+  GimpScaleEntryPrivate *priv;
+  GtkAdjustment         *spin_adj;
+  GtkAdjustment         *scale_adj;
+  GBinding              *binding;
 
   g_return_if_fail (GIMP_IS_SCALE_ENTRY (entry));
 
-  spin_adj  = gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON (entry->priv->spinbutton));
-  scale_adj = gtk_range_get_adjustment (GTK_RANGE (entry->priv->scale));
+  priv      = gimp_scale_entry_get_instance_private (entry);
+  spin_adj  = gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON (priv->spinbutton));
+  scale_adj = gtk_range_get_adjustment (GTK_RANGE (priv->scale));
 
-  if (logarithmic == entry->priv->logarithmic)
+  if (logarithmic == priv->logarithmic)
     return;
 
-  g_clear_object (&entry->priv->binding);
+  g_clear_object (&priv->binding);
 
   if (logarithmic)
     {
@@ -937,8 +950,8 @@ gimp_scale_entry_set_logarithmic (GimpScaleEntry *entry,
                                         G_BINDING_SYNC_CREATE);
     }
 
-  entry->priv->binding     = binding;
-  entry->priv->logarithmic = logarithmic;
+  priv->binding     = binding;
+  priv->logarithmic = logarithmic;
 }
 
 /**
@@ -953,9 +966,11 @@ gimp_scale_entry_set_logarithmic (GimpScaleEntry *entry,
 gboolean
 gimp_scale_entry_get_logarithmic (GimpScaleEntry *entry)
 {
+  GimpScaleEntryPrivate *priv = gimp_scale_entry_get_instance_private (entry);
+
   g_return_val_if_fail (GIMP_IS_SCALE_ENTRY (entry), FALSE);
 
-  return entry->priv->logarithmic;
+  return priv->logarithmic;
 }
 
 /**
@@ -983,17 +998,18 @@ gimp_scale_entry_set_increments (GimpScaleEntry *entry,
                                  gdouble         step,
                                  gdouble         page)
 {
-  GtkSpinButton *spinbutton;
-  GtkRange      *scale;
-  gdouble        lower;
-  gdouble        upper;
+  GimpScaleEntryPrivate *priv;
+  GtkSpinButton         *spinbutton;
+  GtkRange              *scale;
+  gdouble                lower;
+  gdouble                upper;
 
   g_return_if_fail (GIMP_IS_SCALE_ENTRY (entry));
-  g_return_if_fail (entry->priv->scale && entry->priv->spinbutton);
   g_return_if_fail (step < page);
 
-  spinbutton = GTK_SPIN_BUTTON (entry->priv->spinbutton);
-  scale      = GTK_RANGE (entry->priv->scale);
+  priv       = gimp_scale_entry_get_instance_private (entry);
+  spinbutton = GTK_SPIN_BUTTON (priv->spinbutton);
+  scale      = GTK_RANGE (priv->scale);
 
   gtk_spin_button_get_range (spinbutton, &lower, &upper);
   g_return_if_fail (upper >= lower);
@@ -1005,7 +1021,7 @@ gimp_scale_entry_set_increments (GimpScaleEntry *entry,
   gtk_adjustment_set_page_increment (gtk_range_get_adjustment (scale), page);
   gtk_adjustment_set_page_increment (gtk_spin_button_get_adjustment (spinbutton), page);
 
-  g_object_set (entry->priv->spinbutton,
+  g_object_set (priv->spinbutton,
                 "climb-rate", step,
                 NULL);
 }
diff --git a/libgimpwidgets/gimpscaleentry.h b/libgimpwidgets/gimpscaleentry.h
index 7e14c5422d..f4644d4ceb 100644
--- a/libgimpwidgets/gimpscaleentry.h
+++ b/libgimpwidgets/gimpscaleentry.h
@@ -30,23 +30,8 @@
 
 G_BEGIN_DECLS
 
-#define GIMP_TYPE_SCALE_ENTRY            (gimp_scale_entry_get_type ())
-#define GIMP_SCALE_ENTRY(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_SCALE_ENTRY, 
GimpScaleEntry))
-#define GIMP_SCALE_ENTRY_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_SCALE_ENTRY, 
GimpScaleEntryClass))
-#define GIMP_IS_SCALE_ENTRY(obj)         (G_TYPE_CHECK_INSTANCE_TYPE (obj, GIMP_TYPE_SCALE_ENTRY))
-#define GIMP_IS_SCALE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_SCALE_ENTRY))
-#define GIMP_SCALE_ENTRY_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), GIMP_TYPE_SCALE_ENTRY, 
GimpScaleEntryClass))
-
-
-typedef struct _GimpScaleEntryPrivate GimpScaleEntryPrivate;
-typedef struct _GimpScaleEntryClass   GimpScaleEntryClass;
-
-struct _GimpScaleEntry
-{
-  GtkGrid                parent_instance;
-
-  GimpScaleEntryPrivate *priv;
-};
+#define GIMP_TYPE_SCALE_ENTRY (gimp_scale_entry_get_type ())
+G_DECLARE_DERIVABLE_TYPE (GimpScaleEntry, gimp_scale_entry, GIMP, SCALE_ENTRY, GtkGrid)
 
 struct _GimpScaleEntryClass
 {
@@ -69,8 +54,6 @@ struct _GimpScaleEntryClass
   void (* _gimp_reserved8) (void);
 };
 
-GType           gimp_scale_entry_get_type        (void) G_GNUC_CONST;
-
 GtkWidget     * gimp_scale_entry_new2            (const gchar *text,
                                                   gdouble      value,
                                                   gdouble      lower,
diff --git a/libgimpwidgets/gimpwidgets.def b/libgimpwidgets/gimpwidgets.def
index 1b0cf771cf..54e5bfa908 100644
--- a/libgimpwidgets/gimpwidgets.def
+++ b/libgimpwidgets/gimpwidgets.def
@@ -52,8 +52,6 @@ EXPORTS
        gimp_color_button_set_title
        gimp_color_button_set_type
        gimp_color_button_set_update
-       gimp_color_scale_entry_get_type
-       gimp_color_scale_entry_new2
        gimp_color_display_changed
        gimp_color_display_clone
        gimp_color_display_configure
@@ -101,7 +99,9 @@ EXPORTS
        gimp_color_profile_view_new
        gimp_color_profile_view_set_error
        gimp_color_profile_view_set_profile
+       gimp_color_scale_entry_get_type
        gimp_color_scale_entry_new
+       gimp_color_scale_entry_new2
        gimp_color_scale_get_type
        gimp_color_scale_new
        gimp_color_scale_set_channel


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