Sets our main struct and passes it to the parent class
Creates a new GtkIconView widget Since 2.6
Creates a new GtkIconView widget with the model model. Since 2.6
A keybinding signal 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 or the user double clicks an item. It is also emitted when a non-editable item is selected and one of the keys: Space, Return or Enter is pressed.
The ::move-cursor signal is a keybinding signal 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.
A keybinding signal 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 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.
Set the scroll adjustments for the icon view. Usually scrolled containers like GtkScrolledWindow will emit this signal to connect two instances of GtkScrollbar to the scroll directions of the GtkIconView.
A keybinding signal 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 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.
Converts widget coordinates to coordinates for the bin_window, as expected by e.g. gtk_icon_view_get_path_at_pos(). Since 2.12
Creates a GdkPixmap representation of the item at path. This image is used for a drag icon. Since 2.8
Turns icon_view into a drop destination for automatic DND. Calling this method sets "reorderable" to FALSE. Since 2.8
Turns icon_view into a drag source for automatic DND. Calling this method sets "reorderable" to FALSE. Since 2.8
Returns the value of the ::column-spacing property. Since 2.6
Returns the value of the ::columns property. Since 2.6
Fills in path and cell with the current cursor path and cell. If the cursor isn't currently set, then *path will be NULL. If no cell currently has focus, then *cell will be NULL. The returned GtkTreePath must be freed with gtk_tree_path_free(). Since 2.8
Determines the destination item for a given position. Since 2.8
Gets information about the item that is highlighted for feedback. Since 2.8
Finds the path at the point (x, y), relative to bin_window coordinates. In contrast to gtk_icon_view_get_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 gtk_icon_view_convert_widget_to_bin_window_coords() for converting widget coordinates to bin_window coordinates. Since 2.8
Gets the column in which the item path is currently displayed. Column numbers start at 0. Since 2.22
Returns the value of the ::item-orientation property which determines whether the labels are drawn beside the icons instead of below. Since 2.22
Returns the value of the ::item-padding property. Since 2.18
Gets the row in which the item path is currently displayed. Row numbers start at 0. Since 2.22
Returns the value of the ::item-width property. Since 2.6
Returns the value of the ::margin property. Since 2.6
Returns the column with markup text for icon_view. Since 2.6
Returns the model the GtkIconView is based on. Returns NULL if the model is unset. Since 2.6
Warning gtk_icon_view_get_orientation has been deprecated since version 2.22 and should not be used in newly-written code. Use gtk_icon_view_get_item_orientation() Returns the value of the ::orientation property which determines whether the labels are drawn beside the icons instead of below. Since 2.6
Finds the path at the point (x, y), relative to bin_window coordinates. See gtk_icon_view_get_item_at_pos(), if you are also interested in the cell at the specified position. See gtk_icon_view_convert_widget_to_bin_window_coords() for converting widget coordinates to bin_window coordinates. Since 2.6
Returns the column with pixbufs for icon_view. Since 2.6
Retrieves whether the user can reorder the list via drag-and-drop. See gtk_icon_view_set_reorderable(). Since 2.8
Returns the value of the ::row-spacing property. Since 2.6
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(). Since 2.6
Gets the selection mode of the icon_view. Since 2.6
Returns the value of the ::spacing property. Since 2.6
the main Gtk struct as a void*
Returns the column with text for icon_view. Since 2.6
Returns the column of icon_view's model which is being used for displaying tooltips on icon_view's rows. Since 2.12
This function is supposed to be used in a "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 (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 icon_view's bin_window if keyboard_tooltip is FALSE. Since 2.12
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. Since 2.8
Activates the item determined by path. Since 2.6
Returns TRUE if the icon pointed to by path is currently selected. If path does not point to a valid location, FALSE is returned. Since 2.6
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 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. Since 2.8
Selects all the icons. icon_view must has its selection mode set to GTK_SELECTION_MULTIPLE. Since 2.6
Selects the row at path. Since 2.6
Calls a function for each selected icon. Note that the model or selection cannot be modified from within this function. Since 2.6
Sets the ::column-spacing property which specifies the space which is inserted between the columns of the icon view. Since 2.6
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. Since 2.6
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 NULL, 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. Since 2.8
Sets the item that is highlighted for feedback. Since 2.8
Sets the ::item-orientation property which determines whether the labels are drawn beside the icons instead of below. Since 2.22
Sets the "item-padding" property which specifies the padding around each of the icon view's items. Since 2.18
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. Since 2.6
Sets the ::margin property which specifies the space which is inserted at the top, bottom, left and right of the icon view. Since 2.6
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 gtk_icon_view_set_text_column(). Since 2.6
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 NULL, then it will unset the old model. Since 2.6
Warning gtk_icon_view_set_orientation has been deprecated since version 2.22 and should not be used in newly-written code. Use gtk_icon_view_set_item_orientation() Sets the ::orientation property which determines whether the labels are drawn beside the icons instead of below. Since 2.6
Sets the column with pixbufs for icon_view to be column. The pixbuf column must be of type GDK_TYPE_PIXBUF Since 2.6
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 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. Since 2.8
Sets the ::row-spacing property which specifies the space which is inserted between the rows of the icon view. Since 2.6
Sets the selection mode of the icon_view. Since 2.6
Sets the ::spacing property which specifies the space which is inserted between the cells (i.e. the icon and the text) of an item. Since 2.6
Sets the column with text for icon_view to be column. The text column must be of type G_TYPE_STRING. Since 2.6
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. Since 2.12
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, "has-tooltip" will be set to TRUE and icon_view will connect a "query-tooltip" signal handler. Since 2.12
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(). Since 2.12
Unselects all the icons. Since 2.6
Unselects the row at path. Since 2.6
Undoes the effect of gtk_icon_view_enable_model_drag_dest(). Calling this method sets "reorderable" to FALSE. Since 2.8
Undoes the effect of gtk_icon_view_enable_model_drag_source(). Calling this method sets "reorderable" to FALSE. Since 2.8
the main Gtk struct
the main Gtk struct
the main Gtk struct as a void*
Removes all widgets from the container
Adds widget to container. Typically used for simple containers such as GtkWindow, GtkFrame, or GtkButton; for more complicated layout containers such as GtkBox or GtkTable, this function will pick default packing parameters that may not be correct. So consider functions such as gtk_box_pack_start() and gtk_table_attach() as an alternative to gtk_container_add() in those cases. A widget may be added to only one container at a time; you can't place the same widget inside two different containers.
Removes widget from container. widget must be inside container. Note that container will own a reference to widget, and that this may be the last reference held; so removing a widget from its container can destroy that widget. If you want to use widget again, you need to add a reference to it while it's not inside a container, using g_object_ref(). If you don't want to use widget again it's usually more efficient to simply destroy it directly using gtk_widget_destroy() since this will remove it from the container and help break any circular reference count cycles.
Returns the resize mode for the container. See gtk_container_set_resize_mode().
Sets the resize mode for the container. The resize mode of a container determines whether a resize request will be passed to the container's parent, queued for later execution or executed immediately.
Invokes callback on each non-internal child of container. See gtk_container_forall() for details on what constitutes an "internal" child. Most applications should use gtk_container_foreach(), rather than gtk_container_forall().
Warning gtk_container_foreach_full is deprecated and should not be used in newly-written code. Use gtk_container_foreach() instead.
Returns the container's non-internal children. See gtk_container_forall() for details on what constitutes an "internal" child.
Sets the reallocate_redraws flag of the container to the given value. Containers requesting reallocation redraws get automatically redrawn if any of their children changed allocation.
Returns the current focus child widget inside container. This is not the currently focused widget. That can be obtained by calling gtk_window_get_focus(). Since 2.14
Sets, or unsets if child is NULL, the focused child of container. This function emits the GtkContainer::set_focus_child signal of container. Implementations of GtkContainer can override the default behaviour by overriding the class closure of this signal. This is function is mostly meant to be used by widgets. Applications can use gtk_widget_grab_focus() to manualy set the focus to a specific widget.
Retrieves the vertical focus adjustment for the container. See gtk_container_set_focus_vadjustment().
Hooks up an adjustment to focus handling in a container, so when a child of the container is focused, the adjustment is scrolled to show that widget. This function sets the vertical alignment. See gtk_scrolled_window_get_vadjustment() for a typical way of obtaining the adjustment and gtk_container_set_focus_hadjustment() for setting the horizontal adjustment. The adjustments have to be in pixel units and in the same coordinate system as the allocation for immediate children of the container.
Retrieves the horizontal focus adjustment for the container. See gtk_container_set_focus_hadjustment().
Hooks up an adjustment to focus handling in a container, so when a child of the container is focused, the adjustment is scrolled to show that widget. This function sets the horizontal alignment. See gtk_scrolled_window_get_hadjustment() for a typical way of obtaining the adjustment and gtk_container_set_focus_vadjustment() for setting the vertical adjustment. The adjustments have to be in pixel units and in the same coordinate system as the allocation for immediate children of the container.
Returns the type of the children supported by the container. Note that this may return G_TYPE_NONE to indicate that no more children can be added, e.g. for a GtkPaned which already has two children.
Gets the value of a child property for child and container.
Sets a child property for child and container.
Gets the values of one or more child properties for child and container.
Sets one or more child properties for child and container.
Invokes callback on each child of container, including children that are considered "internal" (implementation details of the container). "Internal" children generally weren't added by the user of the container, but were added by the container implementation itself. Most applications should use gtk_container_foreach(), rather than gtk_container_forall().
Retrieves the border width of the container. See gtk_container_set_border_width().
Sets the border width of the container. The border width of a container is the amount of space to leave around the outside of the container. The only exception to this is GtkWindow; because toplevel windows can't leave space outside, they leave the space inside. The border is added on all sides of the container. To add space to only one side, one approach is to create a GtkAlignment widget, call gtk_widget_set_size_request() to give it a size, and place it on the side of the container as a spacer.
When a container receives an expose event, it must send synthetic expose events to all children that don't have their own GdkWindows. This function provides a convenient way of doing this. A container, when it receives an expose event, calls gtk_container_propagate_expose() once for each child, passing in the event the container received. gtk_container_propagate_expose() takes care of deciding whether an expose event needs to be sent to the child, intersecting the event's area with the child area, and sending the event. In most cases, a container can simply either simply inherit the "expose" implementation from GtkContainer, or, do some drawing and then chain to the ::expose implementation from GtkContainer. Note that the ::expose-event signal has been replaced by a ::draw signal in GTK+ 3, and consequently, gtk_container_propagate_expose() has been replaced by gtk_container_propagate_draw(). The GTK+ 3 migration guide for hints on how to port from ::expose-event to ::draw.
Retrieves the focus chain of the container, if one has been set explicitly. If no focus chain has been explicitly set, GTK+ computes the focus chain based on the positions of the children. In that case, GTK+ stores NULL in focusable_widgets and returns FALSE.
Sets a focus chain, overriding the one computed automatically by GTK+. In principle each widget in the chain should be a descendant of the container, but this is not enforced by this method, since it's allowed to set the focus chain before you pack the widgets, or have a widget in the chain that isn't always packed. The necessary checks are done when the focus chain is actually traversed.
Removes a focus chain explicitly set with gtk_container_set_focus_chain().
Finds a child property of a container class by name.
Installs a child property on a container class.
Returns all child properties of a container class.
the main Gtk struct as a void*
Packs the cell into the beginning of cell_layout. If expand is FALSE, then the cell is allocated no more space than it needs. Any unused space is divided evenly between cells for which expand is TRUE. Note that reusing the same cell renderer is not supported. Since 2.4
Adds the cell to the end of cell_layout. If expand is FALSE, then the cell is allocated no more space than it needs. Any unused space is divided evenly between cells for which expand is TRUE. Note that reusing the same cell renderer is not supported. Since 2.4
Returns the cell renderers which have been added to cell_layout. Since 2.12
Re-inserts cell at position. Note that cell has already to be packed into cell_layout for this to function properly. Since 2.4
Unsets all the mappings on all renderers on cell_layout and removes all renderers from cell_layout. Since 2.4
Adds an attribute mapping to the list in cell_layout. The column is the column of the model to get a value from, and the attribute is the parameter on cell to be set from the value. So for example if column 2 of the model contains strings, you could have the "text" attribute of a GtkCellRendererText get its values from column 2. Since 2.4
Sets the GtkCellLayoutDataFunc to use for cell_layout. This function is used instead of the standard attributes mapping for setting the column value, and should set the value of cell_layout's cell renderer(s) as appropriate. func may be NULL to remove and older one. Since 2.4
Clears all existing attributes previously set with gtk_cell_layout_set_attributes(). Since 2.4
Description GtkIconView provides an alternative view on a list model. It displays the model as a grid of icons with labels. Like GtkTreeView, it allows to select one or multiple items (depending on the selection mode, see gtk_icon_view_set_selection_mode()). In addition to selection with the arrow keys, GtkIconView supports rubberband selection, which is controlled by dragging the pointer.