GtkIconList

GtkIconList — A file icon list widget for GTK.

Synopsis


#include <gtkextra.h>

                    GtkIconList;
enum                GtkIconListMode;
                    GtkIconListItem;
GtkWidget*          gtk_icon_list_new                   (guint icon_width,
                                                         GtkIconListMode mode);
void                gtk_icon_list_construct             (GtkIconList *iconlist,
                                                         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 text_space);
guint               gtk_icon_list_get_text_space        (GtkIconList *iconlist);
void                gtk_icon_list_set_icon_border       (GtkIconList *iconlist,
                                                         guint border);
guint               gtk_icon_list_get_icon_border       (GtkIconList *iconlist);
void                gtk_icon_list_set_icon_width        (GtkIconList *iconlist,
                                                         guint width);
guint               gtk_icon_list_get_icon_width        (GtkIconList *iconlist);
void                gtk_icon_list_freeze                (GtkIconList *iconlist);
void                gtk_icon_list_thaw                  (GtkIconList *iconlist);
void                gtk_icon_list_set_background        (GtkIconList *iconlist,
                                                         GdkColor *color);
GtkIconListItem *   gtk_icon_list_add_from_pixmap       (GtkIconList *icon_list,
                                                         GdkPixmap *pixmap,
                                                         GdkBitmap *bitmap_mask,
                                                         const gchar *label,
                                                         gpointer link);
GtkIconListItem *   gtk_icon_list_add_from_data         (GtkIconList *iconlist,
                                                         gchar **data,
                                                         const gchar *label,
                                                         gpointer link);
GtkIconListItem *   gtk_icon_list_add                   (GtkIconList *iconlist,
                                                         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_mask);
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);

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GtkObject
               +----GtkWidget
                     +----GtkContainer
                           +----GtkFixed
                                 +----GtkIconList
                                       +----GtkFileList

Implemented Interfaces

GtkIconList implements AtkImplementorIface and GtkBuildable.

Signals

  "activate-icon"                                  : Run Last
  "click-event"                                    : Run Last
  "deactivate-icon"                                : Run Last
  "select-icon"                                    : Run Last
  "text-changed"                                   : Run Last
  "unselect-icon"                                  : Run First

Description

GtkIconList is a GtkFixed subclass that allows you to display a table of xpm icons with editable labels. It's completely designed from scratch with some ideas borrowed from gnome-icon-list. It contains almost all of its features and more. It can be used for file browsers and as a replacement of gnome-icon-list (without the need of using gnome libraries). Like GtkSheet, it uses the widget GtkItemEntry to edit the text fields.

Details

GtkIconList

typedef struct _GtkIconList GtkIconList;

The GtkIconList structure contains only private data. It should only be accessed through the functions described below.


enum GtkIconListMode

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


GtkIconListItem

typedef struct {
} GtkIconListItem;

The GtkIconListItem structure contains only private data. It should only be accessed through the functions described below.


gtk_icon_list_new ()

GtkWidget*          gtk_icon_list_new                   (guint icon_width,
                                                         GtkIconListMode mode);

Creates a new GtkIconList widget.

icon_width :

the width of the icon

mode :

GTK_ICON_LIST_ICON,GTK_ICON_LIST_TEXT_RIGHT,GTK_ICON_LIST_TEXT_BELOW

Returns :

the newly-created GtkIconList widget.

gtk_icon_list_construct ()

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

Initialize iconlist structure.

iconlist :

GtkIconList widget created with gtk_icon_list_new().

icon_width :

the width of the icon

mode :

GTK_ICON_LIST_ICON,GTK_ICON_LIST_TEXT_RIGHT,GTK_ICON_LIST_TEXT_BELOW

gtk_icon_list_set_mode ()

void                gtk_icon_list_set_mode              (GtkIconList *iconlist,
                                                         GtkIconListMode mode);

Set the icons display mode .

iconlist :

GtkIconList widget created with gtk_icon_list_new().

mode :

