Trait gtk::prelude::IconViewExt[][src]

pub trait IconViewExt: 'static {
Show methods fn convert_widget_to_bin_window_coords(
        &self,
        wx: i32,
        wy: i32
    ) -> (i32, i32);
fn create_drag_icon(&self, path: &TreePath) -> Option<Surface>;
fn activates_on_single_click(&self) -> bool;
fn cell_rect<P: IsA<CellRenderer>>(
        &self,
        path: &TreePath,
        cell: Option<&P>
    ) -> Option<Rectangle>;
fn column_spacing(&self) -> i32;
fn columns(&self) -> i32;
fn cursor(&self) -> Option<(TreePath, CellRenderer)>;
fn dest_item_at_pos(
        &self,
        drag_x: i32,
        drag_y: i32
    ) -> Option<(TreePath, IconViewDropPosition)>;
fn drag_dest_item(&self) -> (TreePath, IconViewDropPosition);
fn item_at_pos(&self, x: i32, y: i32) -> Option<(TreePath, CellRenderer)>;
fn item_column(&self, path: &TreePath) -> i32;
fn item_orientation(&self) -> Orientation;
fn item_padding(&self) -> i32;
fn item_row(&self, path: &TreePath) -> i32;
fn item_width(&self) -> i32;
fn margin(&self) -> i32;
fn markup_column(&self) -> i32;
fn model(&self) -> Option<TreeModel>;
fn path_at_pos(&self, x: i32, y: i32) -> Option<TreePath>;
fn pixbuf_column(&self) -> i32;
fn is_reorderable(&self) -> bool;
fn row_spacing(&self) -> i32;
fn selected_items(&self) -> Vec<TreePath>;
fn selection_mode(&self) -> SelectionMode;
fn spacing(&self) -> i32;
fn text_column(&self) -> i32;
fn tooltip_column(&self) -> i32;
fn tooltip_context(
        &self,
        x: &mut i32,
        y: &mut i32,
        keyboard_tip: bool
    ) -> Option<(TreeModel, TreePath, TreeIter)>;
fn visible_range(&self) -> Option<(TreePath, TreePath)>;
fn item_activated(&self, path: &TreePath);
fn path_is_selected(&self, path: &TreePath) -> bool;
fn scroll_to_path(
        &self,
        path: &TreePath,
        use_align: bool,
        row_align: f32,
        col_align: f32
    );
fn select_all(&self);
fn select_path(&self, path: &TreePath);
fn selected_foreach<P: FnMut(&IconView, &TreePath)>(&self, func: P);
fn set_activate_on_single_click(&self, single: bool);
fn set_column_spacing(&self, column_spacing: i32);
fn set_columns(&self, columns: i32);
fn set_cursor<P: IsA<CellRenderer>>(
        &self,
        path: &TreePath,
        cell: Option<&P>,
        start_editing: bool
    );
fn set_drag_dest_item(
        &self,
        path: Option<&TreePath>,
        pos: IconViewDropPosition
    );
fn set_item_orientation(&self, orientation: Orientation);
fn set_item_padding(&self, item_padding: i32);
fn set_item_width(&self, item_width: i32);
fn set_margin(&self, margin: i32);
fn set_markup_column(&self, column: i32);
fn set_model<P: IsA<TreeModel>>(&self, model: Option<&P>);
fn set_pixbuf_column(&self, column: i32);
fn set_reorderable(&self, reorderable: bool);
fn set_row_spacing(&self, row_spacing: i32);
fn set_selection_mode(&self, mode: SelectionMode);
fn set_spacing(&self, spacing: i32);
fn set_text_column(&self, column: i32);
fn set_tooltip_cell<P: IsA<CellRenderer>>(
        &self,
        tooltip: &Tooltip,
        path: &TreePath,
        cell: Option<&P>
    );
fn set_tooltip_column(&self, column: i32);
fn set_tooltip_item(&self, tooltip: &Tooltip, path: &TreePath);
fn unselect_all(&self);
fn unselect_path(&self, path: &TreePath);
fn unset_model_drag_dest(&self);
fn unset_model_drag_source(&self);
fn cell_area(&self) -> Option<CellArea>;
fn connect_activate_cursor_item<F: Fn(&Self) -> bool + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn emit_activate_cursor_item(&self) -> bool;
fn connect_item_activated<F: Fn(&Self, &TreePath) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_move_cursor<F: Fn(&Self, MovementStep, i32) -> bool + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn emit_move_cursor(&self, step: MovementStep, count: i32) -> bool;
fn connect_select_all<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn emit_select_all(&self);
fn connect_select_cursor_item<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn emit_select_cursor_item(&self);
fn connect_selection_changed<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_toggle_cursor_item<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn emit_toggle_cursor_item(&self);
fn connect_unselect_all<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn emit_unselect_all(&self);
fn connect_activate_on_single_click_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_column_spacing_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_columns_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_item_orientation_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_item_padding_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_item_width_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_margin_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_markup_column_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_model_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_pixbuf_column_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_reorderable_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_row_spacing_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_selection_mode_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_spacing_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_text_column_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_tooltip_column_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
}
Expand description

