## GOColorGroup

GOColorGroup

## Synopsis

                        GOColorGroup;
    #define             GO_COLOR_GROUP_HISTORY_SIZE
    void                go_color_group_add_color            (GOColorGroup *cg,
                                                             GOColor c);
    GOColorGroup *      go_color_group_fetch                (char const *name,
                                                             gpointer context);
    GOColorGroup *      go_color_group_find                 (char const *name,
                                                             gpointer context);

## Object Hierarchy

      GObject
       +----GOColorGroup

## Signals

      "history-changed"                                : Run Last

## Description

## Details

### GOColorGroup

    typedef struct _GOColorGroup GOColorGroup;

### GO_COLOR_GROUP_HISTORY_SIZE

    #define GO_COLOR_GROUP_HISTORY_SIZE 8

### go_color_group_add_color ()

    void                go_color_group_add_color            (GOColorGroup *cg,
                                                             GOColor c);

Potentially slide the history to add the new colour. If it was already in the history reorder.

`cg` : | GOColorGroup
`c` : | the color

### go_color_group_fetch ()

    GOColorGroup *      go_color_group_fetch                (char const *name,
                                                             gpointer context);

if name is NULL or a name not currently in use by another group then a new group is created and returned. If name was NULL then the new group is given a unique name prefixed by "__cg_autogen_name__" (thereby insuring namespace separation). If name was already used by a group then the reference count is incremented and a pointer to the group is returned.

`name` : | target name
`context` : | identifying context
Returns : | A GOColorGroup. [transfer full]

### go_color_group_find ()

    GOColorGroup *      go_color_group_find                 (char const *name,
                                                             gpointer context);

No reference is added if it is found.

`name` : | target name
`context` : | an arbitrary id to identify what context to search in
Returns : | Look up the name/context specific color-group. `NULL` if it is not found. [transfer none]

## Signal Details

### The `"history-changed"` signal

    void                user_function                      (GOColorGroup *gocolorgroup,
                                                            gpointer      user_data)         : Run Last

`gocolorgroup` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.