IconView
Object Hierarchy:
Description:
[ Version ( deprecated = true , deprecated_since = "4.10" ) ]
public sealed class IconView : Widget, Accessible, Buildable, CellLayout, ConstraintTarget, Scrollable
Warning: IconView is deprecated since 4.10.
`GtkIconView` is a widget which displays data in a grid of icons.
Use [class@Gtk.GridView] instead
<picture> <source srcset="icon-view-dark.png" media="(prefers-color-scheme: dark)"> <img alt="An example GtkIconView" src="icon-view.png"> </picture>
`GtkIconView` provides an alternative view on a `GtkTreeModel`. It displays the model as a grid of icons with labels. Like [class@Gtk.TreeView] , it allows to select one or multiple items (depending on the selection mode, see [method@Gtk.IconView.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
``` 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.
Content:
Properties:
- 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-columnproperty contains the number of the model column containing markup information to be displayed. - public TreeModel model { get; set; }
      
      The model of the icon view.
 - public int pixbuf_column { get; set; }
      
      The
GtkIconView::pixbuf-columnproperty 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-modeproperty 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-columnproperty contains the number of the model column containing the texts which are displayed. - public int tooltip_column { get; set; }
      
      The column of the icon view model which is being used for displaying tooltips on it's rows.
 
Creation methods:
- public IconView ()
      
      Creates a new `GtkIconView` widget
 - public IconView.with_area (CellArea area)
      
      Creates a new `GtkIconView` widget using the specified
areato layout cells inside the icons. - public IconView.with_model (TreeModel model)
      
      Creates a new `GtkIconView` widget with the model
model. 
Methods:
- 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 ()
      
      Gets the setting set by set_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
pathandcell. - public int get_column_spacing ()
      
      Returns the value of the
GtkIconView::column-spacingproperty. - public int get_columns ()
      
      Returns the value of the
GtkIconView::columnss property. - public bool get_cursor (out TreePath path, out unowned CellRenderer cell)
      
      Fills in
pathandcellwith 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
pathis currently displayed. - public Orientation get_item_orientation ()
      
      Returns the value of the
GtkIconView::item-orientationproperty 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-paddingproperty. - public int get_item_row (TreePath path)
      
      Gets the row in which the item
pathis currently displayed. - public int get_item_width ()
      
      Returns the value of the
GtkIconView::item-widthproperty. - public int get_margin ()
      
      Returns the value of the
GtkIconView::marginproperty. - 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-spacingproperty. - 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::spacingproperty. - 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_pathandend_pathto be the first and last visible path. - public bool path_is_selected (TreePath path)
      
      Returns true if the icon pointed to by
pathis 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-spacingproperty which specifies the space which is inserted between the columns of the icon view. - public void set_columns (int columns)
      
      Sets the
GtkIconView::columnss 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-orientationproperty 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-widthproperty which specifies the width to use for each item. - public void set_margin (int margin)
      
      Sets the
GtkIconView::marginproperty 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-spacingproperty 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::spacingproperty 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
tooltipto the area whichcelloccupies in the item pointed to bypath. - 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
tooltipto be the area covered by the item atpath. - public void unselect_path (TreePath path)
      
      Unselects the row at
path. - public void unset_model_drag_dest ()
      
      Undoes the effect of enable_model_drag_dest.
 - public void unset_model_drag_source ()
      
      Undoes the effect of enable_model_drag_source.
 
Signals:
- public signal bool activate_cursor_item ()
      
      A [keybinding signal][class@Gtk.
 - public signal void item_activated (TreePath path)
      
      The item_activated signal is emitted when the method
gtk_icon_view_item_activatedis 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. - public signal bool move_cursor (MovementStep step, int count, bool extend, bool modify)
      
      The move_cursor signal is a [keybinding signal][ class@Gtk.
 - public signal void select_all ()
      
      A [keybinding signal][class@Gtk.
 - public signal void select_cursor_item ()
      
      A [keybinding signal][class@Gtk.
 - public signal void selection_changed ()
      
      The selection_changed signal is emitted when the selection (i.
 - public signal void toggle_cursor_item ()
      
      A [keybinding signal][class@Gtk.
 - public signal void unselect_all ()
      
      A [keybinding signal][class@Gtk.
 
Inherited Members:
- action_set_enabled
 - activate
 - activate_action
 - activate_action_variant
 - activate_default
 - add_binding
 - add_binding_action
 - add_binding_signal
 - add_controller
 - add_css_class
 - add_mnemonic_label
 - add_shortcut
 - add_tick_callback
 - allocate
 - allocate_size
 - bind_template_callback_full
 - bind_template_child_full
 - can_focus
 - can_target
 - child_focus
 - compute_bounds
 - compute_expand
 - compute_expand_internal
 - compute_point
 - compute_transform
 - contains
 - create_pango_context
 - create_pango_layout
 - css_changed
 - css_classes
 - css_name
 - cursor
 - destroy
 - direction_changed
 - dispose_template
 - error_bell
 - focus
 - focus_on_click
 - focusable
 - get_accessible_role
 - get_activate_signal
 - get_allocated_baseline
 - get_allocated_height
 - get_allocated_width
 - get_allocation
 - get_ancestor
 - get_baseline
 - get_can_focus
 - get_can_target
 - get_child_visible
 - get_clipboard
 - get_color
 - get_css_classes
 - get_css_name
 - get_cursor
 - get_default_direction
 - get_direction
 - get_display
 - get_first_child
 - get_focus_child
 - get_focus_on_click
 - get_focusable
 - get_font_map
 - get_font_options
 - get_frame_clock
 - get_halign
 - get_has_tooltip
 - get_height
 - get_hexpand
 - get_hexpand_set
 - get_last_child
 - get_layout_manager
 - get_layout_manager_type
 - get_limit_events
 - get_mapped
 - get_margin_bottom
 - get_margin_end
 
- get_margin_start
 - get_margin_top
 - get_name
 - get_native
 - get_next_sibling
 - get_opacity
 - get_overflow
 - get_pango_context
 - get_parent
 - get_preferred_size
 - get_prev_sibling
 - get_primary_clipboard
 - get_realized
 - get_receives_default
 - get_request_mode
 - get_root
 - get_scale_factor
 - get_sensitive
 - get_settings
 - get_size
 - get_size_request
 - get_state_flags
 - get_style_context
 - get_template_child
 - get_tooltip_markup
 - get_tooltip_text
 - get_valign
 - get_vexpand
 - get_vexpand_set
 - get_visible
 - get_width
 - grab_focus
 - halign
 - has_css_class
 - has_default
 - has_focus
 - has_tooltip
 - has_visible_focus
 - height_request
 - hexpand
 - hexpand_set
 - hide
 - in_destruction
 - init_template
 - insert_action_group
 - insert_after
 - insert_before
 - install_action
 - install_property_action
 - is_ancestor
 - is_drawable
 - is_focus
 - is_sensitive
 - is_visible
 - keynav_failed
 - layout_manager
 - limit_events
 - list_mnemonic_labels
 - map
 - margin_bottom
 - margin_end
 - margin_start
 - margin_top
 - measure
 - mnemonic_activate
 - move_focus
 - name
 - observe_children
 - observe_controllers
 - opacity
 - overflow
 - parent
 - pick
 - query_action
 - query_tooltip
 - queue_allocate
 - queue_draw
 
- queue_resize
 - realize
 - receives_default
 - remove_controller
 - remove_css_class
 - remove_mnemonic_label
 - remove_tick_callback
 - root
 - scale_factor
 - sensitive
 - set_accessible_role
 - set_activate_signal
 - set_activate_signal_from_name
 - set_can_focus
 - set_can_target
 - set_child_visible
 - set_css_classes
 - set_css_name
 - set_cursor
 - set_cursor_from_name
 - set_default_direction
 - set_direction
 - set_focus_child
 - set_focus_on_click
 - set_focusable
 - set_font_map
 - set_font_options
 - set_halign
 - set_has_tooltip
 - set_hexpand
 - set_hexpand_set
 - set_layout_manager
 - set_layout_manager_type
 - set_limit_events
 - set_margin_bottom
 - set_margin_end
 - set_margin_start
 - set_margin_top
 - set_name
 - set_opacity
 - set_overflow
 - set_parent
 - set_receives_default
 - set_sensitive
 - set_size_request
 - set_state_flags
 - set_template
 - set_template_from_resource
 - set_template_scope
 - set_tooltip_markup
 - set_tooltip_text
 - set_valign
 - set_vexpand
 - set_vexpand_set
 - set_visible
 - should_layout
 - show
 - size_allocate
 - snapshot
 - snapshot_child
 - state_flags_changed
 - system_setting_changed
 - tooltip_markup
 - tooltip_text
 - translate_coordinates
 - trigger_tooltip_query
 - unmap
 - unparent
 - unrealize
 - unroot
 - unset_state_flags
 - valign
 - vexpand
 - vexpand_set
 - visible
 - width_request