GTK_ICON_LIST_ICON,GTK_ICON_LIST_TEXT_RIGHT,GTK_ICON_LIST_TEXT_BELOW

gtk_icon_list_get_mode ()

GtkIconListMode     gtk_icon_list_get_mode              (GtkIconList *iconlist);

Get the icons display mode .

iconlist :

a GtkIconList widget created with gtk_icon_list_new().

Returns :

GTK_ICON_LIST_ICON,GTK_ICON_LIST_TEXT_RIGHT,GTK_ICON_LIST_TEXT_BELOW

gtk_icon_list_set_editable ()

void                gtk_icon_list_set_editable          (GtkIconList *iconlist,
                                                         gboolean editable);

Set if the user can edit the text in the editable widget or not.

iconlist :

GtkIconList widget created with gtk_icon_list_new().

editable :

TUE or FALSE

gtk_icon_list_is_editable ()

gboolean            gtk_icon_list_is_editable           (GtkIconList *iconlist);

Get the editable status of icon list.

iconlist :

GtkIconList widget created with gtk_icon_list_new().

Returns :

TRUE or FALSE

gtk_icon_list_set_row_spacing ()

void                gtk_icon_list_set_row_spacing       (GtkIconList *iconlist,
                                                         guint spacing);

Set the icon spacing between rows.

iconlist :

GtkIconList widget created with gtk_icon_list_new().

spacing :

spacing between rows in pixels.

gtk_icon_list_get_row_spacing ()

guint               gtk_icon_list_get_row_spacing       (GtkIconList *iconlist);

Get the spacing between rows.

iconlist :

GtkIconList widget created with gtk_icon_list_new().

Returns :

spacing between rows in pixels.

gtk_icon_list_set_col_spacing ()

void                gtk_icon_list_set_col_spacing       (GtkIconList *iconlist,
                                                         guint spacing);

Set the icon spacing between columns.

iconlist :

GtkIconList widget created with gtk_icon_list_new().

spacing :

spacing between columns in pixels.

gtk_icon_list_get_col_spacing ()

guint               gtk_icon_list_get_col_spacing       (GtkIconList *iconlist);

Get the spacing between columns.

iconlist :

GtkIconList widget created with gtk_icon_list_new().

Returns :

spacing between columns in pixels.

gtk_icon_list_set_text_space ()

void                gtk_icon_list_set_text_space        (GtkIconList *iconlist,
                                                         guint text_space);

Set the text max size in pixels.

iconlist :

a GtkIconList widget created with gtk_icon_list_new().

text_space :

distance in pixels.

gtk_icon_list_get_text_space ()

guint               gtk_icon_list_get_text_space        (GtkIconList *iconlist);

Get the text maximum size in pixels.

iconlist :

GtkIconList widget created with gtk_icon_list_new().

Returns :

text maximum size distance in pixels.

gtk_icon_list_set_icon_border ()

void                gtk_icon_list_set_icon_border       (GtkIconList *iconlist,
                                                         guint border);

Set the icon border.

iconlist :

a GtkIconList widget created with gtk_icon_list_new().

border :

icon border in pixels.

gtk_icon_list_get_icon_border ()

guint               gtk_icon_list_get_icon_border       (GtkIconList *iconlist);

Get the icon border width.

iconlist :

GtkIconList widget created with gtk_icon_list_new().

Returns :

icon border width in pixels.

gtk_icon_list_set_icon_width ()

void                gtk_icon_list_set_icon_width        (GtkIconList *iconlist,
                                                         guint width);

Set the icon width.

iconlist :

a GtkIconList widget created with gtk_icon_list_new().

width :

icon width in pixels.

gtk_icon_list_get_icon_width ()

guint               gtk_icon_list_get_icon_width        (GtkIconList *iconlist);

Get the icon width.

iconlist :

GtkIconList widget created with gtk_icon_list_new().

Returns :

icon width in pixels.

gtk_icon_list_freeze ()

