Struct gtk4::IconView

source ·
#[repr(transparent)]
pub struct IconView { /* private fields */ }
Expand description

Use GridView instead IconView is a widget which displays data in a grid of icons.

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]

IconView has a single CSS node with name iconview and style class .view. For rubberband selection, a subnode with name rubberband is used.

Implements

WidgetExt, glib::ObjectExt, AccessibleExt, BuildableExt, ConstraintTargetExt, CellLayoutExt, ScrollableExt, WidgetExtManual, AccessibleExtManual, CellLayoutExtManual

Implementations§

Creates a new IconView widget

Deprecated since 4.10

Use GridView instead

Returns

A newly created IconView widget

Creates a new IconView widget using the specified @area to layout cells inside the icons.

Deprecated since 4.10

Use GridView instead

area

the CellArea to use to layout cells

Returns

A newly created IconView widget

Creates a new IconView widget with the model @model.

Deprecated since 4.10

Use GridView instead

model

The model.

Returns

A newly created IconView widget.

Creates a new builder-pattern struct instance to construct IconView objects.

This method returns an instance of IconViewBuilder which can be used to create IconView objects.

Creates a gdk::Paintable representation of the item at @path. This image is used for a drag icon.

Deprecated since 4.10

Use GridView instead

path

a TreePath in @self

Returns

a newly-allocated gdk::Paintable of the drag icon.

Turns @self into a drop destination for automatic DND. Calling this method sets IconView:reorderable to false.

Deprecated since 4.10

Use GridView instead

formats

the formats that the drag will support

actions

the bitmask of possible actions for a drag to this widget

Turns @self into a drag source for automatic DND. Calling this method sets IconView:reorderable to false.

Deprecated since 4.10

Use GridView instead

start_button_mask

Mask of allowed buttons to start drag

formats

the formats that the drag will support

actions

the bitmask of possible actions for a drag from this widget

Gets the setting set by gtk_icon_view_set_activate_on_single_click().

Deprecated since 4.10

Use GridView instead

Returns

true if item-activated will be emitted on a single click

Fills the bounding rectangle in widget coordinates for the cell specified by @path and @cell. If @cell is None the main cell area is used.

This function is only valid if @self is realized.

Deprecated since 4.10

Use GridView instead

path

a TreePath

cell

a CellRenderer

Returns

false if there is no such item, true otherwise

rect

rectangle to fill with cell rect

Returns the value of the ::column-spacing property.

Deprecated since 4.10

Use GridView instead

Returns

the space between columns

Returns the value of the ::columns property.

Deprecated since 4.10

Use GridView instead

Returns

the number of columns, or -1

Fills in @path and @cell with the current cursor path and cell. If the cursor isn’t currently set, then *@path will be None. If no cell currently has focus, then *@cell will be None.

The returned TreePath must be freed with gtk_tree_path_free().

Deprecated since 4.10

Use GridView instead

Returns

true if the cursor is set.

path

Return location for the current cursor path

cell

Return location the current focus cell

Determines the destination item for a given position.

Deprecated since 4.10

Use GridView instead

drag_x

the position to determine the destination item for

drag_y

the position to determine the destination item for

Returns

whether there is an item at the given position.

path

Return location for the path of the item

pos

Return location for the drop position

Gets information about the item that is highlighted for feedback.

Deprecated since 4.10

Use GridView instead

Returns
path

Return location for the path of the highlighted item

pos

Return location for the drop position

Gets the path and cell for the icon at the given position.

Deprecated since 4.10

Use GridView instead

x

The x position to be identified

y

The y position to be identified

Returns

true if an item exists at the specified position

path

Return location for the path

cell

Return location for the renderer responsible for the cell at (@x, @y)

Gets the column in which the item @path is currently displayed. Column numbers start at 0.

Deprecated since 4.10

Use GridView instead

path

the TreePath of the item

Returns

The column in which the item is displayed

Returns the value of the ::item-orientation property which determines whether the labels are drawn beside the icons instead of below.

Deprecated since 4.10

Use GridView instead

Returns

the relative position of texts and icons

Returns the value of the ::item-padding property.

Deprecated since 4.10

Use GridView instead

Returns

the padding around items

Gets the row in which the item @path is currently displayed. Row numbers start at 0.

Deprecated since 4.10

Use GridView instead

path

the TreePath of the item

Returns

The row in which the item is displayed

Returns the value of the ::item-width property.

Deprecated since 4.10

Use GridView instead

Returns

the width of a single item, or -1

Returns the value of the ::margin property.

Deprecated since 4.10

Use GridView instead

Returns

the space at the borders

Returns the column with markup text for @self.

Deprecated since 4.10

Use GridView instead

Returns

the markup column, or -1 if it’s unset.

Returns the model the IconView is based on. Returns None if the model is unset.

Deprecated since 4.10

Use GridView instead

Returns

The currently used TreeModel

Gets the path for the icon at the given position.

Deprecated since 4.10

Use GridView instead

x

The x position to be identified

y

The y position to be identified

Returns

The TreePath corresponding to the icon or None if no icon exists at that position.

Returns the column with pixbufs for @self.

Deprecated since 4.10

Use GridView instead

Returns

the pixbuf column, or -1 if it’s unset.

Retrieves whether the user can reorder the list via drag-and-drop. See gtk_icon_view_set_reorderable().

Deprecated since 4.10

Use GridView instead

Returns

true if the list can be reordered.

Returns the value of the ::row-spacing property.

Deprecated since 4.10

Use GridView instead

Returns

the space between rows

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 gtk_tree_row_reference_new().

To free the return value, use g_list_free_full:

⚠️ The following code is in C ⚠️

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 since 4.10

Use GridView instead

Returns

A GList containing a TreePath for each selected row.

Gets the selection mode of the @self.

Deprecated since 4.10

Use GridView instead

Returns

the current selection mode

Returns the value of the ::spacing property.

Deprecated since 4.10

Use GridView instead

Returns

the space between cells

Returns the column with text for @self.

Deprecated since 4.10

Use GridView instead

Returns

the text column, or -1 if it’s unset.

Returns the column of @self’s model which is being used for displaying tooltips on @self’s rows.

Deprecated since 4.10

Use GridView instead

Returns

the index of the tooltip column that is currently being used, or -1 if this is disabled.

This function is supposed to be used in a GtkWidget::query-tooltip signal handler for IconView. 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 (true) or not (false) for mouse tooltips. For keyboard tooltips the item returned will be the cursor item. When 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 since 4.10

Use GridView instead

x

the x coordinate (relative to widget coordinates)

y

the y coordinate (relative to widget coordinates)

keyboard_tip

whether this is a keyboard tooltip or not

Returns

whether or not the given tooltip context points to an item

model

a pointer to receive a TreeModel

path

a pointer to receive a TreePath

iter

a pointer to receive a TreeIter

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 gtk_tree_path_free() after use.

Deprecated since 4.10

Use GridView instead

Returns

true, if valid paths were placed in @start_path and @end_path

start_path

Return location for start of region

end_path

Return location for end of region

Activates the item determined by @path.

Deprecated since 4.10

Use GridView instead

path

The TreePath to be activated

Returns true if the icon pointed to by @path is currently selected. If @path does not point to a valid location, false is returned.

Deprecated since 4.10

Use GridView instead

path

A TreePath to check selection on.

Returns

true if @path is selected.

Moves the alignments of @self 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 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 @self is realized, the centered path will be modified to reflect this change.

Deprecated since 4.10

Use GridView instead

path

The path of the item to move to.

use_align

whether to use alignment arguments, or false.

row_align

The vertical alignment of the item specified by @path.

col_align

The horizontal alignment of the item specified by @path.

Selects all the icons. @self must has its selection mode set to SelectionMode::Multiple.

Deprecated since 4.10

Use GridView instead

Selects the row at @path.

Deprecated since 4.10

Use GridView instead

path

The TreePath to be selected.

Calls a function for each selected icon. Note that the model or selection cannot be modified from within this function.

Deprecated since 4.10

Use GridView instead

func

The function to call for each selected icon.

Causes the IconView::item-activated signal to be emitted on a single click instead of a double click.

Deprecated since 4.10

Use GridView instead

single

true to emit item-activated on a single click

Sets the ::column-spacing property which specifies the space which is inserted between the columns of the icon view.

Deprecated since 4.10

Use GridView instead

column_spacing

the column spacing

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 since 4.10

Use GridView instead

columns

the number of columns

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 None, then focus is given to the cell specified by it. Additionally, if @start_editing is 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 since 4.10

Use GridView instead

path

A TreePath

cell

One of the cell renderers of @self

start_editing

true if the specified cell should start being edited.

Sets the item that is highlighted for feedback.

Deprecated since 4.10

Use GridView instead

path

The path of the item to highlight

pos

Specifies where to drop, relative to the item

