## GtkIconList GtkIconList |

## Synopsis

    #include <gtkextra.h>

    enum                GtkIconListMode;
    #define             GTK_TYPE_ICON_LIST_ITEM
                        GtkIconListItem;
    GtkType             gtk_icon_list_item_get_type         (void);
    GtkWidget*          gtk_icon_list_new                   (guint icon_width,
                                                             GtkIconListMode mode);
    void                gtk_icon_list_construct             (GtkIconList *icon_list,
                                                             guint icon_width,
                                                             GtkIconListMode mode);
    void                gtk_icon_list_set_mode              (GtkIconList *iconlist,
                                                             GtkIconListMode mode);
    GtkIconListMode     gtk_icon_list_get_mode              (GtkIconList *iconlist);
    void                gtk_icon_list_set_editable          (GtkIconList *iconlist,
                                                             gboolean editable);
    gboolean            gtk_icon_list_is_editable           (GtkIconList *iconlist);
    void                gtk_icon_list_set_row_spacing       (GtkIconList *iconlist,
                                                             guint spacing);
    guint               gtk_icon_list_get_row_spacing       (GtkIconList *iconlist);
    void                gtk_icon_list_set_col_spacing       (GtkIconList *iconlist,
                                                             guint spacing);
    guint               gtk_icon_list_get_col_spacing       (GtkIconList *iconlist);
    void                gtk_icon_list_set_text_space        (GtkIconList *iconlist,
                                                             guint space);
    guint               gtk_icon_list_get_text_space        (GtkIconList *iconlist);
    void                gtk_icon_list_set_icon_border       (GtkIconList *iconlist,
                                                             guint space);
    guint               gtk_icon_list_get_icon_border       (GtkIconList *iconlist);
    void                gtk_icon_list_set_icon_width        (GtkIconList *iconlist,
                                                             guint space);
    guint               gtk_icon_list_get_icon_width        (GtkIconList *iconlist);
    void                gtk_icon_list_freeze                (GtkIconList *icon_list);
    void                gtk_icon_list_thaw                  (GtkIconList *icon_list);
    void                gtk_icon_list_set_background        (GtkIconList *icon_list,
                                                             GdkColor *color);
    GtkIconListItem *   gtk_icon_list_add_from_pixmap       (GtkIconList *icon_list,
                                                             GdkPixmap *pixmap,
                                                             GdkBitmap *bitmap,
                                                             const gchar *label,
                                                             gpointer link);
    GtkIconListItem *   gtk_icon_list_add_from_data         (GtkIconList *icon_list,
                                                             gchar **data,
                                                             const gchar *label,
                                                             gpointer link);
    GtkIconListItem *   gtk_icon_list_add                   (GtkIconList *icon_list,
                                                             const gchar *pixmap_file,
                                                             const gchar *label,
                                                             gpointer link);
    GtkIconListItem *   gtk_icon_list_get_nth               (GtkIconList *iconlist,
                                                             guint n);
    gint                gtk_icon_list_get_index             (GtkIconList *iconlist,
                                                             GtkIconListItem *item);
    void                gtk_icon_list_remove                (GtkIconList *iconlist,
                                                             GtkIconListItem *item);
    void                gtk_icon_list_set_active_icon       (GtkIconList *iconlist,
                                                             GtkIconListItem *icon);
    void                gtk_icon_list_remove_nth            (GtkIconList *iconlist,
                                                             guint n);
    void                gtk_icon_list_update                (GtkIconList *iconlist);
    void                gtk_icon_list_clear                 (GtkIconList *iconlist);
    void                gtk_icon_list_link                  (GtkIconListItem *item,
                                                             gpointer data);
    gpointer            gtk_icon_list_get_link              (GtkIconListItem *item);
    GtkIconListItem *   gtk_icon_list_get_icon_from_link    (GtkIconList *iconlist,
                                                             gpointer data);
    GtkIconListItem *   gtk_icon_list_get_icon_at           (GtkIconList *iconlist,
                                                             gint x,
                                                             gint y);
    GtkIconListItem *   gtk_icon_list_get_active_icon       (GtkIconList *iconlist);
    GtkWidget *         gtk_icon_list_get_entry             (GtkIconListItem *item);
    GtkWidget *         gtk_icon_list_get_pixmap            (GtkIconListItem *item);
    void                gtk_icon_list_set_pixmap            (GtkIconListItem *item,
                                                             GdkPixmap *pixmap,
                                                             GdkBitmap *bitmap);
    void                gtk_icon_list_set_label             (GtkIconList *iconlist,
                                                             GtkIconListItem *item,
                                                             const gchar *label);
    void                gtk_icon_list_set_selection_mode    (GtkIconList *iconlist,
                                                             gint mode);
    void                gtk_icon_list_select_icon           (GtkIconList *iconlist,
                                                             GtkIconListItem *item);
    void                gtk_icon_list_unselect_icon         (GtkIconList *iconlist,
                                                             GtkIconListItem *item);
    void                gtk_icon_list_unselect_all          (GtkIconList *iconlist);

