GtkIconView
GtkIconView — A widget which displays a list of icons in a grid
Functions
Properties
gboolean | activate-on-single-click | Read / Write |
GtkCellArea * | cell-area | Read / Write / Construct Only |
int | column-spacing | Read / Write |
int | columns | Read / Write |
GtkOrientation | item-orientation | Read / Write |
int | item-padding | Read / Write |
int | item-width | Read / Write |
int | margin | Read / Write |
int | markup-column | Read / Write |
GtkTreeModel * | model | Read / Write |
int | pixbuf-column | Read / Write |
gboolean | reorderable | Read / Write |
int | row-spacing | Read / Write |
GtkSelectionMode | selection-mode | Read / Write |
int | spacing | Read / Write |
int | text-column | Read / Write |
int | tooltip-column | Read / Write |
Style Properties
guchar | selection-box-alpha | Read |
GdkColor * | selection-box-color | Read |
Signals
gboolean | activate-cursor-item | Action |
void | item-activated | Run Last |
gboolean | move-cursor | Action |
void | select-all | Action |
void | select-cursor-item | Action |
void | selection-changed | Run First |
void | toggle-cursor-item | Action |
void | unselect-all | Action |
Types and Values
struct | GtkIconView |
enum | GtkIconViewDropPosition |
Object Hierarchy
GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkContainer ╰── GtkIconView
Implemented Interfaces
GtkIconView implements AtkImplementorIface, GtkBuildable, GtkCellLayout and GtkScrollable.
Includes
#include <gtk/gtk.h>
Description
GtkIconView provides an alternative view on a GtkTreeModel. It displays the model as a grid of icons with labels. Like GtkTreeView, it allows to select one or multiple items (depending on the selection mode, see gtk_icon_view_set_selection_mode()
). In addition to selection with the arrow keys, GtkIconView supports rubberband selection, which is controlled by dragging the pointer.
Note that if the tree model is backed by an actual tree store (as opposed to a flat list where the mapping to icons is obvious), GtkIconView will only display the first level of the tree and ignore the tree’s branches.
CSS nodes
GtkIconView has a single CSS node with name iconview and style class .view. For rubberband selection, a subnode with name rubberband is used.
Functions
GtkIconViewForeachFunc ()
void (*GtkIconViewForeachFunc) (GtkIconView *icon_view
,GtkTreePath *path
,gpointer data
);
A function used by gtk_icon_view_selected_foreach()
to map all selected rows. It will be called on every selected row in the view.
Parameters
icon_view | ||
path | The GtkTreePath of a selected row | |
data | user data. | [closure] |
gtk_icon_view_new ()
GtkWidget *
gtk_icon_view_new (void
);
Creates a new GtkIconView widget
Returns
A newly created 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.
Parameters
area | the GtkCellArea to use to layout cells |
Returns
A newly created GtkIconView widget
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
.
Parameters
model | The model. |
Returns
A newly created GtkIconView widget.
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.
Parameters
icon_view | A GtkIconView. | |
model | The model. | [allow-none] |
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.
Parameters
icon_view |
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.
Parameters
icon_view | A GtkIconView. | |
column | A column in the currently used model, or -1 to display no text |
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
.
Parameters
icon_view | A GtkIconView. |
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()
.
Parameters
icon_view | A GtkIconView. | |
column | A column in the currently used model, or -1 to display no text |
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
.
Parameters
icon_view | A GtkIconView. |
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
Parameters
icon_view | A GtkIconView. | |
column | A column in the currently used model, or -1 to disable |
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
.
Parameters
icon_view | A GtkIconView. |
Returns
the pixbuf column, or -1 if it’s unset.
Since: 2.6
gtk_icon_view_get_path_at_pos ()
GtkTreePath * gtk_icon_view_get_path_at_pos (GtkIconView *icon_view
,gint x
,gint y
);
Finds the path at the point (x
, y
), relative to bin_window coordinates. See gtk_icon_view_get_item_at_pos()
, if you are also interested in the cell at the specified position. See gtk_icon_view_convert_widget_to_bin_window_coords()
for converting widget coordinates to bin_window coordinates.
Parameters
icon_view | A GtkIconView. | |
x | The x position to be identified | |
y | The y position to be identified |
Returns
The GtkTreePath corresponding to the icon or NULL
if no icon exists at that position.
[nullable][transfer full]
Since: 2.6
gtk_icon_view_get_item_at_pos ()
gboolean gtk_icon_view_get_item_at_pos (GtkIconView *icon_view
,gint x
,gint y
,GtkTreePath **path
,GtkCellRenderer **cell
);
Finds the path at the point (x
, y
), relative to bin_window coordinates. In contrast to gtk_icon_view_get_path_at_pos()
, this function also obtains the cell at the specified position. The returned path should be freed with gtk_tree_path_free()
. See gtk_icon_view_convert_widget_to_bin_window_coords()
for converting widget coordinates to bin_window coordinates.
Parameters
icon_view | A GtkIconView. | |
x | The x position to be identified | |
y | The y position to be identified | |
path | Return location for the path, or | [out][allow-none] |
cell | Return location for the renderer responsible for the cell at ( | [out][allow-none][transfer none] |
Returns
TRUE
if an item exists at the specified position
Since: 2.8
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()
.
Parameters
icon_view | ||
wx | X coordinate relative to the widget | |
wy | Y coordinate relative to the widget | |
bx | return location for bin_window X coordinate. | [out] |
by | return location for bin_window Y coordinate. | [out] |
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.
Parameters
icon_view | ||
path | ||
cell | One of the cell renderers of | [allow-none] |
start_editing |
|
Since: 2.8
gtk_icon_view_get_cursor ()
gboolean gtk_icon_view_get_cursor (GtkIconView *icon_view
,GtkTreePath **path
,GtkCellRenderer **cell
);
Fills in path
and cell
with the current cursor path and cell. If the cursor isn’t currently set, then *path
will be NULL
. If no cell currently has focus, then *cell
will be NULL
.
The returned GtkTreePath must be freed with gtk_tree_path_free()
.
Parameters
icon_view | ||
path | Return location for the current cursor path, or | [out][allow-none][transfer full] |
cell | Return location the current focus cell, or | [out][allow-none][transfer none] |
Returns
TRUE
if the cursor is set.
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.
Parameters
icon_view | A GtkIconView. | |
func | The function to call for each selected icon. | [scope call] |
data | User data to pass to the 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
.
Parameters
icon_view | A GtkIconView. | |
mode | The selection mode |
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
.
Parameters
icon_view | A GtkIconView. |
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.
Parameters
icon_view | ||
orientation | the relative position of texts and icons |
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.
Parameters
icon_view |
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.
Parameters
icon_view | ||
columns | the number of columns |
Since: 2.6
gtk_icon_view_get_columns ()
gint
gtk_icon_view_get_columns (GtkIconView *icon_view
);
Returns the value of the ::columns property.
Parameters
icon_view |
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.
Parameters
icon_view | ||
item_width | the width for each item |
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.
Parameters
icon_view |
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.
Parameters
icon_view | ||
spacing | the spacing |
Since: 2.6
gtk_icon_view_get_spacing ()
gint
gtk_icon_view_get_spacing (GtkIconView *icon_view
);
Returns the value of the ::spacing property.
Parameters
icon_view |
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.
Parameters
icon_view | ||
row_spacing | the row spacing |
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.
Parameters
icon_view |
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.
Parameters
icon_view | ||
column_spacing | the column spacing |
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.
Parameters
icon_view |
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.
Parameters
icon_view | ||
margin | the margin |
Since: 2.6
gtk_icon_view_get_margin ()
gint
gtk_icon_view_get_margin (GtkIconView *icon_view
);
Returns the value of the ::margin property.
Parameters
icon_view |
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.
Parameters
icon_view | ||
item_padding | the item padding |
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.
Parameters
icon_view |
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.
Parameters
icon_view | ||
single |
|
Since: 3.8
gtk_icon_view_get_activate_on_single_click ()
gboolean
gtk_icon_view_get_activate_on_single_click
(GtkIconView *icon_view
);
Gets the setting set by gtk_icon_view_set_activate_on_single_click()
.
Parameters
icon_view |
Returns
TRUE
if item-activated will be emitted on a single 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.
Parameters
icon_view | ||
path | ||
cell | a GtkCellRenderer or | [allow-none] |
rect | rectangle to fill with cell rect. | [out] |
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
.
Parameters
icon_view | A GtkIconView. | |
path | The GtkTreePath to be selected. |
Since: 2.6
gtk_icon_view_unselect_path ()
void gtk_icon_view_unselect_path (GtkIconView *icon_view
,GtkTreePath *path
);
Unselects the row at path
.
Parameters
icon_view | A GtkIconView. | |
path | The GtkTreePath to be unselected. |
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.
Parameters
icon_view | A GtkIconView. | |
path | A GtkTreePath to check selection on. |
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:
iconview.view ╰── [rubberband]
Parameters
icon_view | A GtkIconView. |
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.
Parameters
icon_view | A GtkIconView. |
Since: 2.6
gtk_icon_view_unselect_all ()
void
gtk_icon_view_unselect_all (GtkIconView *icon_view
);
Unselects all the icons.
Parameters
icon_view | A GtkIconView. |
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
.
Parameters
icon_view | ||
path | The GtkTreePath to be activated |
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.
Parameters
icon_view | A GtkIconView. | |
path | The path of the item to move to. | |
use_align | whether to use alignment arguments, or | |
row_align | The vertical alignment of the item specified by | |
col_align | The horizontal alignment of the item specified by |
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.
Parameters
icon_view | ||
start_path | Return location for start of region, or | [out][allow-none] |
end_path | Return location for end of region, or | [out][allow-none] |
Returns
TRUE
, if valid paths were placed in start_path
and end_path
Since: 2.8
gtk_icon_view_set_tooltip_item ()
void gtk_icon_view_set_tooltip_item (GtkIconView *icon_view
,GtkTooltip *tooltip
,GtkTreePath *path
);
Sets the tip area of tooltip
to be the area covered by the item at path
. See also gtk_icon_view_set_tooltip_column()
for a simpler alternative. See also gtk_tooltip_set_tip_area()
.
Parameters
icon_view | ||
tooltip | ||
path |
Since: 2.12
gtk_icon_view_set_tooltip_cell ()
void gtk_icon_view_set_tooltip_cell (GtkIconView *icon_view
,GtkTooltip *tooltip
,GtkTreePath *path
,GtkCellRenderer *cell
);
Sets the tip area of tooltip
to the area which cell
occupies in the item pointed to by path
. See also gtk_tooltip_set_tip_area()
.
See also gtk_icon_view_set_tooltip_column()
for a simpler alternative.
Parameters
icon_view | ||
tooltip | ||
path | ||
cell | a GtkCellRenderer or | [allow-none] |
Since: 2.12
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
.
Parameters
icon_view | an GtkIconView | |
x | the x coordinate (relative to widget coordinates). | [inout] |
y | the y coordinate (relative to widget coordinates). | [inout] |
keyboard_tip | whether this is a keyboard tooltip or not | |
model | a pointer to receive a GtkTreeModel or | [out][allow-none][transfer none] |
path | a pointer to receive a GtkTreePath or | [out][allow-none] |
iter | a pointer to receive a GtkTreeIter or | [out][allow-none] |
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.
Parameters
icon_view | ||
column | an integer, which is a valid column number for |
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.
Parameters
icon_view |
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.
Parameters
icon_view | ||
path | the GtkTreePath of the item |
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.
Parameters
icon_view | ||
path | the GtkTreePath of the item |
Returns
The column in which the item is displayed
Since: 2.22
gtk_icon_view_enable_model_drag_source ()
void gtk_icon_view_enable_model_drag_source (GtkIconView *icon_view
,GdkModifierType start_button_mask
,const GtkTargetEntry *targets
,gint n_targets
,GdkDragAction actions
);
Turns icon_view
into a drag source for automatic DND. Calling this method sets “reorderable” to FALSE
.
Parameters
icon_view | ||
start_button_mask | Mask of allowed buttons to start drag | |
targets | the table of targets that the drag will support. | [array length=n_targets] |
n_targets | the number of items in | |
actions | the bitmask of possible actions for a drag from this widget |
Since: 2.8
gtk_icon_view_enable_model_drag_dest ()
void gtk_icon_view_enable_model_drag_dest (GtkIconView *icon_view
,const GtkTargetEntry *targets
,gint n_targets
,GdkDragAction actions
);
Turns icon_view
into a drop destination for automatic DND. Calling this method sets “reorderable” to FALSE
.
Parameters
icon_view | ||
targets | the table of targets that the drag will support. | [array length=n_targets] |
n_targets | the number of items in | |
actions | the bitmask of possible actions for a drag to this widget |
Since: 2.8
gtk_icon_view_unset_model_drag_source ()
void
gtk_icon_view_unset_model_drag_source (GtkIconView *icon_view
);
Undoes the effect of gtk_icon_view_enable_model_drag_source()
. Calling this method sets “reorderable” to FALSE
.
Parameters
icon_view |
Since: 2.8
gtk_icon_view_unset_model_drag_dest ()
void
gtk_icon_view_unset_model_drag_dest (GtkIconView *icon_view
);
Undoes the effect of gtk_icon_view_enable_model_drag_dest()
. Calling this method sets “reorderable” to FALSE
.
Parameters
icon_view |
Since: 2.8
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.
Parameters
icon_view | A GtkIconView. | |
reorderable |
|
Since: 2.8
gtk_icon_view_get_reorderable ()
gboolean
gtk_icon_view_get_reorderable (GtkIconView *icon_view
);
Retrieves whether the user can reorder the list via drag-and-drop. See gtk_icon_view_set_reorderable()
.
Parameters
icon_view |
Returns
TRUE
if the list can be reordered.
Since: 2.8
gtk_icon_view_set_drag_dest_item ()
void gtk_icon_view_set_drag_dest_item (GtkIconView *icon_view
,GtkTreePath *path
,GtkIconViewDropPosition pos
);
Sets the item that is highlighted for feedback.
Parameters
icon_view | ||
path | The path of the item to highlight, or | [allow-none] |
pos | Specifies where to drop, relative to the item |
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.
Parameters
icon_view | ||
path | Return location for the path of the highlighted item, or | [out][allow-none] |
pos | Return location for the drop position, or | [out][allow-none] |
Since: 2.8
gtk_icon_view_get_dest_item_at_pos ()
gboolean gtk_icon_view_get_dest_item_at_pos (GtkIconView *icon_view
,gint drag_x
,gint drag_y
,GtkTreePath **path
,GtkIconViewDropPosition *pos
);
Determines the destination item for a given position.
Parameters
icon_view | ||
drag_x | the position to determine the destination item for | |
drag_y | the position to determine the destination item for | |
path | Return location for the path of the item, or | [out][allow-none] |
pos | Return location for the drop position, or | [out][allow-none] |
Returns
whether there is an item at the given position.
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.
Parameters
icon_view | ||
path | a GtkTreePath in |
Returns
a newly-allocated surface of the drag icon.
[transfer full]
Since: 2.8
Types and Values
struct GtkIconView
struct GtkIconView;
enum GtkIconViewDropPosition
An enum for determining where a dropped item goes.
Members
GTK_ICON_VIEW_NO_DROP | no drop possible | |
GTK_ICON_VIEW_DROP_INTO | dropped item replaces the item | |
GTK_ICON_VIEW_DROP_LEFT | droppped item is inserted to the left | |
GTK_ICON_VIEW_DROP_RIGHT | dropped item is inserted to the right | |
GTK_ICON_VIEW_DROP_ABOVE | dropped item is inserted above | |
GTK_ICON_VIEW_DROP_BELOW | dropped item is inserted below |
Property Details
The “activate-on-single-click”
property
“activate-on-single-click” gboolean
The activate-on-single-click property specifies whether the "item-activated" signal will be emitted after a single click.
Owner: GtkIconView
Flags: Read / Write
Default value: FALSE
Since: 3.8
The “cell-area”
property
“cell-area” GtkCellArea *
The GtkCellArea used to layout cell renderers for this view.
If no area is specified when creating the icon view with gtk_icon_view_new_with_area()
a GtkCellAreaBox will be used.
Owner: GtkIconView
Flags: Read / Write / Construct Only
Since: 3.0
The “column-spacing”
property
“column-spacing” int
The column-spacing property specifies the space which is inserted between the columns of the icon view.
Owner: GtkIconView
Flags: Read / Write
Allowed values: >= 0
Default value: 6
Since: 2.6
The “columns”
property
“columns” int
The columns property contains the number of the columns in which the items should be displayed. If it is -1, the number of columns will be chosen automatically to fill the available area.
Owner: GtkIconView
Flags: Read / Write
Allowed values: >= -1
Default value: -1
Since: 2.6
The “item-orientation”
property
“item-orientation” GtkOrientation
The item-orientation property specifies how the cells (i.e. the icon and the text) of the item are positioned relative to each other.
Owner: GtkIconView
Flags: Read / Write
Default value: GTK_ORIENTATION_VERTICAL
Since: 2.6
The “item-padding”
property
“item-padding” int
The item-padding property specifies the padding around each of the icon view's item.
Owner: GtkIconView
Flags: Read / Write
Allowed values: >= 0
Default value: 6
Since: 2.18
The “item-width”
property
“item-width” int
The item-width property specifies the width to use for each item. If it is set to -1, the icon view will automatically determine a suitable item size.
Owner: GtkIconView
Flags: Read / Write
Allowed values: >= -1
Default value: -1
Since: 2.6
The “margin”
property
“margin” int
The margin property specifies the space which is inserted at the edges of the icon view.
Owner: GtkIconView
Flags: Read / Write
Allowed values: >= 0
Default value: 6
Since: 2.6
The “markup-column”
property
“markup-column” int
The ::markup-column property contains the number of the model column containing markup information to be displayed. The markup column must be of type G_TYPE_STRING. If this property and the :text-column property are both set to column numbers, it overrides the text column. If both are set to -1, no texts are displayed.
Owner: GtkIconView
Flags: Read / Write
Allowed values: >= -1
Default value: -1
Since: 2.6
The “model”
property
“model” GtkTreeModel *
The model for the icon view.
Owner: GtkIconView
Flags: Read / Write
The “pixbuf-column”
property
“pixbuf-column” int
The ::pixbuf-column property contains the number of the model column containing the pixbufs which are displayed. The pixbuf column must be of type GDK_TYPE_PIXBUF. Setting this property to -1 turns off the display of pixbufs.
Owner: GtkIconView
Flags: Read / Write
Allowed values: >= -1
Default value: -1
Since: 2.6
The “reorderable”
property
“reorderable” gboolean
The reorderable property specifies if the items can be reordered by DND.
Owner: GtkIconView
Flags: Read / Write
Default value: FALSE
Since: 2.8
The “row-spacing”
property
“row-spacing” int
The row-spacing property specifies the space which is inserted between the rows of the icon view.
Owner: GtkIconView
Flags: Read / Write
Allowed values: >= 0
Default value: 6
Since: 2.6
The “selection-mode”
property
“selection-mode” GtkSelectionMode
The ::selection-mode property specifies the selection mode of icon view. If the mode is GTK_SELECTION_MULTIPLE, rubberband selection is enabled, for the other modes, only keyboard selection is possible.
Owner: GtkIconView
Flags: Read / Write
Default value: GTK_SELECTION_SINGLE
Since: 2.6
The “spacing”
property
“spacing” int
The spacing property specifies the space which is inserted between the cells (i.e. the icon and the text) of an item.
Owner: GtkIconView
Flags: Read / Write
Allowed values: >= 0
Default value: 0
Since: 2.6
The “text-column”
property
“text-column” int
The ::text-column property contains the number of the model column containing the texts which are displayed. The text column must be of type G_TYPE_STRING. If this property and the :markup-column property are both set to -1, no texts are displayed.
Owner: GtkIconView
Flags: Read / Write
Allowed values: >= -1
Default value: -1
Since: 2.6
The “tooltip-column”
property
“tooltip-column” int
The column in the model containing the tooltip texts for the items.
Owner: GtkIconView
Flags: Read / Write
Allowed values: >= -1
Default value: -1
Style Property Details
The “selection-box-alpha”
style property
“selection-box-alpha” guchar
The opacity of the selection box.
GtkIconView:selection-box-alpha
has been deprecated since version 3.20 and should not be used in newly-written code.
The opacity of the selection box is determined by CSS; the value of this style property is ignored.
Owner: GtkIconView
Flags: Read
Default value: 64
The “selection-box-color”
style property
“selection-box-color” GdkColor *
The color of the selection box.
GtkIconView:selection-box-color
has been deprecated since version 3.20 and should not be used in newly-written code.
The color of the selection box is determined by CSS; the value of this style property is ignored.
Owner: GtkIconView
Flags: Read
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.
Parameters
iconview | the object on which the signal is emitted | |
user_data | user data set when the signal handler was connected. |
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.
Parameters
iconview | the object on which the signal is emitted | |
path | the GtkTreePath for the activated item | |
user_data | user data set when the signal handler was connected. |
Flags: Run Last
The “move-cursor”
signal
gboolean user_function (GtkIconView *iconview, GtkMovementStep step, int 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.
Parameters
iconview | the object which received the signal | |
step | the granularity of the move, as a GtkMovementStep | |
count | the number of | |
user_data | user data set when the signal handler was connected. |
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.
Parameters
iconview | the object on which the signal is emitted | |
user_data | user data set when the signal handler was connected. |
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.
Parameters
iconview | the object on which the signal is emitted | |
user_data | user data set when the signal handler was connected. |
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.
Parameters
iconview | the object on which the signal is emitted | |
user_data | user data set when the signal handler was connected. |
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.
Parameters
iconview | the object on which the signal is emitted | |
user_data | user data set when the signal handler was connected. |
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.
Parameters
iconview | the object on which the signal is emitted | |
user_data | user data set when the signal handler was connected. |
Flags: Action
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.24/GtkIconView.html