Name

Gtkiconlist - gtkiconlist widget for gtk+

Synopsis


GtkType
gtk_icon_list_get_type
(void); 
GtkType
gtk_icon_list_item_get_type
(void); 
GtkWidget* 
gtk_icon_list_new
(guint icon_width,
guint mode);
void
gtk_icon_list_construct
(GtkIconList *icon_list,
guint icon_width,
guint mode);
void
gtk_icon_list_set_mode
(GtkIconList *iconlist,
guint mode);
guint
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); 

Object Hierarchy

 


Args

 

Signal Prototypes

gboolean (*select_icon)	(GtkIconList *iconlist,
GtkIconListItem *icon,
GdkEvent *event);
void (*unselect_icon) (GtkIconList *iconlist,
GtkIconListItem *icon,
GdkEvent *event);
gboolean (*text_changed) (GtkIconList *iconlist,
GtkIconListItem *icon,
gchar *new_text);
gboolean (*activate_icon) (GtkIconList *iconlist,
GtkIconListItem *icon);
gboolean (*deactivate_icon) (GtkIconList *iconlist,
GtkIconListItem *icon);
void (*click_event) (GtkIconList *iconlist,
GdkEvent *event);

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

struct _GtkIconList
{
GtkFixed fixed;
guint8 flags;
guint mode;
GtkSelectionMode selection_mode;
guint freeze_count;
guint icon_width;
guint text_space; /* entry width */
guint row_spacing; /* space between rows */
guint col_spacing; /* space between columns */
guint icon_border; /* space between icon and entry */

gboolean is_editable;
GtkIconListItem *active_icon;
GdkColor background;
gint num_icons;
GList *icons;
GList *selection;
GCompareFunc compare_func;
};
struct _GtkIconListItem
{
guint x, y;
gint state;
gchar *entry_label;
gchar *label;

GtkWidget *pixmap;
GtkWidget *entry;
gpointer link;
};
num
{
GTK_ICON_LIST_ICON,
GTK_ICON_LIST_TEXT_RIGHT,
GTK_ICON_LIST_TEXT_BELOW,
};

This are the values of "mode" argument.
 

 

Screenshot


gtk_icon_list_get_type ()

GtkType gtk_icon_list_get_type (void); 

 

Returns  


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, guint mode); 

Create a new iconlist widget.

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_construct ()

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

Initialize iconlist structure.

icon_list icon list 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, guint mode); 

Set the dispaly mode of the icons.

iconlist icon list 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 ()

guint gtk_icon_list_get_mode (GtkIconList *iconlist); 

Get the current display mode of the iconlist

name name of the font
height height of the font


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 icon list widget created with gtk_icon_list_new()
editable TRUE or FALSE

 


gtk_icon_list_is_editable ()

gboolean gtk_icon_list_is_editable (GtkIconList *iconlist); 

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

iconlist icon list 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 row spacing of the iconlist in pixels.

iconlist icon list widget created with gtk_icon_list_new()
spacing the distance betwwen rows in pizels


gtk_icon_list_get_row_spacing()

guint gtk_icon_list_get_row_spacing (GtkIconList *iconlist); 

Determine row spacing of the iconlist in pixels

iconlist icon list widget created with gtk_icon_list_new()
Returns the distance betwwen rows in pizels


gtk_icon_list_set_col_spacing()

void gtk_icon_list_set_col_spacing (GtkIconList *iconlist,guint spacing); 

Set col spacing of the iconlist in pixels.

iconlist icon list widget created with gtk_icon_list_new()
spacing the distance betwwen cols in pizels


gtk_icon_list_get_col_spacing()

guint gtk_icon_list_get_col_spacing (GtkIconList *iconlist); 

Determine col spacing of the iconlist in pixels

iconlist icon list widget created with gtk_icon_list_new()
Returns the distance betwwen cols in pizels

 


gtk_icon_list_set_text_space()

void gtk_icon_list_set_text_space (GtkIconList *iconlist, guint space); 

Set the text max size in pixels.

iconlist icon list widget created with gtk_icon_list_new()
space distance in pixels


gtk_icon_list_get_text_space()

guint gtk_icon_list_get_text_space (GtkIconList *iconlist); 

Get the text max size in pixels.

iconlist icon list widget created with gtk_icon_list_new()
Returns the text max size distance in pizels


gtk_icon_list_set_icon_border()

void gtk_icon_list_set_icon_border (GtkIconList *iconlist, guint space); 

Set icon border.

iconlist icon list widget created with gtk_icon_list_new()
space icon border


gtk_icon_list_get_icon_border()

guint gtk_icon_list_get_icon_border (GtkIconList *iconlist); 

Get icon border.

iconlist icon list widget created with gtk_icon_list_new()
Returns icon border


gtk_icon_list_set_icon_width()

void gtk_icon_list_set_icon_width (GtkIconList *iconlist,guint space); 

Set icon width

iconlist icon list widget created with gtk_icon_list_new()
space icon width


gtk_icon_list_get_icon_width()

guint gtk_icon_list_get_icon_width (GtkIconList *iconlist); 

Get icon width

iconlist icon list widget created with gtk_icon_list_new()
Returns icon width


gtk_icon_list_freeze()

void gtk_icon_list_freeze (GtkIconList *icon_list); 

Freeze icon list.

iconlist icon list widget created with gtk_icon_list_new()


gtk_icon_list_thaw()

void gtk_icon_list_thaw (GtkIconList *icon_list); 

Thaw(unfreeze) icon list.

