From bced3c5e046413dab990f70f76f5f6eac495def8 Mon Sep 17 00:00:00 2001 From: Alx Sa Date: Tue, 22 Oct 2024 04:23:46 +0000 Subject: [PATCH] libgimpwidgets: GimpUnitComboBox and GimpZoomModel... ...are now FINAL TYPEs. --- libgimpwidgets/gimpunitcombobox.c | 6 +++ libgimpwidgets/gimpunitcombobox.h | 16 +------ libgimpwidgets/gimpzoommodel.c | 79 ++++++++++++------------------- libgimpwidgets/gimpzoommodel.h | 21 +------- 4 files changed, 39 insertions(+), 83 deletions(-) diff --git a/libgimpwidgets/gimpunitcombobox.c b/libgimpwidgets/gimpunitcombobox.c index d323cc4e96..c8c0a27751 100644 --- a/libgimpwidgets/gimpunitcombobox.c +++ b/libgimpwidgets/gimpunitcombobox.c @@ -39,6 +39,12 @@ **/ +struct _GimpUnitComboBox +{ + GtkComboBox parent_instance; +}; + + static void gimp_unit_combo_box_popup_shown (GimpUnitComboBox *widget); static void gimp_unit_combo_box_constructed (GObject *object); diff --git a/libgimpwidgets/gimpunitcombobox.h b/libgimpwidgets/gimpunitcombobox.h index 2f5256aabc..0f935a6ac0 100644 --- a/libgimpwidgets/gimpunitcombobox.h +++ b/libgimpwidgets/gimpunitcombobox.h @@ -30,21 +30,7 @@ G_BEGIN_DECLS #define GIMP_TYPE_UNIT_COMBO_BOX (gimp_unit_combo_box_get_type ()) -G_DECLARE_DERIVABLE_TYPE (GimpUnitComboBox, gimp_unit_combo_box, GIMP, UNIT_COMBO_BOX, GtkComboBox) -struct _GimpUnitComboBoxClass -{ - GtkComboBoxClass 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); -}; +G_DECLARE_FINAL_TYPE (GimpUnitComboBox, gimp_unit_combo_box, GIMP, UNIT_COMBO_BOX, GtkComboBox) GtkWidget * gimp_unit_combo_box_new (void); diff --git a/libgimpwidgets/gimpzoommodel.c b/libgimpwidgets/gimpzoommodel.c index cd253efdd1..e842d1976a 100644 --- a/libgimpwidgets/gimpzoommodel.c +++ b/libgimpwidgets/gimpzoommodel.c @@ -63,12 +63,14 @@ enum }; -typedef struct _GimpZoomModelPrivate +struct _GimpZoomModel { + GObject parent_instance; + gdouble value; gdouble minimum; gdouble maximum; -} GimpZoomModelPrivate; +}; static void gimp_zoom_model_set_property (GObject *object, @@ -84,7 +86,7 @@ static void gimp_zoom_model_get_property (GObject *object, static guint zoom_model_signals[LAST_SIGNAL] = { 0, }; static GParamSpec *object_props[N_PROPS] = { NULL, }; -G_DEFINE_TYPE_WITH_PRIVATE (GimpZoomModel, gimp_zoom_model, G_TYPE_OBJECT) +G_DEFINE_TYPE (GimpZoomModel, gimp_zoom_model, G_TYPE_OBJECT) #define parent_class gimp_zoom_model_parent_class @@ -106,8 +108,7 @@ gimp_zoom_model_class_init (GimpZoomModelClass *klass) g_signal_new ("zoomed", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (GimpZoomModelClass, - zoomed), + 0, NULL, NULL, _gimp_widgets_marshal_VOID__DOUBLE_DOUBLE, G_TYPE_NONE, 2, @@ -177,13 +178,9 @@ gimp_zoom_model_class_init (GimpZoomModelClass *klass) static void gimp_zoom_model_init (GimpZoomModel *model) { - GimpZoomModelPrivate *priv; - - priv = gimp_zoom_model_get_instance_private (model); - - priv->value = 1.0; - priv->minimum = ZOOM_MIN; - priv->maximum = ZOOM_MAX; + model->value = 1.0; + model->minimum = ZOOM_MIN; + model->maximum = ZOOM_MAX; } static void @@ -192,17 +189,16 @@ gimp_zoom_model_set_property (GObject *object, const GValue *value, GParamSpec *pspec) { - GimpZoomModel *model = GIMP_ZOOM_MODEL (object); - GimpZoomModelPrivate *priv = gimp_zoom_model_get_instance_private (model); - gdouble previous_value; + GimpZoomModel *model = GIMP_ZOOM_MODEL (object); + gdouble previous_value; - previous_value = priv->value; + previous_value = model->value; g_object_freeze_notify (object); switch (property_id) { case PROP_VALUE: - priv->value = g_value_get_double (value); + model->value = g_value_get_double (value); g_object_notify_by_pspec (object, object_props[PROP_VALUE]); g_object_notify_by_pspec (object, object_props[PROP_FRACTION]); @@ -210,11 +206,11 @@ gimp_zoom_model_set_property (GObject *object, break; case PROP_MINIMUM: - priv->minimum = MIN (g_value_get_double (value), priv->maximum); + model->minimum = MIN (g_value_get_double (value), model->maximum); break; case PROP_MAXIMUM: - priv->maximum = MAX (g_value_get_double (value), priv->minimum); + model->maximum = MAX (g_value_get_double (value), model->minimum); break; default: @@ -222,9 +218,9 @@ gimp_zoom_model_set_property (GObject *object, break; } - if (priv->value > priv->maximum || priv->value < priv->minimum) + if (model->value > model->maximum || model->value < model->minimum) { - priv->value = CLAMP (priv->value, priv->minimum, priv->maximum); + model->value = CLAMP (model->value, model->minimum, model->maximum); g_object_notify_by_pspec (object, object_props[PROP_VALUE]); g_object_notify_by_pspec (object, object_props[PROP_FRACTION]); @@ -233,10 +229,10 @@ gimp_zoom_model_set_property (GObject *object, g_object_thaw_notify (object); - if (priv->value != previous_value) + if (model->value != previous_value) { g_signal_emit (object, zoom_model_signals[ZOOMED], - 0, previous_value, priv->value); + 0, previous_value, model->value); } } @@ -246,22 +242,21 @@ gimp_zoom_model_get_property (GObject *object, GValue *value, GParamSpec *pspec) { - GimpZoomModel *model = GIMP_ZOOM_MODEL (object); - GimpZoomModelPrivate *priv = gimp_zoom_model_get_instance_private (model); - gchar *tmp; + GimpZoomModel *model = GIMP_ZOOM_MODEL (object); + gchar *tmp; switch (property_id) { case PROP_VALUE: - g_value_set_double (value, priv->value); + g_value_set_double (value, model->value); break; case PROP_MINIMUM: - g_value_set_double (value, priv->minimum); + g_value_set_double (value, model->minimum); break; case PROP_MAXIMUM: - g_value_set_double (value, priv->maximum); + g_value_set_double (value, model->maximum); break; case PROP_FRACTION: @@ -279,8 +274,8 @@ gimp_zoom_model_get_property (GObject *object, break; case PROP_PERCENTAGE: - tmp = g_strdup_printf (priv->value >= 0.15 ? "%.0f%%" : "%.2f%%", - priv->value * 100.0); + tmp = g_strdup_printf (model->value >= 0.15 ? "%.0f%%" : "%.2f%%", + model->value * 100.0); g_value_set_string (value, tmp); g_free (tmp); break; @@ -294,18 +289,14 @@ gimp_zoom_model_get_property (GObject *object, static void gimp_zoom_model_zoom_in (GimpZoomModel *model) { - GimpZoomModelPrivate *priv = gimp_zoom_model_get_instance_private (model); - - if (priv->value < priv->maximum) + if (model->value < model->maximum) gimp_zoom_model_zoom (model, GIMP_ZOOM_IN, 0.0); } static void gimp_zoom_model_zoom_out (GimpZoomModel *model) { - GimpZoomModelPrivate *priv = gimp_zoom_model_get_instance_private (model); - - if (priv->value > priv->minimum) + if (model->value > model->minimum) gimp_zoom_model_zoom (model, GIMP_ZOOM_OUT, 0.0); } @@ -392,13 +383,9 @@ gimp_zoom_model_zoom (GimpZoomModel *model, gdouble gimp_zoom_model_get_factor (GimpZoomModel *model) { - GimpZoomModelPrivate *priv; - g_return_val_if_fail (GIMP_IS_ZOOM_MODEL (model), 1.0); - priv = gimp_zoom_model_get_instance_private (model); - - return priv->value; + return model->value; } @@ -519,9 +506,7 @@ zoom_in_button_callback (GimpZoomModel *model, gdouble new, GtkWidget *button) { - GimpZoomModelPrivate *priv = gimp_zoom_model_get_instance_private (model); - - gtk_widget_set_sensitive (button, priv->value != priv->maximum); + gtk_widget_set_sensitive (button, model->value != model->maximum); } static void @@ -530,9 +515,7 @@ zoom_out_button_callback (GimpZoomModel *model, gdouble new, GtkWidget *button) { - GimpZoomModelPrivate *priv = gimp_zoom_model_get_instance_private (model); - - gtk_widget_set_sensitive (button, priv->value != priv->minimum); + gtk_widget_set_sensitive (button, model->value != model->minimum); } /** diff --git a/libgimpwidgets/gimpzoommodel.h b/libgimpwidgets/gimpzoommodel.h index 2eeecdf6f7..4365eb724b 100644 --- a/libgimpwidgets/gimpzoommodel.h +++ b/libgimpwidgets/gimpzoommodel.h @@ -30,26 +30,7 @@ G_BEGIN_DECLS #define GIMP_TYPE_ZOOM_MODEL (gimp_zoom_model_get_type ()) -G_DECLARE_DERIVABLE_TYPE (GimpZoomModel, gimp_zoom_model, GIMP, ZOOM_MODEL, GtkGrid) - -struct _GimpZoomModelClass -{ - GObjectClass parent_class; - - void (* zoomed) (GimpZoomModel *model, - gdouble old_factor, - gdouble new_factor); - - /* 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); -}; +G_DECLARE_FINAL_TYPE (GimpZoomModel, gimp_zoom_model, GIMP, ZOOM_MODEL, GObject) GimpZoomModel * gimp_zoom_model_new (void);