IconView
Object Hierarchy:
Description:
[ CCode ( type_id = "gtk_icon_view_get_type ()" ) ]
public class IconView : Widget, Accessible, Buildable, CellLayout, ConstraintTarget, Scrollable
public class IconView : Widget, Accessible, Buildable, CellLayout, ConstraintTarget, Scrollable
IconView provides an alternative view on a TreeModel.
It displays the model as a grid of icons with labels. Like TreeView, it allows to select one or multiple items (depending on the selection mode, see set_selection_mode). In addition to selection with the arrow keys, IconView 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), IconView will only display the first level of the tree and ignore the tree’s branches.
CSS nodes
iconview.view
╰── [rubberband]
conView has a single CSS node with name iconview and style
class .view. For rubberband selection, a subnode with name rubberband is used.
Namespace: Gtk
Package: gtk4
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 CellArea 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 IconView widget
- public IconView.with_area (CellArea area)
Creates a new IconView widget using the specified
area
to layout cells inside the icons. - public IconView.with_model (TreeModel model)
Creates a new IconView widget with the model
model
.
Methods:
- public Paintable create_drag_icon (TreePath path)
Creates a XlibSurface 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 IconView 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 query_tooltip signal handler for IconView.
- 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 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 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 IconView.
- 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 TreeDragSource and the TreeDragDest.
- 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 IconView 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 which gets emitted when the user activates the currently focused item.
- 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 which gets emitted when the user initiates a cursor movement.
- public signal void select_all ()
A keybinding signal which gets emitted when the user selects all items.
- public signal void select_cursor_item ()
A keybinding signal which gets emitted when the user selects the item that is currently focused.
- public signal void selection_changed ()
The selection_changed signal is emitted when the selection (i.
- public signal void toggle_cursor_item ()
A keybinding signal which gets emitted when the user toggles whether the currently focused item is selected or not.
- public signal void unselect_all ()
A keybinding signal which gets emitted when the user unselects all items.
Inherited Members:
All known members inherited from class Gtk.Widget
- 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
- 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_can_focus
- get_can_target
- get_child_visible
- get_clipboard
- 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
All known members inherited from class GLib.Object
All known members inherited from interface Gtk.Accessible
All known members inherited from interface Gtk.Buildable
All known members inherited from interface Gtk.CellLayout
All known members inherited from interface Gtk.Scrollable