iconlist icon list widget created with gtk_icon_list_new()


gtk_icon_list_set_background()

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

Set the iconlist background.

iconlist icon list widget created with gtk_icon_list_new()
color GdkColor of the background



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); 

 

iconlist icon list widget created with gtk_icon_list_new()
pixmap  
bitmap  
label  
link  


gtk_icon_list_add_from_data()

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

 

iconlist icon list widget created with gtk_icon_list_new()
data  
label  
link  


gtk_icon_list_add()

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

Add a icon to the icon list.

iconlist icon list widget created with gtk_icon_list_new()
pixmap_file from #include "file.xpm"
label label of the icon
link a pointer to a string ,etc..


gtk_icon_list_get_nth()

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

Get nth icon from the icon list.

iconlist icon list widget created with gtk_icon_list_new()
n the number of the icon
Returns The GtjIconListItem of the icon



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 icon list widget created with gtk_icon_list_new()
item GtkIconListItem pointer
Returns the index number


gtk_icon_list_remove()

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

Remove the icon from the iconlist

iconlist icon list widget created with gtk_icon_list_new()
item GtkIconListItem pointer


gtk_icon_list_set_active_icon()

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

Set an icon active in iconlist.

iconlist icon list widget created with gtk_icon_list_new()
item GtkIconListItem pointer


gtk_icon_list_remove_nth()

void gtk_icon_list_remove_nth (GtkIconList *iconlist,guint n); 

Remove the nth icon from the iconlist

iconlist icon list widget created with gtk_icon_list_new()
n the index number of the icon


gtk_icon_list_update()

void gtk_icon_list_update (GtkIconList *iconlist); 

Update the icon list widget.

iconlist icon list widget created with gtk_icon_list_new()


gtk_icon_list_clear()

void gtk_icon_list_clear (GtkIconList *iconlist); 

Clear the icon list widget.

iconlist icon list widget created with gtk_icon_list_new()


gtk_icon_list_link()

void gtk_icon_list_link (GtkIconListItem *item, gpointer data); 

Add a link to a icon from the iconlist

item icon pointer
data the pointer link


gtk_icon_list_get_link()

gpointer gtk_icon_list_get_link (GtkIconListItem *item); 

Get the link attached to a icon from the iconlist

item icon pointer
Returns the pointer 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 icon list widget created with gtk_icon_list_new()
data the pointer link
Returns the icon pointer


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 in icon list

iconlist icon list widget created with gtk_icon_list_new()
x,y coordinates of the icon
Returns the icon pointer


gtk_icon_list_get_active_icon()

GtkIconListItem *gtk_icon_list_get_active_icon  (GtkIconList *iconlist); 

Get the active icon in the icon list.

iconlist icon list 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 item pointer
Returns item->entry


gtk_icon_list_get_pixmap()

GtkWidget *gtk_icon_list_get_pixmap (GtkIconListItem *item); 

Get the pixnap of the icon.

item item pointer
Returns item->pixmap


gtk_icon_list_set_pixmap()

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

Set the pixnap of the icon.

item item pointer
pixmap GdkPixmap of the icon
bitmap GdkBitmap of the icon


gtk_icon_list_set_label()

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

Set the label of the icon.

iconlist icon list widget created with gtk_icon_list_new()
item item pointer
label icon label


gtk_icon_list_set_selection_mode()

void gtk_icon_list_set_selection_mode(GtkIconList *iconlist, gint mode); 

Set the selection mode of the iconlist

iconlist icon list 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 icon list widget created with gtk_icon_list_new()
item item pointer


gtk_icon_list_unselect_icon()

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

Unselect the icon specified by pointer

iconlist icon list widget created with gtk_icon_list_new()
item item pointer


gtk_icon_list_unselect_all()

void gtk_icon_list_unselect_all (GtkIconList *iconlist);

Unselect all the icons from the icon list

iconlist icon list widget created with gtk_icon_list_new()


Signals


The "select_icon" signal

gboolean (*select_icon) (GtkIconList *iconlist,
                         GtkIconListItem *icon,
                         GdkEvent *event); 

Should be connected if you wish to perform an action whenever the icon is selected

toggle_combo : the object which received the signal.
item icon pointer
event event that produced the selection of icon


The "unselect_icon" signal

void (*unselect_icon)		(GtkIconList *iconlist,
GtkIconListItem *icon,
GdkEvent *event);

Should be connected if you wish to perform an action whenever the icon is unselected

toggle_combo : the object which received the signal.
item icon pointer
event event that produced the unselection of icon


The "text_changed" signal

gboolean (*text_changed)	(GtkIconList *iconlist,
GtkIconListItem *icon,
gchar *new_text);

Should be connected if you wish to perform an action whenever text of the icon is changed

toggle_combo : the object which received the signal.
item icon pointer
new_text modified text


The "activate_icon" signal

gboolean (*activate_icon)	(GtkIconList *iconlist,
GtkIconListItem *icon);

Should be connected if you wish to perform an action whenever the icon is activated

toggle_combo : the object which received the signal.
item icon pointer


The "deactivate_icon" signal

gboolean (*deactivate_icon)	(GtkIconList *iconlist,
GtkIconListItem *icon);

Should be connected if you wish to perform an action whenever the icon is deactivated

toggle_combo : the object which received the signal.
item icon pointer


The "click_event" signal

void (*click_event)		(GtkIconList *iconlist,
GdkEvent *event);

Should be connected if you wish to perform an action whenever an event occures.

toggle_combo : the object which received the signal.
event GdkEvent that occured