Trait containing all IconView methods.

Implementors

IconView

Required methods

Converts widget coordinates to coordinates for the bin_window, as expected by e.g. path_at_pos().

wx

X coordinate relative to the widget

wy

Y coordinate relative to the widget

Returns

bx

return location for bin_window X coordinate

by

return location for bin_window Y coordinate

Creates a cairo::Surface representation of the item at path. This image is used for a drag icon.

path

a TreePath in self

Returns

a newly-allocated surface of the drag icon.

Gets the setting set by set_activate_on_single_click().

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.

path

a TreePath

cell

a CellRenderer or None

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.

Returns

the space between columns

Returns the value of the ::columns property.

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

Returns

true if the cursor is set.

path

Return location for the current cursor path, or None

cell

Return location the current focus cell, or None

Determines the destination item for a given position.

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, or None.

pos

Return location for the drop position, or None

Gets information about the item that is highlighted for feedback.

Returns

path

Return location for the path of the highlighted item, or None.

pos

Return location for the drop position, or None

Finds the path at the point (x, y), relative to bin_window coordinates. In contrast to path_at_pos(), this function also obtains the cell at the specified position. The returned path should be freed with gtk_tree_path_free(). See convert_widget_to_bin_window_coords() for converting widget coordinates to bin_window coordinates.

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, or None

cell

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

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

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.

Returns

the relative position of texts and icons

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

Returns

the padding around items

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

path

the TreePath of the item

Returns

The row in which the item is displayed

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

Returns

the width of a single item, or -1

Returns the value of the ::margin property.

Returns

the space at the borders

Returns the column with markup text for self.

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.

Returns

A TreeModel, or None if none is currently being used.

Finds the path at the point (x, y), relative to bin_window coordinates. See item_at_pos(), if you are also interested in the cell at the specified position. See convert_widget_to_bin_window_coords() for converting widget coordinates to bin_window coordinates.

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.

Returns

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

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

Returns

true if the list can be reordered.

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

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 TreeRowReference::new().

To free the return value, use:

⚠️ The following code is in C ⚠️

g_list_free_full (list, (GDestroyNotify) gtk_tree_path_free);

Returns

A GList containing a TreePath for each selected row.

Gets the selection mode of the self.

Returns

the current selection mode

Returns the value of the ::spacing property.

Returns

the space between cells

Returns the column with text for self.

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.

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 signal::Widget::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. x and y will always be converted to be relative to self’s bin_window if keyboard_tooltip is false.

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 a item

model

a pointer to receive a TreeModel or None

path

a pointer to receive a TreePath or None

iter

a pointer to receive a TreeIter or None

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.

Returns

true, if valid paths were placed in start_path and end_path

start_path

Return location for start of region, or None

end_path

Return location for end of region, or None

Activates the item determined by path.

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.

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.

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.

Selects the row at path.

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.

func

The function to call for each selected icon.

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

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.

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.

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.

path

A TreePath

cell

One of the cell renderers of self, or None

start_editing

true if the specified cell should start being edited.

Sets the item that is highlighted for feedback.

path

The path of the item to highlight, or None.

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.

orientation

the relative position of texts and icons

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

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.

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.

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

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.

model

The model.

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

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.

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.

row_spacing

the row spacing

Sets the selection mode of the self.

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.

spacing

the spacing

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

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 Tooltip::set_tip_area().

See also set_tooltip_column() for a simpler alternative.

tooltip

a Tooltip

path

a TreePath

cell

a CellRenderer or None

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, property::Widget::has-tooltip will be set to true and self will connect a signal::Widget::query-tooltip signal handler.

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

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 set_tooltip_column() for a simpler alternative. See also Tooltip::set_tip_area().

tooltip

a Tooltip

path

a TreePath

Unselects all the icons.

Unselects the row at path.

path

The TreePath to be unselected.

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

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

The CellArea used to layout cell renderers for this view.

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

A [keybinding signal][GtkBindingSignal] 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 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][GtkBindingSignal] 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

A [keybinding signal][GtkBindingSignal] 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][GtkBindingSignal] 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][GtkBindingSignal] 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][GtkBindingSignal] 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.

Implementors