mirror of
https://gitlab.gnome.org/GNOME/gimp.git
synced 2025-07-03 17:33:25 +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
|
||||||
{
|
{
|
||||||
|
GObject parent;
|
||||||
|
|
||||||
GList *filters;
|
GList *filters;
|
||||||
} GimpColorDisplayStackPrivate;
|
};
|
||||||
|
|
||||||
|
|
||||||
static void gimp_color_display_stack_dispose (GObject *object);
|
static void gimp_color_display_stack_dispose (GObject *object);
|
||||||
|
@ -70,8 +72,7 @@ static void gimp_color_display_stack_disconnect (GimpColorDisplayStack *s
|
||||||
GimpColorDisplay *display);
|
GimpColorDisplay *display);
|
||||||
|
|
||||||
|
|
||||||
G_DEFINE_TYPE_WITH_PRIVATE (GimpColorDisplayStack, gimp_color_display_stack,
|
G_DEFINE_TYPE (GimpColorDisplayStack, gimp_color_display_stack, G_TYPE_OBJECT)
|
||||||
G_TYPE_OBJECT)
|
|
||||||
|
|
||||||
#define parent_class gimp_color_display_stack_parent_class
|
#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_signal_new ("changed",
|
||||||
G_TYPE_FROM_CLASS (klass),
|
G_TYPE_FROM_CLASS (klass),
|
||||||
G_SIGNAL_RUN_FIRST,
|
G_SIGNAL_RUN_FIRST,
|
||||||
G_STRUCT_OFFSET (GimpColorDisplayStackClass, changed),
|
0,
|
||||||
NULL, NULL, NULL,
|
NULL, NULL, NULL,
|
||||||
G_TYPE_NONE, 0);
|
G_TYPE_NONE, 0);
|
||||||
|
|
||||||
|
@ -95,7 +96,7 @@ gimp_color_display_stack_class_init (GimpColorDisplayStackClass *klass)
|
||||||
g_signal_new ("added",
|
g_signal_new ("added",
|
||||||
G_TYPE_FROM_CLASS (klass),
|
G_TYPE_FROM_CLASS (klass),
|
||||||
G_SIGNAL_RUN_FIRST,
|
G_SIGNAL_RUN_FIRST,
|
||||||
G_STRUCT_OFFSET (GimpColorDisplayStackClass, added),
|
0,
|
||||||
NULL, NULL,
|
NULL, NULL,
|
||||||
_gimp_widgets_marshal_VOID__OBJECT_INT,
|
_gimp_widgets_marshal_VOID__OBJECT_INT,
|
||||||
G_TYPE_NONE, 2,
|
G_TYPE_NONE, 2,
|
||||||
|
@ -106,7 +107,7 @@ gimp_color_display_stack_class_init (GimpColorDisplayStackClass *klass)
|
||||||
g_signal_new ("removed",
|
g_signal_new ("removed",
|
||||||
G_TYPE_FROM_CLASS (klass),
|
G_TYPE_FROM_CLASS (klass),
|
||||||
G_SIGNAL_RUN_FIRST,
|
G_SIGNAL_RUN_FIRST,
|
||||||
G_STRUCT_OFFSET (GimpColorDisplayStackClass, removed),
|
0,
|
||||||
NULL, NULL, NULL,
|
NULL, NULL, NULL,
|
||||||
G_TYPE_NONE, 1,
|
G_TYPE_NONE, 1,
|
||||||
GIMP_TYPE_COLOR_DISPLAY);
|
GIMP_TYPE_COLOR_DISPLAY);
|
||||||
|
@ -115,7 +116,7 @@ gimp_color_display_stack_class_init (GimpColorDisplayStackClass *klass)
|
||||||
g_signal_new ("reordered",
|
g_signal_new ("reordered",
|
||||||
G_TYPE_FROM_CLASS (klass),
|
G_TYPE_FROM_CLASS (klass),
|
||||||
G_SIGNAL_RUN_FIRST,
|
G_SIGNAL_RUN_FIRST,
|
||||||
G_STRUCT_OFFSET (GimpColorDisplayStackClass, reordered),
|
0,
|
||||||
NULL, NULL,
|
NULL, NULL,
|
||||||
_gimp_widgets_marshal_VOID__OBJECT_INT,
|
_gimp_widgets_marshal_VOID__OBJECT_INT,
|
||||||
G_TYPE_NONE, 2,
|
G_TYPE_NONE, 2,
|
||||||
|
@ -123,11 +124,6 @@ gimp_color_display_stack_class_init (GimpColorDisplayStackClass *klass)
|
||||||
G_TYPE_INT);
|
G_TYPE_INT);
|
||||||
|
|
||||||
object_class->dispose = gimp_color_display_stack_dispose;
|
object_class->dispose = gimp_color_display_stack_dispose;
|
||||||
|
|
||||||
klass->changed = NULL;
|
|
||||||
klass->added = NULL;
|
|
||||||
klass->removed = NULL;
|
|
||||||
klass->reordered = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -139,13 +135,12 @@ static void
|
||||||
gimp_color_display_stack_dispose (GObject *object)
|
gimp_color_display_stack_dispose (GObject *object)
|
||||||
{
|
{
|
||||||
GimpColorDisplayStack *stack = GIMP_COLOR_DISPLAY_STACK (object);
|
GimpColorDisplayStack *stack = GIMP_COLOR_DISPLAY_STACK (object);
|
||||||
GimpColorDisplayStackPrivate *private = gimp_color_display_stack_get_instance_private (stack);
|
|
||||||
|
|
||||||
if (private->filters)
|
if (stack->filters)
|
||||||
{
|
{
|
||||||
GList *list;
|
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;
|
GimpColorDisplay *display = list->data;
|
||||||
|
|
||||||
|
@ -153,8 +148,8 @@ gimp_color_display_stack_dispose (GObject *object)
|
||||||
g_object_unref (display);
|
g_object_unref (display);
|
||||||
}
|
}
|
||||||
|
|
||||||
g_list_free (private->filters);
|
g_list_free (stack->filters);
|
||||||
private->filters = NULL;
|
stack->filters = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
G_OBJECT_CLASS (parent_class)->dispose (object);
|
G_OBJECT_CLASS (parent_class)->dispose (object);
|
||||||
|
@ -192,17 +187,14 @@ gimp_color_display_stack_new (void)
|
||||||
GimpColorDisplayStack *
|
GimpColorDisplayStack *
|
||||||
gimp_color_display_stack_clone (GimpColorDisplayStack *stack)
|
gimp_color_display_stack_clone (GimpColorDisplayStack *stack)
|
||||||
{
|
{
|
||||||
GimpColorDisplayStackPrivate *private;
|
|
||||||
GimpColorDisplayStack *clone;
|
GimpColorDisplayStack *clone;
|
||||||
GList *list;
|
GList *list;
|
||||||
|
|
||||||
g_return_val_if_fail (GIMP_IS_COLOR_DISPLAY_STACK (stack), NULL);
|
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);
|
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;
|
GimpColorDisplay *display;
|
||||||
|
|
||||||
|
@ -245,13 +237,9 @@ gimp_color_display_stack_changed (GimpColorDisplayStack *stack)
|
||||||
GList *
|
GList *
|
||||||
gimp_color_display_stack_get_filters (GimpColorDisplayStack *stack)
|
gimp_color_display_stack_get_filters (GimpColorDisplayStack *stack)
|
||||||
{
|
{
|
||||||
GimpColorDisplayStackPrivate *private;
|
|
||||||
|
|
||||||
g_return_val_if_fail (GIMP_IS_COLOR_DISPLAY_STACK (stack), NULL);
|
g_return_val_if_fail (GIMP_IS_COLOR_DISPLAY_STACK (stack), NULL);
|
||||||
|
|
||||||
private = gimp_color_display_stack_get_instance_private (stack);
|
return stack->filters;
|
||||||
|
|
||||||
return private->filters;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -267,16 +255,12 @@ void
|
||||||
gimp_color_display_stack_add (GimpColorDisplayStack *stack,
|
gimp_color_display_stack_add (GimpColorDisplayStack *stack,
|
||||||
GimpColorDisplay *display)
|
GimpColorDisplay *display)
|
||||||
{
|
{
|
||||||
GimpColorDisplayStackPrivate *private;
|
|
||||||
|
|
||||||
g_return_if_fail (GIMP_IS_COLOR_DISPLAY_STACK (stack));
|
g_return_if_fail (GIMP_IS_COLOR_DISPLAY_STACK (stack));
|
||||||
g_return_if_fail (GIMP_IS_COLOR_DISPLAY (display));
|
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);
|
stack->filters = g_list_append (stack->filters, g_object_ref (display));
|
||||||
|
|
||||||
private->filters = g_list_append (private->filters, g_object_ref (display));
|
|
||||||
|
|
||||||
g_signal_connect (display, "changed",
|
g_signal_connect (display, "changed",
|
||||||
G_CALLBACK (gimp_color_display_stack_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_OBJECT (stack));
|
||||||
|
|
||||||
g_signal_emit (stack, stack_signals[ADDED], 0,
|
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);
|
gimp_color_display_stack_changed (stack);
|
||||||
}
|
}
|
||||||
|
@ -304,18 +288,14 @@ void
|
||||||
gimp_color_display_stack_remove (GimpColorDisplayStack *stack,
|
gimp_color_display_stack_remove (GimpColorDisplayStack *stack,
|
||||||
GimpColorDisplay *display)
|
GimpColorDisplay *display)
|
||||||
{
|
{
|
||||||
GimpColorDisplayStackPrivate *private;
|
|
||||||
|
|
||||||
g_return_if_fail (GIMP_IS_COLOR_DISPLAY_STACK (stack));
|
g_return_if_fail (GIMP_IS_COLOR_DISPLAY_STACK (stack));
|
||||||
g_return_if_fail (GIMP_IS_COLOR_DISPLAY (display));
|
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);
|
|
||||||
|
|
||||||
gimp_color_display_stack_disconnect (stack, display);
|
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);
|
g_signal_emit (stack, stack_signals[REMOVED], 0, display);
|
||||||
|
|
||||||
|
@ -337,15 +317,12 @@ void
|
||||||
gimp_color_display_stack_reorder_up (GimpColorDisplayStack *stack,
|
gimp_color_display_stack_reorder_up (GimpColorDisplayStack *stack,
|
||||||
GimpColorDisplay *display)
|
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_STACK (stack));
|
||||||
g_return_if_fail (GIMP_IS_COLOR_DISPLAY (display));
|
g_return_if_fail (GIMP_IS_COLOR_DISPLAY (display));
|
||||||
|
|
||||||
private = gimp_color_display_stack_get_instance_private (stack);
|
list = g_list_find (stack->filters, display);
|
||||||
|
|
||||||
list = g_list_find (private->filters, display);
|
|
||||||
|
|
||||||
g_return_if_fail (list != NULL);
|
g_return_if_fail (list != NULL);
|
||||||
|
|
||||||
|
@ -355,7 +332,7 @@ gimp_color_display_stack_reorder_up (GimpColorDisplayStack *stack,
|
||||||
list->prev->data = display;
|
list->prev->data = display;
|
||||||
|
|
||||||
g_signal_emit (stack, stack_signals[REORDERED], 0,
|
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);
|
gimp_color_display_stack_changed (stack);
|
||||||
}
|
}
|
||||||
|
@ -374,15 +351,12 @@ void
|
||||||
gimp_color_display_stack_reorder_down (GimpColorDisplayStack *stack,
|
gimp_color_display_stack_reorder_down (GimpColorDisplayStack *stack,
|
||||||
GimpColorDisplay *display)
|
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_STACK (stack));
|
||||||
g_return_if_fail (GIMP_IS_COLOR_DISPLAY (display));
|
g_return_if_fail (GIMP_IS_COLOR_DISPLAY (display));
|
||||||
|
|
||||||
private = gimp_color_display_stack_get_instance_private (stack);
|
list = g_list_find (stack->filters, display);
|
||||||
|
|
||||||
list = g_list_find (private->filters, display);
|
|
||||||
|
|
||||||
g_return_if_fail (list != NULL);
|
g_return_if_fail (list != NULL);
|
||||||
|
|
||||||
|
@ -392,7 +366,7 @@ gimp_color_display_stack_reorder_down (GimpColorDisplayStack *stack,
|
||||||
list->next->data = display;
|
list->next->data = display;
|
||||||
|
|
||||||
g_signal_emit (stack, stack_signals[REORDERED], 0,
|
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);
|
gimp_color_display_stack_changed (stack);
|
||||||
}
|
}
|
||||||
|
@ -413,15 +387,12 @@ gimp_color_display_stack_convert_buffer (GimpColorDisplayStack *stack,
|
||||||
GeglBuffer *buffer,
|
GeglBuffer *buffer,
|
||||||
GeglRectangle *area)
|
GeglRectangle *area)
|
||||||
{
|
{
|
||||||
GimpColorDisplayStackPrivate *private;
|
|
||||||
GList *list;
|
GList *list;
|
||||||
|
|
||||||
g_return_if_fail (GIMP_IS_COLOR_DISPLAY_STACK (stack));
|
g_return_if_fail (GIMP_IS_COLOR_DISPLAY_STACK (stack));
|
||||||
g_return_if_fail (GEGL_IS_BUFFER (buffer));
|
g_return_if_fail (GEGL_IS_BUFFER (buffer));
|
||||||
|
|
||||||
private = gimp_color_display_stack_get_instance_private (stack);
|
for (list = stack->filters; list; list = g_list_next (list))
|
||||||
|
|
||||||
for (list = private->filters; list; list = g_list_next (list))
|
|
||||||
{
|
{
|
||||||
GimpColorDisplay *display = list->data;
|
GimpColorDisplay *display = list->data;
|
||||||
|
|
||||||
|
|
|
@ -32,33 +32,7 @@ G_BEGIN_DECLS
|
||||||
|
|
||||||
|
|
||||||
#define GIMP_TYPE_COLOR_DISPLAY_STACK (gimp_color_display_stack_get_type ())
|
#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)
|
G_DECLARE_FINAL_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);
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
GimpColorDisplayStack * gimp_color_display_stack_new (void);
|
GimpColorDisplayStack * gimp_color_display_stack_new (void);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue