`GtkIconView` is a widget which displays data in a grid of icons.
`GtkIconView` provides an alternative view on a `GtkTreeModel`. It displays the model as a grid of icons with labels. Like [
[email protected]], it allows to select one or multiple items (depending on the selection mode, see [
[email protected]_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
``` iconview.view ╰── [rubberband] ```
`GtkIconView` has a single CSS node with name iconview and style class .view. For rubberband selection, a subnode with name rubberband is
used.
- public bool activate_on_single_click { get; set; }
The activate-on-single-click property specifies whether the
"item-activated" signal will be emitted after a single click.
- public CellArea cell_area { owned get; construct; }
The `GtkCellArea` used to layout cell renderers for this view.
- public int column_spacing { get; set; }
The column-spacing property specifies the space which is inserted
between the columns of the icon view.
- public int columns { get; set; }
The columns property contains the number of the columns in which the
items should be displayed.
- public Orientation item_orientation { get; set; }
The item-orientation property specifies how the cells (i.
- public int item_padding { get; set; }
The item-padding property specifies the padding around each of the
icon view's item.
- public int item_width { get; set; }
The item-width property specifies the width to use for each item.
- public int margin { get; set; }
The margin property specifies the space which is inserted at the edges
of the icon view.
- public int markup_column { get; set; }
The GtkIconView::markup-column
property contains the
number of the model column containing markup information to be displayed.
- public TreeModel model { get; set; }
- public int pixbuf_column { get; set; }
The GtkIconView::pixbuf-column
property contains the
number of the model column containing the pixbufs which are displayed.
- public bool reorderable { get; set; }
The reorderable property specifies if the items can be reordered by
DND.
- public int row_spacing { get; set; }
The row-spacing property specifies the space which is inserted between
the rows of the icon view.
- public SelectionMode selection_mode { get; set; }
The GtkIconView::selection-mode
property specifies the
selection mode of icon view.
- public int spacing { get; set; }
The spacing property specifies the space which is inserted between the
cells (i.
- public int text_column { get; set; }
The GtkIconView::text-column
property contains the number
of the model column containing the texts which are displayed.
- public int tooltip_column { get; set; }
- public Paintable? create_drag_icon (TreePath path)
Creates a `GdkPaintable` representation of the item at path
.
- public void enable_model_drag_dest (ContentFormats formats, DragAction actions)
Turns this into a drop destination
for automatic DND.
- public void enable_model_drag_source (ModifierType start_button_mask, ContentFormats formats, DragAction actions)
Turns this into a drag source for
automatic DND.
- public bool get_activate_on_single_click ()
- public bool get_cell_rect (TreePath path, CellRenderer? cell, out Rectangle rect)
Fills the bounding rectangle in widget coordinates for the cell
specified by path
and cell
.
- public int get_column_spacing ()
Returns the value of the GtkIconView::column-spacing
property.
- public int get_columns ()
Returns the value of the GtkIconView::columns
s property.
- public bool get_cursor (out TreePath path, out unowned CellRenderer cell)
Fills in path
and cell
with the current
cursor path and cell.
- public bool get_dest_item_at_pos (int drag_x, int drag_y, out TreePath path, out IconViewDropPosition pos)
Determines the destination item for a given position.
- public void get_drag_dest_item (out TreePath? path, out IconViewDropPosition pos)
Gets information about the item that is highlighted for feedback.
- public bool get_item_at_pos (int x, int y, out TreePath path, out unowned CellRenderer cell)
Gets the path and cell for the icon at the given position.
- public int get_item_column (TreePath path)
Gets the column in which the item path
is currently
displayed.
- public Orientation get_item_orientation ()
Returns the value of the GtkIconView::item-orientation
property which determines whether the labels are drawn beside the icons instead of below.
- public int get_item_padding ()
Returns the value of the GtkIconView::item-padding
property.
- public int get_item_row (TreePath path)
Gets the row in which the item path
is currently
displayed.
- public int get_item_width ()
Returns the value of the GtkIconView::item-width
property.
- public int get_margin ()
Returns the value of the GtkIconView::margin
property.
- public int get_markup_column ()
Returns the column with markup text for
this.
- public unowned TreeModel? get_model ()
Returns the model the `GtkIconView` is based on.
- public TreePath? get_path_at_pos (int x, int y)
Gets the path for the icon at the given position.
- public int get_pixbuf_column ()
Returns the column with pixbufs for this
.
- public bool get_reorderable ()
Retrieves whether the user can reorder the list via drag-and-drop.
- public int get_row_spacing ()
Returns the value of the GtkIconView::row-spacing
property.
- public List<TreePath> get_selected_items ()
Creates a list of paths of all selected items.
- public SelectionMode get_selection_mode ()
Gets the selection mode of the this.
- public int get_spacing ()
Returns the value of the GtkIconView::spacing
property.
- public int get_text_column ()
Returns the column with text for this
.
- public int get_tooltip_column ()
Returns the column of this’s model
which is being used for displaying tooltips on this’s rows.
- public bool get_tooltip_context (int x, int y, bool keyboard_tip, out unowned TreeModel model, out TreePath path, out TreeIter iter)
This function is supposed to be used in a `GtkWidget:
GtkIconView:query-tooltip
` signal handler for `GtkIconView`.
- public bool get_visible_range (out TreePath start_path, out TreePath end_path)
Sets start_path
and end_path
to be the first
and last visible path.
- public bool path_is_selected (TreePath path)
Returns true if the icon pointed to
by path
is currently selected.
- public void scroll_to_path (TreePath path, bool use_align, float row_align, float col_align)
Moves the alignments of this to the
position specified by path
.
- public void select_path (TreePath path)
Selects the row at path
.
- public void selected_foreach (IconViewForeachFunc func)
Calls a function for each selected icon.
- public void set_activate_on_single_click (bool single)
Causes the `GtkIconView`
item_activated signal to be emitted on a single click instead of a
double click.
- public void set_column_spacing (int column_spacing)
Sets the GtkIconView::column-spacing
property which
specifies the space which is inserted between the columns of the icon view.
- public void set_columns (int columns)
Sets the GtkIconView::columns
s property which determines
in how many columns the icons are arranged.
- public void set_cursor (TreePath path, CellRenderer? cell, bool start_editing)
Sets the current keyboard focus to be at path
, and
selects it.
- public void set_drag_dest_item (TreePath? path, IconViewDropPosition pos)
Sets the item that is highlighted for feedback.
- public void set_item_orientation (Orientation orientation)
Sets the GtkIconView::item-orientation
property which
determines whether the labels are drawn beside the icons instead of below.
- public void set_item_padding (int item_padding)
Sets the `GtkIconView`
item_padding property which specifies the padding around each of the
icon view’s items.
- public void set_item_width (int item_width)
Sets the GtkIconView::item-width
property which specifies
the width to use for each item.
- public void set_margin (int margin)
Sets the GtkIconView::margin
property which specifies the
space which is inserted at the top, bottom, left and right of the icon view.
- public void set_markup_column (int column)
Sets the column with markup information for
this to be column
.
- public void set_model (TreeModel? model)
Sets the model for a `GtkIconView`.
- public void set_pixbuf_column (int column)
Sets the column with pixbufs for this
to be column
.
- public void set_reorderable (bool reorderable)
This function is a convenience function to allow you to reorder models
that support the `GtkTreeDragSourceIface` and the `GtkTreeDragDestIface`.
- public void set_row_spacing (int row_spacing)
Sets the GtkIconView::row-spacing
property which
specifies the space which is inserted between the rows of the icon view.
- public void set_selection_mode (SelectionMode mode)
Sets the selection mode of the this.
- public void set_spacing (int spacing)
Sets the GtkIconView::spacing
property which specifies
the space which is inserted between the cells (i.
- public void set_text_column (int column)
Sets the column with text for this
to be column
.
- public void set_tooltip_cell (Tooltip tooltip, TreePath path, CellRenderer? cell)
Sets the tip area of tooltip
to the area which cell
occupies in the item pointed to by path
.
- public void set_tooltip_column (int 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.
- public void set_tooltip_item (Tooltip tooltip, TreePath path)
Sets the tip area of tooltip
to be the area covered by
the item at path
.
- public void unselect_path (TreePath path)
Unselects the row at path
.
- public void unset_model_drag_dest ()
- public void unset_model_drag_source ()