:right-sidebar: True IconView =================================================================== .. currentmodule:: gi.repository.Gtk .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead .. class:: IconView(**properties: ~typing.Any) :no-contents-entry: Superclasses: :class:`~gi.repository.Gtk.Widget`, :class:`~gi.repository.GObject.InitiallyUnowned`, :class:`~gi.repository.GObject.Object` Implemented Interfaces: :class:`~gi.repository.Gtk.Accessible`, :class:`~gi.repository.Gtk.Buildable`, :class:`~gi.repository.Gtk.CellLayout`, :class:`~gi.repository.Gtk.ConstraintTarget`, :class:`~gi.repository.Gtk.Scrollable` ``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 :obj:`~gi.repository.Gtk.TreeView`, it allows to select one or multiple items (depending on the selection mode, see :obj:`~gi.repository.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 --------- .. code-block:: :dedent: 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. Constructors ------------ .. rst-class:: interim-class .. class:: IconView :no-index: .. classmethod:: new() -> ~gi.repository.Gtk.Widget Creates a new ``GtkIconView`` widget .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead .. classmethod:: new_with_area(area: ~gi.repository.Gtk.CellArea) -> ~gi.repository.Gtk.Widget Creates a new ``GtkIconView`` widget using the specified ``area`` to layout cells inside the icons. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param area: the ``GtkCellArea`` to use to layout cells .. classmethod:: new_with_model(model: ~gi.repository.Gtk.TreeModel) -> ~gi.repository.Gtk.Widget Creates a new ``GtkIconView`` widget with the model ``model``. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param model: The model. Methods ------- .. rst-class:: interim-class .. class:: IconView :no-index: .. method:: create_drag_icon(path: ~gi.repository.Gtk.TreePath) -> ~gi.repository.Gdk.Paintable | None Creates a ``GdkPaintable`` representation of the item at ``path``. This image is used for a drag icon. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param path: a ``GtkTreePath`` in ``icon_view`` .. method:: enable_model_drag_dest(formats: ~gi.repository.Gdk.ContentFormats, actions: ~gi.repository.Gdk.DragAction) -> None Turns ``icon_view`` into a drop destination for automatic DND. Calling this method sets ``GtkIconView``:reorderable to :const:`False`. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param formats: the formats that the drag will support :param actions: the bitmask of possible actions for a drag to this widget .. method:: enable_model_drag_source(start_button_mask: ~gi.repository.Gdk.ModifierType, formats: ~gi.repository.Gdk.ContentFormats, actions: ~gi.repository.Gdk.DragAction) -> None Turns ``icon_view`` into a drag source for automatic DND. Calling this method sets ``GtkIconView``:reorderable to :const:`False`. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param start_button_mask: Mask of allowed buttons to start drag :param formats: the formats that the drag will support :param actions: the bitmask of possible actions for a drag from this widget .. method:: get_activate_on_single_click() -> bool Gets the setting set by :func:`~gi.repository.Gtk.IconView.set_activate_on_single_click`. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead .. method:: get_cell_rect(path: ~gi.repository.Gtk.TreePath, cell: ~gi.repository.Gtk.CellRenderer | None = None) -> tuple[bool, ~gi.repository.Gdk.Rectangle] Fills the bounding rectangle in widget coordinates for the cell specified by ``path`` and ``cell``. If ``cell`` is :const:`None` the main cell area is used. This function is only valid if ``icon_view`` is realized. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param path: a ``GtkTreePath`` :param cell: a ``GtkCellRenderer`` .. method:: get_column_spacing() -> int Returns the value of the ::column-spacing property. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead .. method:: get_columns() -> int Returns the value of the ::columns property. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead .. method:: get_cursor() -> tuple[bool, ~gi.repository.Gtk.TreePath, ~gi.repository.Gtk.CellRenderer] Fills in ``path`` and ``cell`` with the current cursor path and cell. If the cursor isn’t currently set, then *``path`` will be :const:`None`. If no cell currently has focus, then *``cell`` will be :const:`None`. The returned ``GtkTreePath`` must be freed with :func:`~gi.repository.Gtk.TreePath.free`. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead .. method:: get_dest_item_at_pos(drag_x: int, drag_y: int) -> tuple[bool, ~gi.repository.Gtk.TreePath, ~gi.repository.Gtk.IconViewDropPosition] Determines the destination item for a given position. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param drag_x: the position to determine the destination item for :param drag_y: the position to determine the destination item for .. method:: get_drag_dest_item() -> tuple[~gi.repository.Gtk.TreePath, ~gi.repository.Gtk.IconViewDropPosition] Gets information about the item that is highlighted for feedback. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead .. method:: get_item_at_pos(x: int, y: int) -> tuple[bool, ~gi.repository.Gtk.TreePath, ~gi.repository.Gtk.CellRenderer] Gets the path and cell for the icon at the given position. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param x: The x position to be identified :param y: The y position to be identified .. method:: get_item_column(path: ~gi.repository.Gtk.TreePath) -> int Gets the column in which the item ``path`` is currently displayed. Column numbers start at 0. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param path: the ``GtkTreePath`` of the item .. method:: get_item_orientation() -> ~gi.repository.Gtk.Orientation Returns the value of the ::item-orientation property which determines whether the labels are drawn beside the icons instead of below. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead .. method:: get_item_padding() -> int Returns the value of the ::item-padding property. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead .. method:: get_item_row(path: ~gi.repository.Gtk.TreePath) -> int Gets the row in which the item ``path`` is currently displayed. Row numbers start at 0. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param path: the ``GtkTreePath`` of the item .. method:: get_item_width() -> int Returns the value of the ::item-width property. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead .. method:: get_margin() -> int Returns the value of the ::margin property. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead .. method:: get_markup_column() -> int Returns the column with markup text for ``icon_view``. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead .. method:: get_model() -> ~gi.repository.Gtk.TreeModel | None Returns the model the ``GtkIconView`` is based on. Returns :const:`None` if the model is unset. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead .. method:: get_path_at_pos(x: int, y: int) -> ~gi.repository.Gtk.TreePath | None Gets the path for the icon at the given position. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param x: The x position to be identified :param y: The y position to be identified .. method:: get_pixbuf_column() -> int Returns the column with pixbufs for ``icon_view``. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead .. method:: get_reorderable() -> bool Retrieves whether the user can reorder the list via drag-and-drop. See :func:`~gi.repository.Gtk.IconView.set_reorderable`. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead .. method:: get_row_spacing() -> int Returns the value of the ::row-spacing property. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead .. method:: get_selected_items() -> list[~gi.repository.Gtk.TreePath] Creates a list of paths of all selected items. Additionally, if you are planning on modifying the model after calling this function, you may want to convert the returned list into a list of ``GtkTreeRowReferences``. To do this, you can use :func:`~gi.repository.Gtk.TreeRowReference.new`. To free the return value, use ``g_list_free_full``: .. code-block:: C :dedent: GtkWidget *icon_view = gtk_icon_view_new (); // Use icon_view GList *list = gtk_icon_view_get_selected_items (GTK_ICON_VIEW (icon_view)); // use list g_list_free_full (list, (GDestroyNotify) gtk_tree_path_free); .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead .. method:: get_selection_mode() -> ~gi.repository.Gtk.SelectionMode Gets the selection mode of the ``icon_view``. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead .. method:: get_spacing() -> int Returns the value of the ::spacing property. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead .. method:: get_text_column() -> int Returns the column with text for ``icon_view``. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead .. method:: get_tooltip_column() -> int Returns the column of ``icon_view``’s model which is being used for displaying tooltips on ``icon_view``’s rows. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead .. method:: get_tooltip_context(x: int, y: int, keyboard_tip: bool) -> tuple[bool, ~gi.repository.Gtk.TreeModel, ~gi.repository.Gtk.TreePath, ~gi.repository.Gtk.TreeIter] This function is supposed to be used in a ``GtkWidget::query-tooltip`` signal handler for ``GtkIconView``. The ``x``, ``y`` and ``keyboard_tip`` values which are received in the signal handler, should be passed to this function without modification. The return value indicates whether there is an icon view item at the given coordinates (:const:`True`) or not (:const:`False`) for mouse tooltips. For keyboard tooltips the item returned will be the cursor item. When :const:`True`, then any of ``model``, ``path`` and ``iter`` which have been provided will be set to point to that row and the corresponding model. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param x: the x coordinate (relative to widget coordinates) :param y: the y coordinate (relative to widget coordinates) :param keyboard_tip: whether this is a keyboard tooltip or not .. method:: get_visible_range() -> tuple[bool, ~gi.repository.Gtk.TreePath, ~gi.repository.Gtk.TreePath] Sets ``start_path`` and ``end_path`` to be the first and last visible path. Note that there may be invisible paths in between. Both paths should be freed with :func:`~gi.repository.Gtk.TreePath.free` after use. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead .. method:: item_activated(path: ~gi.repository.Gtk.TreePath) -> None Activates the item determined by ``path``. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param path: The ``GtkTreePath`` to be activated .. method:: path_is_selected(path: ~gi.repository.Gtk.TreePath) -> bool Returns :const:`True` if the icon pointed to by ``path`` is currently selected. If ``path`` does not point to a valid location, :const:`False` is returned. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param path: A ``GtkTreePath`` to check selection on. .. method:: scroll_to_path(path: ~gi.repository.Gtk.TreePath, use_align: bool, row_align: float, col_align: float) -> None Moves the alignments of ``icon_view`` to the position specified by ``path``. ``row_align`` determines where the row is placed, and ``col_align`` determines where ``column`` is placed. Both are expected to be between 0.0 and 1.0. 0.0 means left/top alignment, 1.0 means right/bottom alignment, 0.5 means center. If ``use_align`` is :const:`False`, then the alignment arguments are ignored, and the tree does the minimum amount of work to scroll the item onto the screen. This means that the item will be scrolled to the edge closest to its current position. If the item is currently visible on the screen, nothing is done. This function only works if the model is set, and ``path`` is a valid row on the model. If the model changes before the ``icon_view`` is realized, the centered path will be modified to reflect this change. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param path: The path of the item to move to. :param use_align: whether to use alignment arguments, or :const:`False`. :param row_align: The vertical alignment of the item specified by ``path``. :param col_align: The horizontal alignment of the item specified by ``path``. .. method:: select_all() -> None Selects all the icons. ``icon_view`` must has its selection mode set to :const:`~gi.repository.Gtk.SelectionMode.MULTIPLE`. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead .. method:: select_path(path: ~gi.repository.Gtk.TreePath) -> None Selects the row at ``path``. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param path: The ``GtkTreePath`` to be selected. .. method:: selected_foreach(func: ~typing.Callable[[...], None], *data: ~typing.Any) -> None Calls a function for each selected icon. Note that the model or selection cannot be modified from within this function. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param func: The function to call for each selected icon. :param data: User data to pass to the function. .. method:: set_activate_on_single_click(single: bool) -> None Causes the ``GtkIconView``::item-activated signal to be emitted on a single click instead of a double click. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param single: :const:`True` to emit item-activated on a single click .. method:: set_column_spacing(column_spacing: int) -> None Sets the ::column-spacing property which specifies the space which is inserted between the columns of the icon view. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param column_spacing: the column spacing .. method:: set_columns(columns: int) -> None Sets the ::columns property which determines in how many columns the icons are arranged. If ``columns`` is -1, the number of columns will be chosen automatically to fill the available area. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param columns: the number of columns .. method:: set_cursor(path: ~gi.repository.Gtk.TreePath, cell: ~gi.repository.Gtk.CellRenderer | None, start_editing: bool) -> None Sets the current keyboard focus to be at ``path``, and selects it. This is useful when you want to focus the user’s attention on a particular item. If ``cell`` is not :const:`None`, then focus is given to the cell specified by it. Additionally, if ``start_editing`` is :const:`True`, then editing should be started in the specified cell. This function is often followed by `gtk_widget_grab_focus (icon_view)` in order to give keyboard focus to the widget. Please note that editing can only happen when the widget is realized. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param path: A ``GtkTreePath`` :param cell: One of the cell renderers of ``icon_view`` :param start_editing: :const:`True` if the specified cell should start being edited. .. method:: set_drag_dest_item(path: ~gi.repository.Gtk.TreePath | None, pos: ~gi.repository.Gtk.IconViewDropPosition) -> None Sets the item that is highlighted for feedback. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param path: The path of the item to highlight :param pos: Specifies where to drop, relative to the item .. method:: set_item_orientation(orientation: ~gi.repository.Gtk.Orientation) -> None Sets the ::item-orientation property which determines whether the labels are drawn beside the icons instead of below. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param orientation: the relative position of texts and icons .. method:: set_item_padding(item_padding: int) -> None Sets the ``GtkIconView``:item-padding property which specifies the padding around each of the icon view’s items. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param item_padding: the item padding .. method:: set_item_width(item_width: int) -> None Sets the ::item-width property which specifies the width to use for each item. If it is set to -1, the icon view will automatically determine a suitable item size. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param item_width: the width for each item .. method:: set_margin(margin: int) -> None Sets the ::margin property which specifies the space which is inserted at the top, bottom, left and right of the icon view. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param margin: the margin .. method:: set_markup_column(column: int) -> None Sets the column with markup information for ``icon_view`` to be ``column``. The markup column must be of type ``G_TYPE_STRING``. If the markup column is set to something, it overrides the text column set by :func:`~gi.repository.Gtk.IconView.set_text_column`. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param column: A column in the currently used model, or -1 to display no text .. method:: set_model(model: ~gi.repository.Gtk.TreeModel | None = None) -> None Sets the model for a ``GtkIconView``. If the ``icon_view`` already has a model set, it will remove it before setting the new model. If ``model`` is :const:`None`, then it will unset the old model. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param model: The model. .. method:: set_pixbuf_column(column: int) -> None Sets the column with pixbufs for ``icon_view`` to be ``column``. The pixbuf column must be of type ``GDK_TYPE_PIXBUF`` .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param column: A column in the currently used model, or -1 to disable .. method:: set_reorderable(reorderable: bool) -> None This function is a convenience function to allow you to reorder models that support the ``GtkTreeDragSourceIface`` and the ``GtkTreeDragDestIface``. Both ``GtkTreeStore`` and ``GtkListStore`` support these. If ``reorderable`` is :const:`True`, then the user can reorder the model by dragging and dropping rows. The developer can listen to these changes by connecting to the model's row_inserted and row_deleted signals. The reordering is implemented by setting up the icon view as a drag source and destination. Therefore, drag and drop can not be used in a reorderable view for any other purpose. This function does not give you any degree of control over the order -- any reordering is allowed. If more control is needed, you should probably handle drag and drop manually. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param reorderable: :const:`True`, if the list of items can be reordered. .. method:: set_row_spacing(row_spacing: int) -> None Sets the ::row-spacing property which specifies the space which is inserted between the rows of the icon view. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param row_spacing: the row spacing .. method:: set_selection_mode(mode: ~gi.repository.Gtk.SelectionMode) -> None Sets the selection mode of the ``icon_view``. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param mode: The selection mode .. method:: set_spacing(spacing: int) -> None Sets the ::spacing property which specifies the space which is inserted between the cells (i.e. the icon and the text) of an item. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param spacing: the spacing .. method:: set_text_column(column: int) -> None Sets the column with text for ``icon_view`` to be ``column``. The text column must be of type ``G_TYPE_STRING``. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param column: A column in the currently used model, or -1 to display no text .. method:: set_tooltip_cell(tooltip: ~gi.repository.Gtk.Tooltip, path: ~gi.repository.Gtk.TreePath, cell: ~gi.repository.Gtk.CellRenderer | None = None) -> None Sets the tip area of ``tooltip`` to the area which ``cell`` occupies in the item pointed to by ``path``. See also :func:`~gi.repository.Gtk.Tooltip.set_tip_area`. See also :func:`~gi.repository.Gtk.IconView.set_tooltip_column` for a simpler alternative. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param tooltip: a ``GtkTooltip`` :param path: a ``GtkTreePath`` :param cell: a ``GtkCellRenderer`` .. method:: set_tooltip_column(column: int) -> None 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. ``column`` should be set to the column in ``icon_view``’s model containing the tooltip texts, or -1 to disable this feature. When enabled, ``GtkWidget:has-tooltip`` will be set to :const:`True` and ``icon_view`` will connect a ``GtkWidget::query-tooltip`` signal handler. Note that the signal handler sets the text with :func:`~gi.repository.Gtk.Tooltip.set_markup`, so &, <, etc have to be escaped in the text. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param column: an integer, which is a valid column number for ``icon_view``’s model .. method:: set_tooltip_item(tooltip: ~gi.repository.Gtk.Tooltip, path: ~gi.repository.Gtk.TreePath) -> None Sets the tip area of ``tooltip`` to be the area covered by the item at ``path``. See also :func:`~gi.repository.Gtk.IconView.set_tooltip_column` for a simpler alternative. See also :func:`~gi.repository.Gtk.Tooltip.set_tip_area`. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param tooltip: a ``GtkTooltip`` :param path: a ``GtkTreePath`` .. method:: unselect_all() -> None Unselects all the icons. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead .. method:: unselect_path(path: ~gi.repository.Gtk.TreePath) -> None Unselects the row at ``path``. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead :param path: The ``GtkTreePath`` to be unselected. .. method:: unset_model_drag_dest() -> None Undoes the effect of :func:`~gi.repository.Gtk.IconView.enable_model_drag_dest`. Calling this method sets ``GtkIconView``:reorderable to :const:`False`. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead .. method:: unset_model_drag_source() -> None Undoes the effect of :func:`~gi.repository.Gtk.IconView.enable_model_drag_source`. Calling this method sets ``GtkIconView``:reorderable to :const:`False`. .. deprecated:: 4.10 Use :obj:`~gi.repository.Gtk.GridView` instead Properties ---------- .. rst-class:: interim-class .. class:: IconView :no-index: .. attribute:: props.activate_on_single_click :type: bool The activate-on-single-click property specifies whether the "item-activated" signal will be emitted after a single click. .. attribute:: props.cell_area :type: ~gi.repository.Gtk.CellArea The ``GtkCellArea`` used to layout cell renderers for this view. If no area is specified when creating the icon view with :func:`~gi.repository.Gtk.IconView.new_with_area` a ``GtkCellAreaBox`` will be used. .. attribute:: props.column_spacing :type: int The column-spacing property specifies the space which is inserted between the columns of the icon view. .. attribute:: props.columns :type: int The columns property contains the number of the columns in which the items should be displayed. If it is -1, the number of columns will be chosen automatically to fill the available area. .. attribute:: props.item_orientation :type: ~gi.repository.Gtk.Orientation The item-orientation property specifies how the cells (i.e. the icon and the text) of the item are positioned relative to each other. .. attribute:: props.item_padding :type: int The item-padding property specifies the padding around each of the icon view's item. .. attribute:: props.item_width :type: int The item-width property specifies the width to use for each item. If it is set to -1, the icon view will automatically determine a suitable item size. .. attribute:: props.margin :type: int The margin property specifies the space which is inserted at the edges of the icon view. .. attribute:: props.markup_column :type: int The ::markup-column property contains the number of the model column containing markup information to be displayed. The markup column must be of type ``G_TYPE_STRING``. If this property and the :text-column property are both set to column numbers, it overrides the text column. If both are set to -1, no texts are displayed. .. attribute:: props.model :type: ~gi.repository.Gtk.TreeModel .. attribute:: props.pixbuf_column :type: int The ::pixbuf-column property contains the number of the model column containing the pixbufs which are displayed. The pixbuf column must be of type ``GDK_TYPE_PIXBUF``. Setting this property to -1 turns off the display of pixbufs. .. attribute:: props.reorderable :type: bool The reorderable property specifies if the items can be reordered by DND. .. attribute:: props.row_spacing :type: int The row-spacing property specifies the space which is inserted between the rows of the icon view. .. attribute:: props.selection_mode :type: ~gi.repository.Gtk.SelectionMode The ::selection-mode property specifies the selection mode of icon view. If the mode is :const:`~gi.repository.Gtk.SelectionMode.MULTIPLE`, rubberband selection is enabled, for the other modes, only keyboard selection is possible. .. attribute:: props.spacing :type: int The spacing property specifies the space which is inserted between the cells (i.e. the icon and the text) of an item. .. attribute:: props.text_column :type: int The ::text-column property contains the number of the model column containing the texts which are displayed. The text column must be of type ``G_TYPE_STRING``. If this property and the :markup-column property are both set to -1, no texts are displayed. .. attribute:: props.tooltip_column :type: int Signals ------- .. rst-class:: interim-class .. class:: IconView.signals :no-index: .. method:: activate_cursor_item() -> bool A [keybinding signal]:obj:`~gi.repository.Gtk.SignalAction` which gets emitted when the user activates the currently focused item. Applications should not connect to it, but may emit it with :func:`~gi.repository.GObject.signal_emit_by_name` if they need to control activation programmatically. The default bindings for this signal are Space, Return and Enter. .. method:: item_activated(path: ~gi.repository.Gtk.TreePath) -> None The ::item-activated signal is emitted when the method :func:`~gi.repository.Gtk.IconView.item_activated` is called, when the user double clicks an item with the "activate-on-single-click" property set to :const:`False`, or when the user single clicks an item when the "activate-on-single-click" property set to :const:`True`. It is also emitted when a non-editable item is selected and one of the keys: Space, Return or Enter is pressed. :param path: the ``GtkTreePath`` for the activated item .. method:: move_cursor(step: ~gi.repository.Gtk.MovementStep, count: int, extend: bool, modify: bool) -> bool The ::move-cursor signal is a [keybinding signal]:obj:`~gi.repository.Gtk.SignalAction` which gets emitted when the user initiates a cursor movement. Applications should not connect to it, but may emit it with :func:`~gi.repository.GObject.signal_emit_by_name` if they need to control the cursor programmatically. The default bindings for this signal include - Arrow keys which move by individual steps - Home/End keys which move to the first/last item - PageUp/PageDown which move by "pages" All of these will extend the selection when combined with the Shift modifier. :param step: the granularity of the move, as a ``GtkMovementStep`` :param count: the number of ``step`` units to move :param extend: whether to extend the selection :param modify: whether to modify the selection .. method:: select_all() -> None A [keybinding signal]:obj:`~gi.repository.Gtk.SignalAction` which gets emitted when the user selects all items. Applications should not connect to it, but may emit it with :func:`~gi.repository.GObject.signal_emit_by_name` if they need to control selection programmatically. The default binding for this signal is Ctrl-a. .. method:: select_cursor_item() -> None A [keybinding signal]:obj:`~gi.repository.Gtk.SignalAction` which gets emitted when the user selects the item that is currently focused. Applications should not connect to it, but may emit it with :func:`~gi.repository.GObject.signal_emit_by_name` if they need to control selection programmatically. There is no default binding for this signal. .. method:: selection_changed() -> None The ::selection-changed signal is emitted when the selection (i.e. the set of selected items) changes. .. method:: toggle_cursor_item() -> None A [keybinding signal]:obj:`~gi.repository.Gtk.SignalAction` which gets emitted when the user toggles whether the currently focused item is selected or not. The exact effect of this depend on the selection mode. Applications should not connect to it, but may emit it with :func:`~gi.repository.GObject.signal_emit_by_name` if they need to control selection programmatically. There is no default binding for this signal is Ctrl-Space. .. method:: unselect_all() -> None A [keybinding signal]:obj:`~gi.repository.Gtk.SignalAction` which gets emitted when the user unselects all items. Applications should not connect to it, but may emit it with :func:`~gi.repository.GObject.signal_emit_by_name` if they need to control selection programmatically. The default binding for this signal is Ctrl-Shift-a.