Sets the ::item-orientation property which determines whether the labels are drawn beside the icons instead of below.

Deprecated since 4.10

Use GridView instead

orientation

the relative position of texts and icons

Sets the IconView:item-padding property which specifies the padding around each of the icon view’s items.

Deprecated since 4.10

Use GridView instead

item_padding

the item padding

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 since 4.10

Use GridView instead

item_width

the width for each item

Sets the ::margin property which specifies the space which is inserted at the top, bottom, left and right of the icon view.

Deprecated since 4.10

Use GridView instead

margin

the margin

Sets the column with markup information for @self 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 gtk_icon_view_set_text_column().

Deprecated since 4.10

Use GridView instead

column

A column in the currently used model, or -1 to display no text

Sets the model for a IconView. If the @self already has a model set, it will remove it before setting the new model. If @model is None, then it will unset the old model.

Deprecated since 4.10

Use GridView instead

model

The model.

Sets the column with pixbufs for @self to be @column. The pixbuf column must be of type GDK_TYPE_PIXBUF

Deprecated since 4.10

Use GridView instead

column

A column in the currently used model, or -1 to disable

This function is a convenience function to allow you to reorder models that support the GtkTreeDragSourceIface and the GtkTreeDragDestIface. Both TreeStore and ListStore support these. If @reorderable is 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 since 4.10

Use GridView instead

reorderable

true, if the list of items can be reordered.

Sets the ::row-spacing property which specifies the space which is inserted between the rows of the icon view.

Deprecated since 4.10

Use GridView instead

row_spacing

the row spacing

Sets the selection mode of the @self.

Deprecated since 4.10

Use GridView instead

mode

The selection mode

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 since 4.10

Use GridView instead

spacing

the spacing

Sets the column with text for @self to be @column. The text column must be of type G_TYPE_STRING.

Deprecated since 4.10

Use GridView instead

column

A column in the currently used model, or -1 to display no text

Sets the tip area of @tooltip to the area which @cell occupies in the item pointed to by @path. See also gtk_tooltip_set_tip_area().

See also gtk_icon_view_set_tooltip_column() for a simpler alternative.

Deprecated since 4.10

Use GridView instead

tooltip

a Tooltip

path

a TreePath

cell

a CellRenderer

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. @column should be set to the column in @self’s model containing the tooltip texts, or -1 to disable this feature.

When enabled, GtkWidget:has-tooltip will be set to true and @self will connect a GtkWidget::query-tooltip signal handler.

Note that the signal handler sets the text with gtk_tooltip_set_markup(), so &, <, etc have to be escaped in the text.

Deprecated since 4.10

Use GridView instead

column

an integer, which is a valid column number for @self’s model

Sets the tip area of @tooltip to be the area covered by the item at @path. See also gtk_icon_view_set_tooltip_column() for a simpler alternative. See also gtk_tooltip_set_tip_area().

Deprecated since 4.10

Use GridView instead

tooltip

a Tooltip

path

a TreePath

Unselects all the icons.

Deprecated since 4.10

Use GridView instead

Unselects the row at @path.

Deprecated since 4.10

Use GridView instead

path

The TreePath to be unselected.

Undoes the effect of gtk_icon_view_enable_model_drag_dest(). Calling this method sets IconView:reorderable to false.

Deprecated since 4.10

Use GridView instead

Undoes the effect of gtk_icon_view_enable_model_drag_source(). Calling this method sets IconView:reorderable to false.

Deprecated since 4.10

Use GridView instead

The CellArea used to layout cell renderers for this view.

If no area is specified when creating the icon view with gtk_icon_view_new_with_area() a CellAreaBox will be used.

A [keybinding signal]SignalAction which gets emitted when the user activates the currently focused item.

Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control activation programmatically.

The default bindings for this signal are Space, Return and Enter.

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. It is also emitted when a non-editable item is selected and one of the keys: Space, Return or Enter is pressed.

path

the TreePath for the activated item

The ::move-cursor signal is a [keybinding signal]SignalAction which gets emitted when the user initiates a cursor movement.

Applications should not connect to it, but may emit it with g_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.
step

the granularity of the move, as a MovementStep

count

the number of @step units to move

extend

whether to extend the selection

modify

whether to modify the selection

A [keybinding signal]SignalAction which gets emitted when the user selects all items.

Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control selection programmatically.

The default binding for this signal is Ctrl-a.

A [keybinding signal]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 g_signal_emit_by_name() if they need to control selection programmatically.