## Description

## Details

### enum GtkIconListMode

    typedef enum
    {
      GTK_ICON_LIST_ICON,
      GTK_ICON_LIST_TEXT_RIGHT,
      GTK_ICON_LIST_TEXT_BELOW,
    } GtkIconListMode;

### GTK_TYPE_ICON_LIST_ITEM

    #define GTK_TYPE_ICON_LIST_ITEM (gtk_icon_list_item_get_type ())

### GtkIconListItem

    typedef struct {
      guint x, y;

      gint state;

      gchar *entry_label;
      gchar *label;

      GtkWidget *pixmap;
      GtkWidget *entry;

      gpointer link;
    } GtkIconListItem;

### gtk_icon_list_item_get_type ()

    GtkType             gtk_icon_list_item_get_type         (void);

Returns : |

### gtk_icon_list_new ()

    GtkWidget*          gtk_icon_list_new                   (guint icon_width,
                                                             GtkIconListMode mode);

`icon_width` : |
`mode` : |
Returns : |

### gtk_icon_list_construct ()

    void                gtk_icon_list_construct             (GtkIconList *icon_list,
                                                             guint icon_width,
                                                             GtkIconListMode mode);

`icon_list` : |
`icon_width` : |
`mode` : |

### gtk_icon_list_set_mode ()

    void                gtk_icon_list_set_mode              (GtkIconList *iconlist,
                                                             GtkIconListMode mode);

`iconlist` : |
`mode` : |

### gtk_icon_list_get_mode ()

    GtkIconListMode     gtk_icon_list_get_mode              (GtkIconList *iconlist);

`iconlist` : |
Returns : |

### gtk_icon_list_set_editable ()

    void                gtk_icon_list_set_editable          (GtkIconList *iconlist,
                                                             gboolean editable);

`iconlist` : |
`editable` : |

### gtk_icon_list_is_editable ()

    gboolean            gtk_icon_list_is_editable           (GtkIconList *iconlist);

`iconlist` : |
Returns : |

### gtk_icon_list_set_row_spacing ()

    void                gtk_icon_list_set_row_spacing       (GtkIconList *iconlist,
                                                             guint spacing);

`iconlist` : |
`spacing` : |

### gtk_icon_list_get_row_spacing ()

    guint               gtk_icon_list_get_row_spacing       (GtkIconList *iconlist);

`iconlist` : |
Returns : |

### gtk_icon_list_set_col_spacing ()

    void                gtk_icon_list_set_col_spacing       (GtkIconList *iconlist,
                                                             guint spacing);

`iconlist` : |
`spacing` : |

### gtk_icon_list_get_col_spacing ()

    guint               gtk_icon_list_get_col_spacing       (GtkIconList *iconlist);

`iconlist` : |
Returns : |

### gtk_icon_list_set_text_space ()

    void                gtk_icon_list_set_text_space        (GtkIconList *iconlist,
                                                             guint space);

`iconlist` : |
`space` : |

### gtk_icon_list_get_text_space ()

    guint               gtk_icon_list_get_text_space        (GtkIconList *iconlist);

`iconlist` : |
Returns : |

### gtk_icon_list_set_icon_border ()

    void                gtk_icon_list_set_icon_border       (GtkIconList *iconlist,
                                                             guint space);

`iconlist` : |
`space` : |

### gtk_icon_list_get_icon_border ()

    guint               gtk_icon_list_get_icon_border       (GtkIconList *iconlist);

`iconlist` : |
Returns : |

### gtk_icon_list_set_icon_width ()

    void                gtk_icon_list_set_icon_width        (GtkIconList *iconlist,
                                                             guint space);

`iconlist` : |
`space` : |

### gtk_icon_list_get_icon_width ()

    guint               gtk_icon_list_get_icon_width        (GtkIconList *iconlist);

`iconlist` : |
Returns : |

### gtk_icon_list_freeze ()

    void                gtk_icon_list_freeze                (GtkIconList *icon_list);

`icon_list` : |

### gtk_icon_list_thaw ()

    void                gtk_icon_list_thaw                  (GtkIconList *icon_list);

`icon_list` : |

### gtk_icon_list_set_background ()

    void                gtk_icon_list_set_background        (GtkIconList *icon_list,
                                                             GdkColor *color);

`icon_list` : |
`color` : |

### gtk_icon_list_add_from_pixmap ()

    GtkIconListItem *   gtk_icon_list_add_from_pixmap       (GtkIconList *icon_list,
                                                             GdkPixmap *pixmap,
                                                             GdkBitmap *bitmap,
                                                             const gchar *label,
                                                             gpointer link);

