Functions
gtk_icon_view_new ()
GtkWidget *
gtk_icon_view_new (void);
Creates a new GtkIconView widget
Since: 2.6
gtk_icon_view_new_with_area ()
GtkWidget *
gtk_icon_view_new_with_area (GtkCellArea *area);
Creates a new GtkIconView widget using the
specified area
to layout cells inside the icons.
Since: 3.0
gtk_icon_view_new_with_model ()
GtkWidget *
gtk_icon_view_new_with_model (GtkTreeModel *model);
Creates a new GtkIconView widget with the model model
.
Since: 2.6
gtk_icon_view_set_model ()
void
gtk_icon_view_set_model (GtkIconView *icon_view,
GtkTreeModel *model);
Sets the model for a GtkIconView.
If the icon_view
already has a model set, it will remove
it before setting the new model. If model
is NULL, then
it will unset the old model.
Since: 2.6
gtk_icon_view_get_model ()
GtkTreeModel *
gtk_icon_view_get_model (GtkIconView *icon_view);
Returns the model the GtkIconView is based on. Returns NULL if the
model is unset.
Returns
A GtkTreeModel, or NULL if none is
currently being used.
[nullable][transfer none]
Since: 2.6
gtk_icon_view_set_text_column ()
void
gtk_icon_view_set_text_column (GtkIconView *icon_view,
gint column);
Sets the column with text for icon_view
to be column
. The text
column must be of type G_TYPE_STRING.
Since: 2.6
gtk_icon_view_get_text_column ()
gint
gtk_icon_view_get_text_column (GtkIconView *icon_view);
Returns the column with text for icon_view
.
Returns
the text column, or -1 if it’s unset.
Since: 2.6
gtk_icon_view_set_markup_column ()
void
gtk_icon_view_set_markup_column (GtkIconView *icon_view,
gint column);
Sets the column with markup information for icon_view
to be
column
. The markup column must be of type G_TYPE_STRING.
If the markup column is set to something, it overrides
the text column set by gtk_icon_view_set_text_column().
Since: 2.6
gtk_icon_view_get_markup_column ()
gint
gtk_icon_view_get_markup_column (GtkIconView *icon_view);
Returns the column with markup text for icon_view
.
Returns
the markup column, or -1 if it’s unset.
Since: 2.6
gtk_icon_view_set_pixbuf_column ()
void
gtk_icon_view_set_pixbuf_column (GtkIconView *icon_view,
gint column);
Sets the column with pixbufs for icon_view
to be column
. The pixbuf
column must be of type GDK_TYPE_PIXBUF
Since: 2.6
gtk_icon_view_get_pixbuf_column ()
gint
gtk_icon_view_get_pixbuf_column (GtkIconView *icon_view);
Returns the column with pixbufs for icon_view
.
Returns
the pixbuf column, or -1 if it’s unset.
Since: 2.6
gtk_icon_view_convert_widget_to_bin_window_coords ()
void
gtk_icon_view_convert_widget_to_bin_window_coords
(GtkIconView *icon_view,
gint wx,
gint wy,
gint *bx,
gint *by);
Converts widget coordinates to coordinates for the bin_window,
as expected by e.g. gtk_icon_view_get_path_at_pos().
Since: 2.12
gtk_icon_view_set_cursor ()
void
gtk_icon_view_set_cursor (GtkIconView *icon_view,
GtkTreePath *path,
GtkCellRenderer *cell,
gboolean start_editing);
Sets the current keyboard focus to be at path
, and selects it. This is
useful when you want to focus the user’s attention on a particular item.
If cell
is not NULL, then focus is given to the cell specified by
it. Additionally, if start_editing
is TRUE, then editing should be
started in the specified cell.
This function is often followed by gtk_widget_grab_focus
(icon_view) in order to give keyboard focus to the widget.
Please note that editing can only happen when the widget is realized.
Since: 2.8
gtk_icon_view_selected_foreach ()
void
gtk_icon_view_selected_foreach (GtkIconView *icon_view,
GtkIconViewForeachFunc func,
gpointer data);
Calls a function for each selected icon. Note that the model or
selection cannot be modified from within this function.
Since: 2.6
gtk_icon_view_set_selection_mode ()
void
gtk_icon_view_set_selection_mode (GtkIconView *icon_view,
GtkSelectionMode mode);
Sets the selection mode of the icon_view
.
Since: 2.6
gtk_icon_view_get_selection_mode ()
GtkSelectionMode
gtk_icon_view_get_selection_mode (GtkIconView *icon_view);
Gets the selection mode of the icon_view
.
Returns
the current selection mode
Since: 2.6
gtk_icon_view_set_item_orientation ()
void
gtk_icon_view_set_item_orientation (GtkIconView *icon_view,
GtkOrientation orientation);
Sets the ::item-orientation property which determines whether the labels
are drawn beside the icons instead of below.
Since: 2.6
gtk_icon_view_get_item_orientation ()
GtkOrientation
gtk_icon_view_get_item_orientation (GtkIconView *icon_view);
Returns the value of the ::item-orientation property which determines
whether the labels are drawn beside the icons instead of below.
Returns
the relative position of texts and icons
Since: 2.6
gtk_icon_view_set_columns ()
void
gtk_icon_view_set_columns (GtkIconView *icon_view,
gint columns);
Sets the ::columns property which determines in how
many columns the icons are arranged. If columns
is
-1, the number of columns will be chosen automatically
to fill the available area.
Since: 2.6
gtk_icon_view_get_columns ()
gint
gtk_icon_view_get_columns (GtkIconView *icon_view);
Returns the value of the ::columns property.
Returns
the number of columns, or -1
Since: 2.6
gtk_icon_view_set_item_width ()
void
gtk_icon_view_set_item_width (GtkIconView *icon_view,
gint item_width);
Sets the ::item-width property which specifies the width
to use for each item. If it is set to -1, the icon view will
automatically determine a suitable item size.
Since: 2.6
gtk_icon_view_get_item_width ()
gint
gtk_icon_view_get_item_width (GtkIconView *icon_view);
Returns the value of the ::item-width property.
Returns
the width of a single item, or -1
Since: 2.6
gtk_icon_view_set_spacing ()
void
gtk_icon_view_set_spacing (GtkIconView *icon_view,
gint spacing);
Sets the ::spacing property which specifies the space
which is inserted between the cells (i.e. the icon and
the text) of an item.
Since: 2.6
gtk_icon_view_get_spacing ()
gint
gtk_icon_view_get_spacing (GtkIconView *icon_view);
Returns the value of the ::spacing property.
Returns
the space between cells
Since: 2.6
gtk_icon_view_set_row_spacing ()
void
gtk_icon_view_set_row_spacing (GtkIconView *icon_view,
gint row_spacing);
Sets the ::row-spacing property which specifies the space
which is inserted between the rows of the icon view.
Since: 2.6
gtk_icon_view_get_row_spacing ()
gint
gtk_icon_view_get_row_spacing (GtkIconView *icon_view);
Returns the value of the ::row-spacing property.
Returns
the space between rows
Since: 2.6
gtk_icon_view_set_column_spacing ()
void
gtk_icon_view_set_column_spacing (GtkIconView *icon_view,
gint column_spacing);
Sets the ::column-spacing property which specifies the space
which is inserted between the columns of the icon view.
Since: 2.6
gtk_icon_view_get_column_spacing ()
gint
gtk_icon_view_get_column_spacing (GtkIconView *icon_view);
Returns the value of the ::column-spacing property.
Returns
the space between columns
Since: 2.6
gtk_icon_view_set_margin ()
void
gtk_icon_view_set_margin (GtkIconView *icon_view,
gint margin);
Sets the ::margin property which specifies the space
which is inserted at the top, bottom, left and right
of the icon view.
Since: 2.6
gtk_icon_view_get_margin ()
gint
gtk_icon_view_get_margin (GtkIconView *icon_view);
Returns the value of the ::margin property.
Returns
the space at the borders
Since: 2.6
gtk_icon_view_set_item_padding ()
void
gtk_icon_view_set_item_padding (GtkIconView *icon_view,
gint item_padding);
Sets the “item-padding” property which specifies the padding
around each of the icon view’s items.
Since: 2.18
gtk_icon_view_get_item_padding ()
gint
gtk_icon_view_get_item_padding (GtkIconView *icon_view);
Returns the value of the ::item-padding property.
Returns
the padding around items
Since: 2.18
gtk_icon_view_set_activate_on_single_click ()
void
gtk_icon_view_set_activate_on_single_click
(GtkIconView *icon_view,
gboolean single);
Causes the “item-activated” signal to be emitted on
a single click instead of a double click.
Since: 3.8
gtk_icon_view_get_cell_rect ()
gboolean
gtk_icon_view_get_cell_rect (GtkIconView *icon_view,
GtkTreePath *path,
GtkCellRenderer *cell,
GdkRectangle *rect);
Fills the bounding rectangle in widget coordinates for the cell specified by
path
and cell
. If cell
is NULL the main cell area is used.
This function is only valid if icon_view
is realized.
Returns
FALSE if there is no such item, TRUE otherwise
Since: 3.6
gtk_icon_view_select_path ()
void
gtk_icon_view_select_path (GtkIconView *icon_view,
GtkTreePath *path);
Selects the row at path
.
Since: 2.6
gtk_icon_view_unselect_path ()
void
gtk_icon_view_unselect_path (GtkIconView *icon_view,
GtkTreePath *path);
Unselects the row at path
.
Since: 2.6
gtk_icon_view_path_is_selected ()
gboolean
gtk_icon_view_path_is_selected (GtkIconView *icon_view,
GtkTreePath *path);
Returns TRUE if the icon pointed to by path
is currently
selected. If path
does not point to a valid location, FALSE is returned.
Returns
TRUE if path
is selected.
Since: 2.6
gtk_icon_view_get_selected_items ()
GList *
gtk_icon_view_get_selected_items (GtkIconView *icon_view);
Creates a list of paths of all selected items. Additionally, if you are
planning on modifying the model after calling this function, you may
want to convert the returned list into a list of GtkTreeRowReferences.
To do this, you can use gtk_tree_row_reference_new().
To free the return value, use:
Returns
A GList containing a GtkTreePath for each selected row.
[element-type GtkTreePath][transfer full]
Since: 2.6
gtk_icon_view_select_all ()
void
gtk_icon_view_select_all (GtkIconView *icon_view);
Selects all the icons. icon_view
must has its selection mode set
to GTK_SELECTION_MULTIPLE.
Since: 2.6
gtk_icon_view_unselect_all ()
void
gtk_icon_view_unselect_all (GtkIconView *icon_view);
Unselects all the icons.
Since: 2.6
gtk_icon_view_item_activated ()
void
gtk_icon_view_item_activated (GtkIconView *icon_view,
GtkTreePath *path);
Activates the item determined by path
.
Since: 2.6
gtk_icon_view_scroll_to_path ()
void
gtk_icon_view_scroll_to_path (GtkIconView *icon_view,
GtkTreePath *path,
gboolean use_align,
gfloat row_align,
gfloat col_align);
Moves the alignments of icon_view
to the position specified by path
.
row_align
determines where the row is placed, and col_align
determines
where column
is placed. Both are expected to be between 0.0 and 1.0.
0.0 means left/top alignment, 1.0 means right/bottom alignment, 0.5 means
center.
If use_align
is FALSE, then the alignment arguments are ignored, and the
tree does the minimum amount of work to scroll the item onto the screen.
This means that the item will be scrolled to the edge closest to its current
position. If the item is currently visible on the screen, nothing is done.
This function only works if the model is set, and path
is a valid row on
the model. If the model changes before the icon_view
is realized, the
centered path will be modified to reflect this change.
Since: 2.8
gtk_icon_view_get_visible_range ()
gboolean
gtk_icon_view_get_visible_range (GtkIconView *icon_view,
GtkTreePath **start_path,
GtkTreePath **end_path);
Sets start_path
and end_path
to be the first and last visible path.
Note that there may be invisible paths in between.
Both paths should be freed with gtk_tree_path_free() after use.
Returns
TRUE, if valid paths were placed in start_path
and end_path
Since: 2.8
gtk_icon_view_get_tooltip_context ()
gboolean
gtk_icon_view_get_tooltip_context (GtkIconView *icon_view,
gint *x,
gint *y,
gboolean keyboard_tip,
GtkTreeModel **model,
GtkTreePath **path,
GtkTreeIter *iter);
This function is supposed to be used in a “query-tooltip”
signal handler for GtkIconView. The x
, y
and keyboard_tip
values
which are received in the signal handler, should be passed to this
function without modification.
The return value indicates whether there is an icon view item at the given
coordinates (TRUE) or not (FALSE) for mouse tooltips. For keyboard
tooltips the item returned will be the cursor item. When TRUE, then any of
model
, path
and iter
which have been provided will be set to point to
that row and the corresponding model. x
and y
will always be converted
to be relative to icon_view
’s bin_window if keyboard_tooltip
is FALSE.
Returns
whether or not the given tooltip context points to a item
Since: 2.12
gtk_icon_view_set_tooltip_column ()
void
gtk_icon_view_set_tooltip_column (GtkIconView *icon_view,
gint column);
If you only plan to have simple (text-only) tooltips on full items, you
can use this function to have GtkIconView handle these automatically
for you. column
should be set to the column in icon_view
’s model
containing the tooltip texts, or -1 to disable this feature.
When enabled, “has-tooltip” will be set to TRUE and
icon_view
will connect a “query-tooltip” signal handler.
Note that the signal handler sets the text with gtk_tooltip_set_markup(),
so &, <, etc have to be escaped in the text.
Since: 2.12
gtk_icon_view_get_tooltip_column ()
gint
gtk_icon_view_get_tooltip_column (GtkIconView *icon_view);
Returns the column of icon_view
’s model which is being used for
displaying tooltips on icon_view
’s rows.
Returns
the index of the tooltip column that is currently being
used, or -1 if this is disabled.
Since: 2.12
gtk_icon_view_get_item_row ()
gint
gtk_icon_view_get_item_row (GtkIconView *icon_view,
GtkTreePath *path);
Gets the row in which the item path
is currently
displayed. Row numbers start at 0.
Returns
The row in which the item is displayed
Since: 2.22
gtk_icon_view_get_item_column ()
gint
gtk_icon_view_get_item_column (GtkIconView *icon_view,
GtkTreePath *path);
Gets the column in which the item path
is currently
displayed. Column numbers start at 0.
Returns
The column in which the item is displayed
Since: 2.22
gtk_icon_view_set_reorderable ()
void
gtk_icon_view_set_reorderable (GtkIconView *icon_view,
gboolean reorderable);
This function is a convenience function to allow you to reorder models that
support the GtkTreeDragSourceIface and the GtkTreeDragDestIface. Both
GtkTreeStore and GtkListStore support these. If reorderable
is TRUE, then
the user can reorder the model by dragging and dropping rows. The
developer can listen to these changes by connecting to the model's
row_inserted and row_deleted signals. The reordering is implemented by setting up
the icon view as a drag source and destination. Therefore, drag and
drop can not be used in a reorderable view for any other purpose.
This function does not give you any degree of control over the order -- any
reordering is allowed. If more control is needed, you should probably
handle drag and drop manually.
Since: 2.8
gtk_icon_view_get_drag_dest_item ()
void
gtk_icon_view_get_drag_dest_item (GtkIconView *icon_view,
GtkTreePath **path,
GtkIconViewDropPosition *pos);
Gets information about the item that is highlighted for feedback.
Since: 2.8
gtk_icon_view_create_drag_icon ()
cairo_surface_t *
gtk_icon_view_create_drag_icon (GtkIconView *icon_view,
GtkTreePath *path);
Creates a cairo_surface_t representation of the item at path
.
This image is used for a drag icon.
Returns
a newly-allocated surface of the drag icon.
[transfer full]
Since: 2.8
Signal Details
The “activate-cursor-item” signal
gboolean
user_function (GtkIconView *iconview,
gpointer user_data)
A keybinding signal
which gets emitted when the user activates the currently
focused item.
Applications should not connect to it, but may emit it with
g_signal_emit_by_name() if they need to control activation
programmatically.
The default bindings for this signal are Space, Return and Enter.
Flags: Action
The “item-activated” signal
void
user_function (GtkIconView *iconview,
GtkTreePath *path,
gpointer user_data)
The ::item-activated signal is emitted when the method
gtk_icon_view_item_activated() is called, when the user double
clicks an item with the "activate-on-single-click" property set
to FALSE, or when the user single clicks an item when the
"activate-on-single-click" property set to TRUE. It is also
emitted when a non-editable item is selected and one of the keys:
Space, Return or Enter is pressed.
Flags: Run Last
The “move-cursor” signal
gboolean
user_function (GtkIconView *iconview,
GtkMovementStep step,
gint count,
gpointer user_data)
The ::move-cursor signal is a
keybinding signal
which gets emitted when the user initiates a cursor movement.
Applications should not connect to it, but may emit it with
g_signal_emit_by_name() if they need to control the cursor
programmatically.
The default bindings for this signal include
Arrow keys which move by individual steps
Home/End keys which move to the first/last item
PageUp/PageDown which move by "pages"
All of these will extend the selection when combined with
the Shift modifier.
Flags: Action
The “select-all” signal
void
user_function (GtkIconView *iconview,
gpointer user_data)
A keybinding signal
which gets emitted when the user selects all items.
Applications should not connect to it, but may emit it with
g_signal_emit_by_name() if they need to control selection
programmatically.
The default binding for this signal is Ctrl-a.
Flags: Action
The “select-cursor-item” signal
void
user_function (GtkIconView *iconview,
gpointer user_data)
A keybinding signal
which gets emitted when the user selects the item that is currently
focused.
Applications should not connect to it, but may emit it with
g_signal_emit_by_name() if they need to control selection
programmatically.
There is no default binding for this signal.
Flags: Action
The “selection-changed” signal
void
user_function (GtkIconView *iconview,
gpointer user_data)
The ::selection-changed signal is emitted when the selection
(i.e. the set of selected items) changes.
Flags: Run First
The “toggle-cursor-item” signal
void
user_function (GtkIconView *iconview,
gpointer user_data)
A keybinding signal
which gets emitted when the user toggles whether the currently
focused item is selected or not. The exact effect of this
depend on the selection mode.
Applications should not connect to it, but may emit it with
g_signal_emit_by_name() if they need to control selection
programmatically.
There is no default binding for this signal is Ctrl-Space.
Flags: Action
The “unselect-all” signal
void
user_function (GtkIconView *iconview,
gpointer user_data)
A keybinding signal
which gets emitted when the user unselects all items.
Applications should not connect to it, but may emit it with
g_signal_emit_by_name() if they need to control selection
programmatically.
The default binding for this signal is Ctrl-Shift-a.
Flags: Action