libgimp: Make GimpProgressBar a final type

This commit is contained in:
Alx Sa 2024-07-30 13:52:26 +00:00
parent f543b2c799
commit 47c7bfba29
2 changed files with 16 additions and 44 deletions

View File

@ -43,10 +43,13 @@
**/
typedef struct _GimpProgressBarPrivate
struct _GimpProgressBar
{
GBytes *window_handle;
} GimpProgressBarPrivate;
GtkProgressBar parent_instance;
const gchar *progress_callback;
GBytes *window_handle;
};
static void gimp_progress_bar_dispose (GObject *object);
@ -63,7 +66,7 @@ static void gimp_progress_bar_pulse (gpointer user_data);
static GBytes * gimp_progress_bar_get_window_handle (gpointer user_data);
G_DEFINE_TYPE_WITH_PRIVATE (GimpProgressBar, gimp_progress_bar, GTK_TYPE_PROGRESS_BAR)
G_DEFINE_TYPE (GimpProgressBar, gimp_progress_bar, GTK_TYPE_PROGRESS_BAR)
#define parent_class gimp_progress_bar_parent_class
@ -79,8 +82,7 @@ gimp_progress_bar_class_init (GimpProgressBarClass *klass)
static void
gimp_progress_bar_init (GimpProgressBar *bar)
{
GimpProgressVtable vtable = { 0, };
GimpProgressBarPrivate *priv = gimp_progress_bar_get_instance_private (bar);
GimpProgressVtable vtable = { 0, };
gtk_progress_bar_set_text (GTK_PROGRESS_BAR (bar), " ");
gtk_progress_bar_set_ellipsize (GTK_PROGRESS_BAR (bar), PANGO_ELLIPSIZE_END);
@ -94,14 +96,13 @@ gimp_progress_bar_init (GimpProgressBar *bar)
bar->progress_callback = gimp_progress_install_vtable (&vtable, bar, NULL);
gimp_widget_set_native_handle (GTK_WIDGET (bar), &priv->window_handle);
gimp_widget_set_native_handle (GTK_WIDGET (bar), &bar->window_handle);
}
static void
gimp_progress_bar_dispose (GObject *object)
{
GimpProgressBar *bar = GIMP_PROGRESS_BAR (object);
GimpProgressBarPrivate *priv = gimp_progress_bar_get_instance_private (bar);
GimpProgressBar *bar = GIMP_PROGRESS_BAR (object);
if (bar->progress_callback)
{
@ -109,7 +110,7 @@ gimp_progress_bar_dispose (GObject *object)
bar->progress_callback = NULL;
}
gimp_widget_free_native_handle (GTK_WIDGET (bar), &priv->window_handle);
gimp_widget_free_native_handle (GTK_WIDGET (bar), &bar->window_handle);
G_OBJECT_CLASS (parent_class)->dispose (object);
}
@ -186,10 +187,9 @@ gimp_progress_bar_pulse (gpointer user_data)
static GBytes *
gimp_progress_bar_get_window_handle (gpointer user_data)
{
GimpProgressBar *bar = GIMP_PROGRESS_BAR (user_data);
GimpProgressBarPrivate *priv = gimp_progress_bar_get_instance_private (bar);
GimpProgressBar *bar = GIMP_PROGRESS_BAR (user_data);
return g_bytes_ref (priv->window_handle);
return g_bytes_ref (bar->window_handle);
}
/**

View File

@ -29,39 +29,11 @@
G_BEGIN_DECLS
#define GIMP_TYPE_PROGRESS_BAR (gimp_progress_bar_get_type ())
#define GIMP_PROGRESS_BAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_PROGRESS_BAR, GimpProgressBar))
#define GIMP_PROGRESS_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_PROGRESS_BAR, GimpProgressBarClass))
#define GIMP_IS_PROGRESS_BAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIMP_TYPE_PROGRESS_BAR))
#define GIMP_IS_PROGRESS_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_PROGRESS_BAR))
#define GIMP_PROGRESS_BAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GIMP_TYPE_PROGRESS_BAR, GimpProgressBarClass))
#define GIMP_TYPE_PROGRESS_BAR (gimp_progress_bar_get_type ())
G_DECLARE_FINAL_TYPE (GimpProgressBar, gimp_progress_bar, GIMP, PROGRESS_BAR, GtkProgressBar)
typedef struct _GimpProgressBarClass GimpProgressBarClass;
struct _GimpProgressBar
{
GtkProgressBar parent_instance;
const gchar *progress_callback;
gboolean cancelable;
};
struct _GimpProgressBarClass
{
GtkProgressBarClass parent_class;
/* Padding for future expansion */
void (* _gimp_reserved1) (void);
void (* _gimp_reserved2) (void);
void (* _gimp_reserved3) (void);
void (* _gimp_reserved4) (void);
};
GType gimp_progress_bar_get_type (void) G_GNUC_CONST;
GtkWidget * gimp_progress_bar_new (void);
GtkWidget * gimp_progress_bar_new (void);
G_END_DECLS