`icon_list` : |
`pixmap` : |
`bitmap` : |
`label` : |
`link` : |
Returns : |

### gtk_icon_list_add_from_data ()

    GtkIconListItem *   gtk_icon_list_add_from_data         (GtkIconList *icon_list,
                                                             gchar **data,
                                                             const gchar *label,
                                                             gpointer link);

`icon_list` : |
`data` : |
`label` : |
`link` : |
Returns : |

### gtk_icon_list_add ()

    GtkIconListItem *   gtk_icon_list_add                   (GtkIconList *icon_list,
                                                             const gchar *pixmap_file,
                                                             const gchar *label,
                                                             gpointer link);

`icon_list` : |
`pixmap_file` : |
`label` : |
`link` : |
Returns : |

### gtk_icon_list_get_nth ()

    GtkIconListItem *   gtk_icon_list_get_nth               (GtkIconList *iconlist,
                                                             guint n);

`iconlist` : |
`n` : |
Returns : |

### gtk_icon_list_get_index ()

    gint                gtk_icon_list_get_index             (GtkIconList *iconlist,
                                                             GtkIconListItem *item);

`iconlist` : |
`item` : |
Returns : |

### gtk_icon_list_remove ()

    void                gtk_icon_list_remove                (GtkIconList *iconlist,
                                                             GtkIconListItem *item);

`iconlist` : |
`item` : |

### gtk_icon_list_set_active_icon ()

    void                gtk_icon_list_set_active_icon       (GtkIconList *iconlist,
                                                             GtkIconListItem *icon);

`iconlist` : |
`icon` : |

### gtk_icon_list_remove_nth ()

    void                gtk_icon_list_remove_nth            (GtkIconList *iconlist,
                                                             guint n);

`iconlist` : |
`n` : |

### gtk_icon_list_update ()

    void                gtk_icon_list_update                (GtkIconList *iconlist);

`iconlist` : |

### gtk_icon_list_clear ()

    void                gtk_icon_list_clear                 (GtkIconList *iconlist);

`iconlist` : |

### gtk_icon_list_link ()

    void                gtk_icon_list_link                  (GtkIconListItem *item,
                                                             gpointer data);

`item` : |
`data` : |

### gtk_icon_list_get_link ()

    gpointer            gtk_icon_list_get_link              (GtkIconListItem *item);

`item` : |
Returns : |

### gtk_icon_list_get_icon_from_link ()

    GtkIconListItem *   gtk_icon_list_get_icon_from_link    (GtkIconList *iconlist,
                                                             gpointer data);

`iconlist` : |
`data` : |
Returns : |

### gtk_icon_list_get_icon_at ()

    GtkIconListItem *   gtk_icon_list_get_icon_at           (GtkIconList *iconlist,
                                                             gint x,
                                                             gint y);

`iconlist` : |
`x` : |
`y` : |
Returns : |

### gtk_icon_list_get_active_icon ()

    GtkIconListItem *   gtk_icon_list_get_active_icon       (GtkIconList *iconlist);

`iconlist` : |
Returns : |

### gtk_icon_list_get_entry ()

    GtkWidget *         gtk_icon_list_get_entry             (GtkIconListItem *item);

`item` : |
Returns : |

### gtk_icon_list_get_pixmap ()

    GtkWidget *         gtk_icon_list_get_pixmap            (GtkIconListItem *item);

`item` : |
Returns : |

### gtk_icon_list_set_pixmap ()

    void                gtk_icon_list_set_pixmap            (GtkIconListItem *item,
                                                             GdkPixmap *pixmap,
                                                             GdkBitmap *bitmap);

`item` : |
`pixmap` : |
`bitmap` : |

### gtk_icon_list_set_label ()

    void                gtk_icon_list_set_label             (GtkIconList *iconlist,
                                                             GtkIconListItem *item,
                                                             const gchar *label);

`iconlist` : |
`item` : |
`label` : |

### gtk_icon_list_set_selection_mode ()

    void                gtk_icon_list_set_selection_mode    (GtkIconList *iconlist,
                                                             gint mode);

`iconlist` : |
`mode` : |

### gtk_icon_list_select_icon ()

    void                gtk_icon_list_select_icon           (GtkIconList *iconlist,
                                                             GtkIconListItem *item);

`iconlist` : |
`item` : |

### gtk_icon_list_unselect_icon ()

    void                gtk_icon_list_unselect_icon         (GtkIconList *iconlist,
                                                             GtkIconListItem *item);

`iconlist` : |
`item` : |

### gtk_icon_list_unselect_all ()

    void                gtk_icon_list_unselect_all          (GtkIconList *iconlist);

`iconlist` : |