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
`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-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; }
Creation methods:
- public IconView ()
Creates a new `GtkIconView` widget
- public IconView.with_area (CellArea area)
Creates a new `GtkIconView` widget using the specified
area
to 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
path
andcell
. - 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
andcell
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
andend_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 whichcell
occupies 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
tooltip
to 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_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. - 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_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
- 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_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