void                gtk_icon_list_freeze                (GtkIconList *iconlist);

Freeze icon list.

iconlist :

GtkIconList widget created with gtk_icon_list_new().

gtk_icon_list_thaw ()

void                gtk_icon_list_thaw                  (GtkIconList *iconlist);

Thaw(unfreeze) icon list.

iconlist :

GtkIconList widget created with gtk_icon_list_new().

gtk_icon_list_set_background ()

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

Set the iconlist background color.

iconlist :

GtkIconList widget created with gtk_icon_list_new().

color :

a GdkColor

gtk_icon_list_add_from_pixmap ()

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

Add a icon to the icon list.

icon_list :

a GtkIconList widget created with gtk_icon_list_new().

pixmap :

a GdkPixmap

bitmap_mask :

a GdkBitmap

label :

label of the icon

link :

a gpointer link to some data

Returns :

the icon pointer

gtk_icon_list_add_from_data ()

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

Add a icon to the icon list.

iconlist :

a GtkIconList widget created with gtk_icon_list_new().

data :

pointer to the xpm data string

label :

label of the icon

link :

a data pointer

Returns :

the icon pointer

gtk_icon_list_add ()

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

Add a icon to the icon list.

iconlist :

GtkIconList widget created with gtk_icon_list_new().

pixmap_file :

from #include "file.xpm"

label :

label of the icon

link :

link

Returns :

the icon pointer

gtk_icon_list_get_nth ()

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

Get nth icon from the icon list.

iconlist :

GtkIconList widget created with gtk_icon_list_new().

n :

icon index number.

Returns :

a GtkIconListItem

gtk_icon_list_get_index ()

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

Get the index number of the icon specified by its GtkIconListItem pointer.

iconlist :

GtkIconList widget created with gtk_icon_list_new().

item :

a GtkIconListItem

Returns :

icon index number

gtk_icon_list_remove ()

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

Remove the icon from the iconlist.

iconlist :

a GtkIconList widget created with gtk_icon_list_new().

item :

a GtkIconListItem

gtk_icon_list_set_active_icon ()

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

Set an active icon in the icon list.

iconlist :

GtkIconList widget created with gtk_icon_list_new().

icon :

a GtkIconListItem

gtk_icon_list_remove_nth ()

void                gtk_icon_list_remove_nth            (GtkIconList *iconlist,
                                                         guint n);

Remove nth icon from the iconlist.

iconlist :

GtkIconList widget created with gtk_icon_list_new().

n :

icon index number

gtk_icon_list_update ()

void                gtk_icon_list_update                (GtkIconList *iconlist);

Update the icon list widget..

iconlist :

GtkIconList widget created with gtk_icon_list_new().

gtk_icon_list_clear ()

void                gtk_icon_list_clear                 (GtkIconList *iconlist);

Clear the icon list widget.

iconlist :

GtkIconList widget created with gtk_icon_list_new().

gtk_icon_list_link ()

void                gtk_icon_list_link                  (GtkIconListItem *item,
                                                         gpointer data);

Add a gpointer link to a icon from the iconlist.

item :

GtkIconListItem

data :

a gpointer to some data

gtk_icon_list_get_link ()

gpointer            gtk_icon_list_get_link              (GtkIconListItem *item);

Add a gpointer link to a icon from the iconlist.

item :

a GtkIconListItem

Returns :

(transfer none) a gpointer to some data sed with gtk_icon_list_link().

gtk_icon_list_get_icon_from_link ()

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

Gets the icon pointer from the link attached to it.

iconlist :

GtkIconList widget created with gtk_icon_list_new().

data :

a gpointer to some data

Returns :

a GtkIconListItem

gtk_icon_list_get_icon_at ()

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

Get the icon situated at x,y coordinates in icon list.

iconlist :

GtkIconList widget created with gtk_icon_list_new().

x :

x coordindate

y :

y coordinate

Returns :

the icon pointer

gtk_icon_list_get_active_icon ()

