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.
- 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; }
- 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 void convert_widget_to_bin_window_coords (int wx, int wy, out int bx, out int by)
Converts widget coordinates to coordinates for the bin_window, as
expected by e.
- public Surface create_drag_icon (TreePath path)
Creates a XlibSurface representation of the
item at path
.
- public void enable_model_drag_dest (TargetEntry[] targets, DragAction actions)
Turns this into a drop destination
for automatic DND.
- public void enable_model_drag_source (ModifierType start_button_mask, TargetEntry[] targets, 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)
Finds the path at the point (x
, y
), relative
to bin_window coordinates.
- 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)
Finds the path at the point (x
, y
), relative
to bin_window coordinates.
- 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 (ref int x, ref 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
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
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)
- 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 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 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 ()