There is no default binding for this signal.

The ::selection-changed signal is emitted when the selection (i.e. the set of selected items) changes.

A [keybinding signal]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 g_signal_emit_by_name() if they need to control selection programmatically.

There is no default binding for this signal is Ctrl-Space.

A [keybinding signal]SignalAction which gets emitted when the user unselects all items.

Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control selection programmatically.

The default binding for this signal is Ctrl-Shift-a.

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
Formats the value using the given formatter. Read more
Feeds this value into the given Hasher. Read more
Feeds a slice of this type into the given Hasher. Read more
This method returns an Ordering between self and other. Read more
Compares and returns the maximum of two values. Read more
Compares and returns the minimum of two values. Read more
Restrict a value to a certain interval. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Returns the type identifier of Self.

Auto Trait Implementations§

Blanket Implementations§

Updates an array of accessible properties. Read more
Updates an array of accessible relations. Read more
Updates an array of accessible states. Read more
Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Upcasts an object to a superclass or interface T. Read more
Upcasts an object to a reference of its superclass or interface T. Read more
Tries to downcast to a subclass or interface implementor T. Read more
Tries to downcast to a reference of its subclass or interface implementor T. Read more
Tries to cast to an object of type T. This handles upcasting, downcasting and casting between interface and interface implementors. All checks are performed at runtime, while downcast and upcast will do many checks at compile-time already. Read more
Tries to cast to reference to an object of type T. This handles upcasting, downcasting and casting between interface and interface implementors. All checks are performed at runtime, while downcast and upcast will do many checks at compile-time already. Read more
Casts to T unconditionally. Read more
Casts to &T unconditionally. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Returns true if the object is an instance of (can be cast to) T.
Returns the type of the object.
Returns the ObjectClass of the object. Read more
Returns the class of the object.
Returns the class of the object in the given type T. Read more
Returns the interface T of the object. Read more
Sets the property property_name of the object to value value. Read more
Sets the property property_name of the object to value value. Read more
Sets multiple properties of the object at once. Read more
Sets multiple properties of the object at once. Read more
Gets the property property_name of the object and cast it to the type V. Read more
Gets the property property_name of the object. Read more
Check if the object has a property property_name of the given type_. Read more
Get the type of the property property_name of this object. Read more
Get the ParamSpec of the property property_name of this object.
Return all ParamSpec of the properties of this object.
Freeze all property notifications until the return guard object is dropped. Read more
Set arbitrary data on this object with the given key. Read more
Return previously set arbitrary data of this object with the given key. Read more
Retrieve previously set arbitrary data of this object with the given key. Read more
Set arbitrary data on this object with the given key. Read more
Return previously set arbitrary data of this object with the given key. Read more
Retrieve previously set arbitrary data of this object with the given key. Read more
Block a given signal handler. Read more
Unblock a given signal handler.
Stop emission of the currently emitted signal.
Stop emission of the currently emitted signal by the (possibly detailed) signal name.
Connect to the signal signal_name on this object. Read more
Connect to the signal signal_id on this object. Read more
Connect to the signal signal_name on this object. Read more
Connect to the signal signal_id on this object. Read more
Connect to the signal signal_name on this object. Read more
Connect to the signal signal_id on this object. Read more
Connect a closure to the signal signal_name on this object. Read more
Connect a closure to the signal signal_id on this object. Read more
Limits the lifetime of closure to the lifetime of the object. When the object’s reference count drops to zero, the closure will be invalidated. An invalidated closure will ignore any calls to invoke_with_values, or invoke when using Rust closures. Read more
Emit signal by signal id. Read more
Same as Self::emit but takes Value for the arguments.
Emit signal by its name. Read more
Emit signal by its name. Read more
Emit signal by its name with details. Read more
Emit signal by its name with details. Read more
Emit signal by signal id with details. Read more
Emit signal by signal id with details. Read more
Disconnect a previously connected signal handler.
Connect to the notify signal of the object. Read more
Connect to the notify signal of the object. Read more
Connect to the notify signal of the object. Read more
Notify that the given property has changed its value. Read more
Notify that the given property has changed its value. Read more
Downgrade this object to a weak reference.
Add a callback to be notified when the Object is disposed.
Add a callback to be notified when the Object is disposed. Read more
Bind property source_property on this object to the target_property on the target object. Read more
Returns the strong reference count of this object.
Runs the dispose mechanism of the object. Read more
Ensures that the type has been registered with the type system.
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.