GtkIconListItem *   gtk_icon_list_get_active_icon       (GtkIconList *iconlist);

Set the iconlist background color.

iconlist :

GtkIconList widget created with gtk_icon_list_new().

Returns :

the icon pointer

gtk_icon_list_get_entry ()

GtkWidget *         gtk_icon_list_get_entry             (GtkIconListItem *item);

Get the item->entry.

item :

a GtkIconListItem

Returns :

(transfer none) a GtkWidget

gtk_icon_list_get_pixmap ()

GtkWidget *         gtk_icon_list_get_pixmap            (GtkIconListItem *item);

Get the icon pixmap.

item :

a GtkIconListItem

Returns :

(transfer none) a GtkWidget

gtk_icon_list_set_pixmap ()

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

Set the icon pixmap.

item :

a GtkIconListItem

pixmap :

a GdkPixmap

bitmap_mask :

a GdkBitmap

gtk_icon_list_set_label ()

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

Set the icon label.

iconlist :

GtkIconList widget created with gtk_icon_list_new().

item :

a GtkIconListItem

label :

icon label

gtk_icon_list_set_selection_mode ()

void                gtk_icon_list_set_selection_mode    (GtkIconList *iconlist,
                                                         gint mode);

Set the icon selection mode.

iconlist :

GtkIconList widget created with gtk_icon_list_new().

mode :

GTK_ICON_LIST_ICON, GTK_ICON_LIST_TEXT_RIGHT, GTK_ICON_LIST_TEXT_BELOW

gtk_icon_list_select_icon ()

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

Select the icon specified by pointer.

iconlist :

GtkIconList widget created with gtk_icon_list_new().

item :

a GtkIconListItem

gtk_icon_list_unselect_icon ()

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

Unselect the icon specified by pointer.

iconlist :

GtkIconList widget created with gtk_icon_list_new().

item :

a GtkIconListItem

gtk_icon_list_unselect_all ()

void                gtk_icon_list_unselect_all          (GtkIconList *iconlist);

Unselect all icons.

iconlist :

GtkIconList widget created with gtk_icon_list_new().

Signal Details

The "activate-icon" signal

gboolean            user_function                      (GtkIconList     *iconlist,
                                                        GtkIconListItem *arg1,
                                                        gpointer         user_data)      : Run Last

iconlist :

the object which received the signal.

arg1 :

user_data :

user data set when the signal handler was connected.

Returns :


The "click-event" signal

void                user_function                      (GtkIconList *iconlist,
                                                        GdkEvent    *event,
                                                        gpointer     user_data)      : Run Last

iconlist :

the object which received the signal.

event :

user_data :

user data set when the signal handler was connected.

The "deactivate-icon" signal

gboolean            user_function                      (GtkIconList     *iconlist,
                                                        GtkIconListItem *arg1,
                                                        gpointer         user_data)      : Run Last

iconlist :

the object which received the signal.

arg1 :

user_data :

user data set when the signal handler was connected.

Returns :


The "select-icon" signal

gboolean            user_function                      (GtkIconList     *iconlist,
                                                        GtkIconListItem *arg1,
                                                        GdkEvent        *event,
                                                        gpointer         user_data)      : Run Last

iconlist :

the object which received the signal.

arg1 :

event :

user_data :

user data set when the signal handler was connected.

Returns :


The "text-changed" signal

gboolean            user_function                      (GtkIconList     *iconlist,
                                                        GtkIconListItem *arg1,
                                                        gchar           *arg2,
                                                        gpointer         user_data)      : Run Last

iconlist :

the object which received the signal.

arg1 :

arg2 :

user_data :

user data set when the signal handler was connected.

Returns :


The "unselect-icon" signal

void                user_function                      (GtkIconList     *iconlist,
                                                        GtkIconListItem *arg1,
                                                        GdkEvent        *event,
                                                        gpointer         user_data)      : Run First

iconlist :

the object which received the signal.

arg1 :

event :

user_data :

user data set when the signal handler was connected.