mirror of
https://gitlab.gnome.org/GNOME/gimp.git
synced 2025-07-03 09:23:24 +00:00
libgimpwidgets: GimpColorDisplayStack made final.
This commit is contained in:
parent
85c989da1e
commit
555ce20248
2 changed files with 33 additions and 88 deletions
|
@ -53,10 +53,12 @@ enum
|
|||
};
|
||||
|
||||
|
||||
typedef struct _GimpColorDisplayStackPrivate
|
||||
struct _GimpColorDisplayStack
|
||||
{
|
||||
GList *filters;
|
||||
} GimpColorDisplayStackPrivate;
|
||||
GObject parent;
|
||||
|
||||
GList *filters;
|
||||
};
|
||||
|
||||
|
||||
static void gimp_color_display_stack_dispose (GObject *object);
|
||||
|
@ -70,8 +72,7 @@ static void gimp_color_display_stack_disconnect (GimpColorDisplayStack *s
|
|||
GimpColorDisplay *display);
|
||||
|
||||
|
||||
G_DEFINE_TYPE_WITH_PRIVATE (GimpColorDisplayStack, gimp_color_display_stack,
|
||||
G_TYPE_OBJECT)
|
||||
G_DEFINE_TYPE (GimpColorDisplayStack, gimp_color_display_stack, G_TYPE_OBJECT)
|
||||
|
||||
#define parent_class gimp_color_display_stack_parent_class
|
||||
|
||||
|
@ -87,7 +88,7 @@ gimp_color_display_stack_class_init (GimpColorDisplayStackClass *klass)
|
|||
g_signal_new ("changed",
|
||||
G_TYPE_FROM_CLASS (klass),
|
||||
G_SIGNAL_RUN_FIRST,
|
||||
G_STRUCT_OFFSET (GimpColorDisplayStackClass, changed),
|
||||
0,
|
||||
NULL, NULL, NULL,
|
||||
G_TYPE_NONE, 0);
|
||||
|
||||
|
@ -95,7 +96,7 @@ gimp_color_display_stack_class_init (GimpColorDisplayStackClass *klass)
|
|||
g_signal_new ("added",
|
||||
G_TYPE_FROM_CLASS (klass),
|
||||
G_SIGNAL_RUN_FIRST,
|
||||
G_STRUCT_OFFSET (GimpColorDisplayStackClass, added),
|
||||
0,
|
||||
NULL, NULL,
|
||||
_gimp_widgets_marshal_VOID__OBJECT_INT,
|
||||
G_TYPE_NONE, 2,
|
||||
|
@ -106,7 +107,7 @@ gimp_color_display_stack_class_init (GimpColorDisplayStackClass *klass)
|
|||
g_signal_new ("removed",
|
||||
G_TYPE_FROM_CLASS (klass),
|
||||
G_SIGNAL_RUN_FIRST,
|
||||
G_STRUCT_OFFSET (GimpColorDisplayStackClass, removed),
|
||||
0,
|
||||
NULL, NULL, NULL,
|
||||
G_TYPE_NONE, 1,
|
||||
GIMP_TYPE_COLOR_DISPLAY);
|
||||
|
@ -115,7 +116,7 @@ gimp_color_display_stack_class_init (GimpColorDisplayStackClass *klass)
|
|||
g_signal_new ("reordered",
|
||||
G_TYPE_FROM_CLASS (klass),
|
||||
G_SIGNAL_RUN_FIRST,
|
||||
G_STRUCT_OFFSET (GimpColorDisplayStackClass, reordered),
|
||||
0,
|
||||
NULL, NULL,
|
||||
_gimp_widgets_marshal_VOID__OBJECT_INT,
|
||||
G_TYPE_NONE, 2,
|
||||
|
@ -123,11 +124,6 @@ gimp_color_display_stack_class_init (GimpColorDisplayStackClass *klass)
|
|||
G_TYPE_INT);
|
||||
|
||||
object_class->dispose = gimp_color_display_stack_dispose;
|
||||
|
||||
klass->changed = NULL;
|
||||
klass->added = NULL;
|
||||
klass->removed = NULL;
|
||||
klass->reordered = NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -138,14 +134,13 @@ gimp_color_display_stack_init (GimpColorDisplayStack *stack)
|
|||
static void
|
||||
gimp_color_display_stack_dispose (GObject *object)
|
||||
{
|
||||
GimpColorDisplayStack *stack = GIMP_COLOR_DISPLAY_STACK (object);
|
||||
GimpColorDisplayStackPrivate *private = gimp_color_display_stack_get_instance_private (stack);
|
||||
GimpColorDisplayStack *stack = GIMP_COLOR_DISPLAY_STACK (object);
|
||||
|
||||
if (private->filters)
|
||||
if (stack->filters)
|
||||
{
|
||||
GList *list;
|
||||
|
||||
for (list = private->filters; list; list = g_list_next (list))
|
||||
for (list = stack->filters; list; list = g_list_next (list))
|
||||
{
|
||||
GimpColorDisplay *display = list->data;
|
||||
|
||||
|
@ -153,8 +148,8 @@ gimp_color_display_stack_dispose (GObject *object)
|
|||
g_object_unref (display);
|
||||
}
|
||||
|
||||
g_list_free (private->filters);
|
||||
private->filters = NULL;
|
||||
g_list_free (stack->filters);
|
||||
stack->filters = NULL;
|
||||
}
|
||||
|
||||
G_OBJECT_CLASS (parent_class)->dispose (object);
|
||||
|
@ -192,17 +187,14 @@ gimp_color_display_stack_new (void)
|
|||
GimpColorDisplayStack *
|
||||
gimp_color_display_stack_clone (GimpColorDisplayStack *stack)
|
||||
{
|
||||
GimpColorDisplayStackPrivate *private;
|
||||
GimpColorDisplayStack *clone;
|
||||
GList *list;
|
||||
GimpColorDisplayStack *clone;
|
||||
GList *list;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_COLOR_DISPLAY_STACK (stack), NULL);
|
||||
|
||||
private = gimp_color_display_stack_get_instance_private (stack);
|
||||
|
||||
clone = g_object_new (GIMP_TYPE_COLOR_DISPLAY_STACK, NULL);
|
||||
|
||||
for (list = private->filters; list; list = g_list_next (list))
|
||||
for (list = stack->filters; list; list = g_list_next (list))
|
||||
{
|
||||
GimpColorDisplay *display;
|
||||
|
||||
|
@ -245,13 +237,9 @@ gimp_color_display_stack_changed (GimpColorDisplayStack *stack)
|
|||
GList *
|
||||
gimp_color_display_stack_get_filters (GimpColorDisplayStack *stack)
|
||||
{
|
||||
GimpColorDisplayStackPrivate *private;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_COLOR_DISPLAY_STACK (stack), NULL);
|
||||
|
||||
private = gimp_color_display_stack_get_instance_private (stack);
|
||||
|
||||
return private->filters;
|
||||
return stack->filters;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -267,16 +255,12 @@ void
|
|||
gimp_color_display_stack_add (GimpColorDisplayStack *stack,
|
||||
GimpColorDisplay *display)
|
||||
{
|
||||
GimpColorDisplayStackPrivate *private;
|
||||
|
||||
g_return_if_fail (GIMP_IS_COLOR_DISPLAY_STACK (stack));
|
||||
g_return_if_fail (GIMP_IS_COLOR_DISPLAY (display));
|
||||
|
||||
private = gimp_color_display_stack_get_instance_private (stack);
|
||||
g_return_if_fail (g_list_find (stack->filters, display) == NULL);
|
||||
|
||||
g_return_if_fail (g_list_find (private->filters, display) == NULL);
|
||||
|
||||
private->filters = g_list_append (private->filters, g_object_ref (display));
|
||||
stack->filters = g_list_append (stack->filters, g_object_ref (display));
|
||||
|
||||
g_signal_connect (display, "changed",
|
||||
G_CALLBACK (gimp_color_display_stack_display_changed),
|
||||
|
@ -286,7 +270,7 @@ gimp_color_display_stack_add (GimpColorDisplayStack *stack,
|
|||
G_OBJECT (stack));
|
||||
|
||||
g_signal_emit (stack, stack_signals[ADDED], 0,
|
||||
display, g_list_length (private->filters) - 1);
|
||||
display, g_list_length (stack->filters) - 1);
|
||||
|
||||
gimp_color_display_stack_changed (stack);
|
||||
}
|
||||
|
@ -304,18 +288,14 @@ void
|
|||
gimp_color_display_stack_remove (GimpColorDisplayStack *stack,
|
||||
GimpColorDisplay *display)
|
||||
{
|
||||
GimpColorDisplayStackPrivate *private;
|
||||
|
||||
g_return_if_fail (GIMP_IS_COLOR_DISPLAY_STACK (stack));
|
||||
g_return_if_fail (GIMP_IS_COLOR_DISPLAY (display));
|
||||
|
||||
private = gimp_color_display_stack_get_instance_private (stack);
|
||||
|
||||
g_return_if_fail (g_list_find (private->filters, display) != NULL);
|
||||
g_return_if_fail (g_list_find (stack->filters, display) != NULL);
|
||||
|
||||
gimp_color_display_stack_disconnect (stack, display);
|
||||
|
||||
private->filters = g_list_remove (private->filters, display);
|
||||
stack->filters = g_list_remove (stack->filters, display);
|
||||
|
||||
g_signal_emit (stack, stack_signals[REMOVED], 0, display);
|
||||
|
||||
|
@ -337,15 +317,12 @@ void
|
|||
gimp_color_display_stack_reorder_up (GimpColorDisplayStack *stack,
|
||||
GimpColorDisplay *display)
|
||||
{
|
||||
GimpColorDisplayStackPrivate *private;
|
||||
GList *list;
|
||||
GList *list;
|
||||
|
||||
g_return_if_fail (GIMP_IS_COLOR_DISPLAY_STACK (stack));
|
||||
g_return_if_fail (GIMP_IS_COLOR_DISPLAY (display));
|
||||
|
||||
private = gimp_color_display_stack_get_instance_private (stack);
|
||||
|
||||
list = g_list_find (private->filters, display);
|
||||
list = g_list_find (stack->filters, display);
|
||||
|
||||
g_return_if_fail (list != NULL);
|
||||
|
||||
|
@ -355,7 +332,7 @@ gimp_color_display_stack_reorder_up (GimpColorDisplayStack *stack,
|
|||
list->prev->data = display;
|
||||
|
||||
g_signal_emit (stack, stack_signals[REORDERED], 0,
|
||||
display, g_list_position (private->filters, list->prev));
|
||||
display, g_list_position (stack->filters, list->prev));
|
||||
|
||||
gimp_color_display_stack_changed (stack);
|
||||
}
|
||||
|
@ -374,15 +351,12 @@ void
|
|||
gimp_color_display_stack_reorder_down (GimpColorDisplayStack *stack,
|
||||
GimpColorDisplay *display)
|
||||
{
|
||||
GimpColorDisplayStackPrivate *private;
|
||||
GList *list;
|
||||
GList *list;
|
||||
|
||||
g_return_if_fail (GIMP_IS_COLOR_DISPLAY_STACK (stack));
|
||||
g_return_if_fail (GIMP_IS_COLOR_DISPLAY (display));
|
||||
|
||||
private = gimp_color_display_stack_get_instance_private (stack);
|
||||
|
||||
list = g_list_find (private->filters, display);
|
||||
list = g_list_find (stack->filters, display);
|
||||
|
||||
g_return_if_fail (list != NULL);
|
||||
|
||||
|
@ -392,7 +366,7 @@ gimp_color_display_stack_reorder_down (GimpColorDisplayStack *stack,
|
|||
list->next->data = display;
|
||||
|
||||
g_signal_emit (stack, stack_signals[REORDERED], 0,
|
||||
display, g_list_position (private->filters, list->next));
|
||||
display, g_list_position (stack->filters, list->next));
|
||||
|
||||
gimp_color_display_stack_changed (stack);
|
||||
}
|
||||
|
@ -413,15 +387,12 @@ gimp_color_display_stack_convert_buffer (GimpColorDisplayStack *stack,
|
|||
GeglBuffer *buffer,
|
||||
GeglRectangle *area)
|
||||
{
|
||||
GimpColorDisplayStackPrivate *private;
|
||||
GList *list;
|
||||
GList *list;
|
||||
|
||||
g_return_if_fail (GIMP_IS_COLOR_DISPLAY_STACK (stack));
|
||||
g_return_if_fail (GEGL_IS_BUFFER (buffer));
|
||||
|
||||
private = gimp_color_display_stack_get_instance_private (stack);
|
||||
|
||||
for (list = private->filters; list; list = g_list_next (list))
|
||||
for (list = stack->filters; list; list = g_list_next (list))
|
||||
{
|
||||
GimpColorDisplay *display = list->data;
|
||||
|
||||
|
|
|
@ -32,33 +32,7 @@ G_BEGIN_DECLS
|
|||
|
||||
|
||||
#define GIMP_TYPE_COLOR_DISPLAY_STACK (gimp_color_display_stack_get_type ())
|
||||
G_DECLARE_DERIVABLE_TYPE (GimpColorDisplayStack, gimp_color_display_stack, GIMP, COLOR_DISPLAY_STACK, GObject)
|
||||
|
||||
struct _GimpColorDisplayStackClass
|
||||
{
|
||||
GObjectClass parent_class;
|
||||
|
||||
void (* changed) (GimpColorDisplayStack *stack);
|
||||
|
||||
void (* added) (GimpColorDisplayStack *stack,
|
||||
GimpColorDisplay *display,
|
||||
gint position);
|
||||
void (* removed) (GimpColorDisplayStack *stack,
|
||||
GimpColorDisplay *display);
|
||||
void (* reordered) (GimpColorDisplayStack *stack,
|
||||
GimpColorDisplay *display,
|
||||
gint position);
|
||||
|
||||
/* 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 (GimpColorDisplayStack, gimp_color_display_stack, GIMP, COLOR_DISPLAY_STACK, GObject)
|
||||
|
||||
|
||||
GimpColorDisplayStack * gimp_color_display_stack_new (void);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue