// Generated by gmmproc 2.82.0 -- DO NOT MODIFY! #ifndef _GTKMM_ICONVIEW_H #define _GTKMM_ICONVIEW_H #ifndef GTKMM_DISABLE_DEPRECATED #include #include /* * Copyright (C) 1998-2004 The gtkmm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include #include #include #include #include #include // The entire file is deprecated. #ifndef DOXYGEN_SHOULD_SKIP_THIS using GtkIconView = struct _GtkIconView; using GtkIconViewClass = struct _GtkIconViewClass; #endif /* DOXYGEN_SHOULD_SKIP_THIS */ #ifndef DOXYGEN_SHOULD_SKIP_THIS namespace Gtk { class GTKMM_API IconView_Class; } // namespace Gtk #endif //DOXYGEN_SHOULD_SKIP_THIS namespace Gtk { /** The IconView provides an alternative view of a list model. * It displays the model as a grid of icons with labels. * Like the TreeView, it allows the user to select one or multiple items * (depending on the selection mode - see set_selection_mode()). * In addition to selection with the arrow keys, the IconView supports * rubberband selection, by dragging the pointer. * * @ingroup Widgets * @deprecated 4.10: Use Gtk::GridView instead. */ class GTKMM_API IconView : public Widget, public CellLayout, public Scrollable { public: #ifndef DOXYGEN_SHOULD_SKIP_THIS typedef IconView CppObjectType; typedef IconView_Class CppClassType; typedef GtkIconView BaseObjectType; typedef GtkIconViewClass BaseClassType; #endif /* DOXYGEN_SHOULD_SKIP_THIS */ IconView(IconView&& src) noexcept; IconView& operator=(IconView&& src) noexcept; // noncopyable IconView(const IconView&) = delete; IconView& operator=(const IconView&) = delete; ~IconView() noexcept override; #ifndef DOXYGEN_SHOULD_SKIP_THIS private: friend GTKMM_API class IconView_Class; static CppClassType iconview_class_; protected: explicit IconView(const Glib::ConstructParams& construct_params); explicit IconView(GtkIconView* castitem); #endif /* DOXYGEN_SHOULD_SKIP_THIS */ public: /** Get the GType for this class, for use with the underlying GObject type system. */ static GType get_type() G_GNUC_CONST; #ifndef DOXYGEN_SHOULD_SKIP_THIS static GType get_base_type() G_GNUC_CONST; #endif /// Provides access to the underlying C GObject. GtkIconView* gobj() { return reinterpret_cast(gobject_); } /// Provides access to the underlying C GObject. const GtkIconView* gobj() const { return reinterpret_cast(gobject_); } private: public: /** @addtogroup gtkmmEnums gtkmm Enums and Flags */ /** * @var DropPosition::NO_DROP * No drop possible. * * @var DropPosition::DROP_INTO * Dropped item replaces the item. * * @var DropPosition::DROP_LEFT * Dropped item is inserted to the left. * * @var DropPosition::DROP_RIGHT * Dropped item is inserted to the right. * * @var DropPosition::DROP_ABOVE * Dropped item is inserted above. * * @var DropPosition::DROP_BELOW * Dropped item is inserted below. */ /** An enum for determining where a dropped item goes. * * @ingroup gtkmmEnums */ enum class DropPosition { NO_DROP, DROP_INTO, DROP_LEFT, DROP_RIGHT, DROP_ABOVE, DROP_BELOW }; IconView(); explicit IconView(const Glib::RefPtr& model); explicit IconView(const Glib::RefPtr& cell_area); /** Sets the model for a Gtk::IconView. * If the @a icon_view already has a model set, it will remove * it before setting the new model. Use unset_model() to * unset the old model. * * @newin{2,6} * * @param model The model. */ void set_model(const Glib::RefPtr& model); /** Returns the model the `Gtk::IconView` is based on. Returns nullptr if the * model is unset. * * Deprecated: 4.10: Use Gtk::GridView instead * * @return The currently used `Gtk::TreeModel`. */ Glib::RefPtr get_model(); /** Returns the model the `Gtk::IconView` is based on. Returns nullptr if the * model is unset. * * Deprecated: 4.10: Use Gtk::GridView instead * * @return The currently used `Gtk::TreeModel`. */ Glib::RefPtr get_model() const; /** Remove the model from the IconView. * * @see set_model(). * * @newin{2,16} */ void unset_model(); /** Sets the column with text for @a icon_view to be @a column. The text * column must be of type `G_TYPE_STRING`. * * Deprecated: 4.10: Use Gtk::GridView instead * * @param column A column in the currently used model, or -1 to display no text. */ void set_text_column(int column); /** Sets the column with text for @a icon_view to be @a model_column. The text * column must be of type `G_TYPE_STRING`. * * Deprecated: 4.10: Use Gtk::GridView instead * * @param model_column A column in the currently used model, or -1 to display no text. */ void set_text_column(const TreeModelColumnBase& model_column); /** Returns the column with text for @a icon_view. * * Deprecated: 4.10: Use Gtk::GridView instead * * @return The text column, or -1 if it’s unset. */ int get_text_column() const; /** Sets the column with markup information for @a icon_view to be * @a 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(). * * Deprecated: 4.10: Use Gtk::GridView instead * * @param column A column in the currently used model, or -1 to display no text. */ void set_markup_column(int column); /** Sets the column with markup information for @a icon_view to be * @a 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(). * * Deprecated: 4.10: Use Gtk::GridView instead * * @param column A column in the currently used model, or -1 to display no text. */ void set_markup_column(const TreeModelColumnBase& column); /** Returns the column with markup text for @a icon_view. * * Deprecated: 4.10: Use Gtk::GridView instead * * @return The markup column, or -1 if it’s unset. */ int get_markup_column() const; /** Sets the column with pixbufs for @a icon_view to be @a column. The pixbuf * column must be of type `GDK_TYPE_PIXBUF` * * Deprecated: 4.10: Use Gtk::GridView instead * * @param column A column in the currently used model, or -1 to disable. */ void set_pixbuf_column(int column); /** Sets the column with pixbufs for @a icon_view to be @a column. The pixbuf * column must be of type `GDK_TYPE_PIXBUF` * * Deprecated: 4.10: Use Gtk::GridView instead * * @param column A column in the currently used model, or -1 to disable. */ void set_pixbuf_column(const TreeModelColumnBase& column); /** Returns the column with pixbufs for @a icon_view. * * Deprecated: 4.10: Use Gtk::GridView instead * * @return The pixbuf column, or -1 if it’s unset. */ int get_pixbuf_column() const; /** Sets the property_item_orientation() property which determines whether the labels * are drawn beside the icons instead of below. * * Deprecated: 4.10: Use Gtk::GridView instead * * @param orientation The relative position of texts and icons. */ void set_item_orientation(Orientation orientation); /** Returns the value of the property_item_orientation() property which determines * whether the labels are drawn beside the icons instead of below. * * Deprecated: 4.10: Use Gtk::GridView instead * * @return The relative position of texts and icons. */ Orientation get_item_orientation() const; /** Sets the property_columns() property which determines in how * many columns the icons are arranged. If @a columns is * -1, the number of columns will be chosen automatically * to fill the available area. * * Deprecated: 4.10: Use Gtk::GridView instead * * @param columns The number of columns. */ void set_columns(int columns); /** Returns the value of the property_columns() property. * * Deprecated: 4.10: Use Gtk::GridView instead * * @return The number of columns, or -1. */ int get_columns() const; /** Sets the property_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 Gtk::GridView instead * * @param item_width The width for each item. */ void set_item_width(int item_width); /** Returns the value of the property_item_width() property. * * Deprecated: 4.10: Use Gtk::GridView instead * * @return The width of a single item, or -1. */ int get_icon_width() const; /** Sets the property_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 Gtk::GridView instead * * @param spacing The spacing. */ void set_spacing(int spacing); /** Returns the value of the property_spacing() property. * * Deprecated: 4.10: Use Gtk::GridView instead * * @return The space between cells. */ int get_spacing() const; /** Sets the property_row_spacing() property which specifies the space * which is inserted between the rows of the icon view. * * Deprecated: 4.10: Use Gtk::GridView instead * * @param row_spacing The row spacing. */ void set_row_spacing(int row_spacing); /** Returns the value of the property_row_spacing() property. * * Deprecated: 4.10: Use Gtk::GridView instead * * @return The space between rows. */ int get_row_spacing() const; /** Sets the property_column_spacing() property which specifies the space * which is inserted between the columns of the icon view. * * Deprecated: 4.10: Use Gtk::GridView instead * * @param column_spacing The column spacing. */ void set_column_spacing(int column_spacing); /** Returns the value of the property_column_spacing() property. * * Deprecated: 4.10: Use Gtk::GridView instead * * @return The space between columns. */ int get_column_spacing() const; /** Sets the property_margin() property which specifies the space * which is inserted at the top, bottom, left and right * of the icon view. * * Deprecated: 4.10: Use Gtk::GridView instead * * @param margin The margin. */ void set_margin(int margin); /** Returns the value of the property_margin() property. * * Deprecated: 4.10: Use Gtk::GridView instead * * @return The space at the borders. */ int get_margin() const; /** Sets the `Gtk::IconView`:item-padding property which specifies the padding * around each of the icon view’s items. * * Deprecated: 4.10: Use Gtk::GridView instead * * @param item_padding The item padding. */ void set_item_padding(int item_padding); /** Returns the value of the property_item_padding() property. * * Deprecated: 4.10: Use Gtk::GridView instead * * @return The padding around items. */ int get_item_padding() const; /** Gets the path for the icon at the given position. * * Deprecated: 4.10: Use Gtk::GridView instead * * @param x The x position to be identified. * @param y The y position to be identified. * @return The `Gtk::TreePath` corresponding * to the icon or nullptr if no icon exists at that position. */ TreeModel::Path get_path_at_pos(int x, int y) const; /** Finds the path at the point (@a x, @a y), relative to widget coordinates. * * @param x The x position to be identified. * @param y The y position to be identified. * @param[out] path The path. * @param[out] cell The renderer responsible for the cell at (@a x, @a y). * @result true if an item exists at the specified position. * * @newin{2,6} */ bool get_item_at_pos(int x, int y, TreeModel::Path& path, CellRenderer*& cell) const; /** Finds the path at the point (@a x, @a y), relative to widget coordinates. * * @param x The x position to be identified. * @param y The y position to be identified. * @param[out] path The path. * @result true if an item exists at the specified position. * * @newin{2,6} */ bool get_item_at_pos(int x, int y, TreeModel::Path& path) const; /** Finds the path at the point (@a x, @a y), relative to widget coordinates. * * @param x The x position to be identified. * @param y The y position to be identified. * @param[out] cell The renderer responsible for the cell at (@a x, @a y). * @result true if an item exists at the specified position. * * @newin{2,6} */ bool get_item_at_pos(int x, int y, CellRenderer*& cell) const; /** Sets @a start_path and @a end_path to be the first and last visible path. * Note that there may be invisible paths in between. * * @param[out] start_path Return location for start of region. * @param[out] end_path Return location for end of region. * @result true if valid paths were placed in @a start_path and @a end_path. */ bool get_visible_range(TreeModel::Path& start_path, TreeModel::Path& end_path) const; /** Causes the `Gtk::IconView`::item-activated signal to be emitted on * a single click instead of a double click. * * Deprecated: 4.10: Use Gtk::GridView instead * * @param single true to emit item-activated on a single click. */ void set_activate_on_single_click(bool single = true); /** Gets the setting set by set_activate_on_single_click(). * * Deprecated: 4.10: Use Gtk::GridView instead * * @return true if item-activated will be emitted on a single click. */ bool get_activate_on_single_click() const; /** For instance, * void on_foreach(const Gtk::TreeModel::Path& path); */ using SlotForeach = sigc::slot; /** Calls a function for each selected icon. Note that the model or * selection cannot be modified from within this function. * * @param slot The callback to call for each selected icon. */ void selected_foreach(const SlotForeach& slot); //Default value?: /** Sets the selection mode of the @a icon_view. * * Deprecated: 4.10: Use Gtk::GridView instead * * @param mode The selection mode. */ void set_selection_mode(SelectionMode mode); /** Gets the selection mode of the @a icon_view. * * Deprecated: 4.10: Use Gtk::GridView instead * * @return The current selection mode. */ SelectionMode get_selection_mode() const; /** Selects the row at @a path. * * Deprecated: 4.10: Use Gtk::GridView instead * * @param path The `Gtk::TreePath` to be selected. */ void select_path(const TreeModel::Path& path); /** Unselects the row at @a path. * * Deprecated: 4.10: Use Gtk::GridView instead * * @param path The `Gtk::TreePath` to be unselected. */ void unselect_path(const TreeModel::Path& path); /** Returns true if the icon pointed to by @a path is currently * selected. If @a path does not point to a valid location, false is returned. * * Deprecated: 4.10: Use Gtk::GridView instead * * @param path A `Gtk::TreePath` to check selection on. * @return true if @a path is selected. */ bool path_is_selected(const TreeModel::Path& path) const; /** Gets the row in which the item @a path is currently * displayed. Row numbers start at 0. * * Deprecated: 4.10: Use Gtk::GridView instead * * @param path The `Gtk::TreePath` of the item. * @return The row in which the item is displayed. */ int get_item_row(const TreeModel::Path& path) const; /** Gets the column in which the item @a path is currently * displayed. Column numbers start at 0. * * Deprecated: 4.10: Use Gtk::GridView instead * * @param path The `Gtk::TreePath` of the item. * @return The column in which the item is displayed. */ int get_item_column(const TreeModel::Path& path) const; /** 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 `Gtk::TreeRowReferences`. * To do this, you can use Gtk::TreeRowReference::new(). * * To free the return value, use `g_list_free_full`: * * [C example ellipted] * * Deprecated: 4.10: Use Gtk::GridView instead * * @return A `GList` containing a `Gtk::TreePath` for each selected row. */ std::vector get_selected_items() const; /** Selects all the icons. @a icon_view must has its selection mode set * to Gtk::SelectionMode::MULTIPLE. * * Deprecated: 4.10: Use Gtk::GridView instead */ void select_all(); /** Unselects all the icons. * * Deprecated: 4.10: Use Gtk::GridView instead */ void unselect_all(); /** Activates the item determined by @a path. * * Deprecated: 4.10: Use Gtk::GridView instead * * @param path The `Gtk::TreePath` to be activated. */ void item_activated(const TreeModel::Path& path); /** Sets the current keyboard focus to be at @a path, and selects it. This is * useful when you want to focus the user’s attention on a particular item. * If @a cell is not nullptr, then focus is given to the cell specified by * it. Additionally, if @a 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: 4.10: Use Gtk::GridView instead * * @param path A `Gtk::TreePath`. * @param cell One of the cell renderers of @a icon_view. * @param start_editing true if the specified cell should start being edited. */ void set_cursor(const TreeModel::Path& path, CellRenderer& cell, bool start_editing); /// A set_cursor() convenience overload. void set_cursor(const TreeModel::Path& path, bool start_editing); /** Fills in @a path and @a cell with the current cursor path and cell. * If the cursor isn't currently set, then @a path will be empty. * If no cell currently has focus, then @a cell will be nullptr. * * @param[out] path The current cursor path. * @param[out] cell The current focus cell. * @result true if the cursor is set. * * @newin{2,8} */ bool get_cursor(TreeModel::Path& path, CellRenderer*& cell) const; /** Fills in @a path and @a cell with the current cursor path and cell. * If the cursor isn't currently set, then @a path will be empty. * If no cell currently has focus, then @a cell will be nullptr. * * @param[out] path The current cursor path. * @result true if the cursor is set. * * @newin{2,8} */ bool get_cursor(TreeModel::Path& path) const; /** Fills in @a path and @a cell with the current cursor path and cell. * If the cursor isn't currently set, then @a path will be empty. * If no cell currently has focus, then @a cell will be nullptr. * * @param[out] cell The current focus cell. * @result true if the cursor is set. * * @newin{2,8} */ bool get_cursor(CellRenderer*& cell) const; /** Moves the alignments of @a icon_view to the position specified by @a path. * @a row_align determines where the row is placed, and @a col_align determines * where @a 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 @a 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 @a path is a valid row on * the model. If the model changes before the @a icon_view is realized, the * centered path will be modified to reflect this change. * * Deprecated: 4.10: Use Gtk::GridView instead * * @param path The path of the item to move to. * @param use_align Whether to use alignment arguments, or false. * @param row_align The vertical alignment of the item specified by @a path. * @param col_align The horizontal alignment of the item specified by @a path. */ void scroll_to_path(const TreeModel::Path& path, bool use_align, float row_align, float col_align); /* Drag-and-Drop support */ // Gdk::ContentFormats is an immutable object. It can be declared const // in input parameters. No one can change it. /** Turns @a icon_view into a drag source for automatic DND. Calling this * method sets `Gtk::IconView`:reorderable to false. * * Deprecated: 4.10: Use 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. */ void enable_model_drag_source(const Glib::RefPtr& formats, Gdk::ModifierType start_button_mask = static_cast(GDK_MODIFIER_MASK), Gdk::DragAction actions = Gdk::DragAction::COPY | Gdk::DragAction::MOVE); /** Turns @a icon_view into a drop destination for automatic DND. Calling this * method sets `Gtk::IconView`:reorderable to false. * * Deprecated: 4.10: Use 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. */ void enable_model_drag_dest(const Glib::RefPtr& formats, Gdk::DragAction actions = Gdk::DragAction::COPY | Gdk::DragAction::MOVE); /** Undoes the effect of enable_model_drag_source(). Calling this * method sets `Gtk::IconView`:reorderable to false. * * Deprecated: 4.10: Use Gtk::GridView instead */ void unset_model_drag_source(); /** Undoes the effect of enable_model_drag_dest(). Calling this * method sets `Gtk::IconView`:reorderable to false. * * Deprecated: 4.10: Use Gtk::GridView instead */ void unset_model_drag_dest(); /** This function is a convenience function to allow you to reorder models that * support the `Gtk::TreeDragSourceIface` and the `Gtk::TreeDragDestIface`. Both * `Gtk::TreeStore` and `Gtk::ListStore` support these. If @a 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: 4.10: Use Gtk::GridView instead * * @param reorderable true, if the list of items can be reordered. */ void set_reorderable(bool reorderable = true); /** Retrieves whether the user can reorder the list via drag-and-drop. * See set_reorderable(). * * Deprecated: 4.10: Use Gtk::GridView instead * * @return true if the list can be reordered. */ bool get_reorderable() const; /* These are useful to implement your own custom stuff. */ /** Sets the item that is highlighted for feedback. * * Deprecated: 4.10: Use Gtk::GridView instead * * @param path The path of the item to highlight. * @param pos Specifies where to drop, relative to the item. */ void set_drag_dest_item(const TreeModel::Path& path, DropPosition pos); /** Gets information about the item that is highlighted for feedback. * * @param[out] path The highlighted item. * @param[out] pos The drop position. * * @newin{2,10} */ void get_drag_dest_item(TreeModel::Path& path, DropPosition& pos) const; /** Gets information about the item that is highlighted for feedback. * * @param[out] path The highlighted item. * * @newin{2,10} */ void get_drag_dest_item(TreeModel::Path& path) const; /** Gets information about the item that is highlighted for feedback. * * @param[out] pos The drop position. * * @newin{2,10} */ void get_drag_dest_item(DropPosition& pos) const; /** Determines the destination item for a given position. * * @param drag_x The position to determine the destination item for. * @param drag_y the position to determine the destination item for. * @param[out] path The path of the item. * @param[out] pos The drop position. * @result Whether there is an item at the given position. * * @newin{2,10} */ bool get_dest_item_at_pos(int drag_x, int drag_y, TreeModel::Path& path, DropPosition& pos) const; /** Determines the destination item for a given position. * * @param drag_x The position to determine the destination item for. * @param drag_y the position to determine the destination item for. * @param[out] path The path of the item. * @result Whether there is an item at the given position. * * @newin{2,10} */ bool get_dest_item_at_pos(int drag_x, int drag_y, TreeModel::Path& path) const; /** Determines the destination item for a given position. * * @param drag_x The position to determine the destination item for. * @param drag_y the position to determine the destination item for. * @param[out] pos The drop position. * @result Whether there is an item at the given position. * * @newin{2,10} */ bool get_dest_item_at_pos(int drag_x, int drag_y, DropPosition& pos) const; // create_drag_icon() is const because it returns a newly created Gdk::Paintable. /** Creates a `Gdk::Paintable` representation of the item at @a path. * This image is used for a drag icon. * * Deprecated: 4.10: Use Gtk::GridView instead * * @param path A `Gtk::TreePath` in @a icon_view. * @return A newly-allocated `Gdk::Paintable` of the drag icon. */ Glib::RefPtr create_drag_icon(const TreeModel::Path& path) const; /** Fills the bounding rectangle in widget coordinates for the cell specified by * @a path and @a cell. If @a cell is nullptr the main cell area is used. * * This function is only valid if @a icon_view is realized. * * Deprecated: 4.10: Use Gtk::GridView instead * * @param path A `Gtk::TreePath`. * @param cell A `Gtk::CellRenderer`. * @param rect Rectangle to fill with cell rect. * @return false if there is no such item, true otherwise. */ bool get_cell_rect(const TreeModel::Path& path, const CellRenderer& cell, Gdk::Rectangle& rect) const; /// A get_cell_rect() convenience overload. bool get_cell_rect(const TreeModel::Path& path, Gdk::Rectangle& rect) const; /** Sets the tip area of @a tooltip to be the area covered by the item at @a path. * See also Tooltip::set_tip_area(). * * @newin{2,12} * * @param tooltip A `Gtk::Tooltip`. * @param path A `Gtk::TreePath`. */ void set_tooltip_item(const Glib::RefPtr& tooltip, const TreeModel::Path& path); /** Sets the tip area of @a tooltip to the area which @a cell occupies in * the item pointed to by @a path. See also Tooltip::set_tip_area(). * * @newin{2,12} * * @param tooltip A Gtk::Tooltip. * @param path A Gtk::TreePath. * @param cell A Gtk::CellRenderer. */ void set_tooltip_cell(const Glib::RefPtr& tooltip, const TreeModel::Path& path, CellRenderer& cell); /** Sets the tip area of @a tooltip to the area occupied by * the item pointed to by @a path. See also Tooltip::set_tip_area(). * * @newin{2,12} * * @param tooltip A Gtk::Tooltip. * @param path A Gtk::TreePath. */ void set_tooltip_cell(const Glib::RefPtr& tooltip, const TreeModel::Path& path); /** This function is supposed to be used in a Gtk::Widget::query-tooltip * signal handler for Gtk::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 the * @a path which has been provided will be set to point to * that row and the corresponding model. * * @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 * @param[out] path A reference to receive a Gtk::TreePath * @result Whether or not the given tooltip context points to an item. * * @newin{2,12} */ bool get_tooltip_context_path(int x, int y, bool keyboard_tip, TreeModel::Path& path); /** This function is supposed to be used in a Gtk::Widget::query-tooltip * signal handler for Gtk::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 the * @a iter which has been provided will be set to point to * that row and the corresponding model. * * @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 * @param[out] iter A reference to receive a Gtk::TreeModel::iterator * @result Whether or not the given tooltip context points to an item. * * @newin{2,12} */ bool get_tooltip_context_iter(int x, int y, bool keyboard_tip, Gtk::TreeModel::iterator& iter); /** If you only plan to have simple (text-only) tooltips on full items, you * can use this function to have `Gtk::IconView` handle these automatically * for you. @a column should be set to the column in @a icon_view’s model * containing the tooltip texts, or -1 to disable this feature. * * When enabled, `GtkWidget:has-tooltip` will be set to true and * @a icon_view 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: 4.10: Use Gtk::GridView instead * * @param column An integer, which is a valid column number for @a icon_view’s model. */ void set_tooltip_column(int column); /** Returns the column of @a icon_view’s model which is being used for * displaying tooltips on @a icon_view’s rows. * * Deprecated: 4.10: Use Gtk::GridView instead * * @return The index of the tooltip column that is currently being * used, or -1 if this is disabled. */ int get_tooltip_column() const; // no_default_handler because GtkIconViewClass is private. /** * @par Slot Prototype: * void on_my_%item_activated(const TreeModel::Path& path) * * Flags: Run Last * * The signal_item_activated() signal is emitted when the method * Gtk::IconView::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. * * @param path The `Gtk::TreePath` for the activated item. */ Glib::SignalProxy signal_item_activated(); /** * @par Slot Prototype: * void on_my_%selection_changed() * * Flags: Run First * * The signal_selection_changed() signal is emitted when the selection * (i.e.\ the set of selected items) changes. */ Glib::SignalProxy signal_selection_changed(); /* Key binding signals */ /** The property_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. * * Default value: -1 * * @return A PropertyProxy that allows you to get or set the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy< int > property_pixbuf_column() ; /** The property_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. * * Default value: -1 * * @return A PropertyProxy_ReadOnly that allows you to get the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy_ReadOnly< int > property_pixbuf_column() const; /** The property_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. * * Default value: -1 * * @return A PropertyProxy that allows you to get or set the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy< int > property_text_column() ; /** The property_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. * * Default value: -1 * * @return A PropertyProxy_ReadOnly that allows you to get the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy_ReadOnly< int > property_text_column() const; /** The property_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. * * Default value: -1 * * @return A PropertyProxy that allows you to get or set the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy< int > property_markup_column() ; /** The property_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. * * Default value: -1 * * @return A PropertyProxy_ReadOnly that allows you to get the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy_ReadOnly< int > property_markup_column() const; /** The property_selection_mode() property specifies the selection mode of * icon view. If the mode is Gtk::SelectionMode::MULTIPLE, rubberband selection * is enabled, for the other modes, only keyboard selection is possible. * * Default value: Gtk::SelectionMode::SINGLE * * @return A PropertyProxy that allows you to get or set the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy< SelectionMode > property_selection_mode() ; /** The property_selection_mode() property specifies the selection mode of * icon view. If the mode is Gtk::SelectionMode::MULTIPLE, rubberband selection * is enabled, for the other modes, only keyboard selection is possible. * * Default value: Gtk::SelectionMode::SINGLE * * @return A PropertyProxy_ReadOnly that allows you to get the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy_ReadOnly< SelectionMode > property_selection_mode() const; /** The item-orientation property specifies how the cells (i.e.\ the icon and * the text) of the item are positioned relative to each other. * * Default value: Gtk::Orientation::VERTICAL * * @return A PropertyProxy that allows you to get or set the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy< Orientation > property_item_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. * * Default value: Gtk::Orientation::VERTICAL * * @return A PropertyProxy_ReadOnly that allows you to get the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy_ReadOnly< Orientation > property_item_orientation() const; /** The model of the icon view. * * @return A PropertyProxy that allows you to get or set the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy< Glib::RefPtr > property_model() ; /** The model of the icon view. * * @return A PropertyProxy_ReadOnly that allows you to get the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy_ReadOnly< Glib::RefPtr > property_model() const; /** 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. * * Default value: -1 * * @return A PropertyProxy that allows you to get or set the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy< int > property_columns() ; /** 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. * * Default value: -1 * * @return A PropertyProxy_ReadOnly that allows you to get the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy_ReadOnly< int > property_columns() const; /** 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. * * Default value: -1 * * @return A PropertyProxy that allows you to get or set the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy< int > property_item_width() ; /** 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. * * Default value: -1 * * @return A PropertyProxy_ReadOnly that allows you to get the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy_ReadOnly< int > property_item_width() const; /** The spacing property specifies the space which is inserted between * the cells (i.e.\ the icon and the text) of an item. * * Default value: 0 * * @return A PropertyProxy that allows you to get or set the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy< int > property_spacing() ; /** The spacing property specifies the space which is inserted between * the cells (i.e.\ the icon and the text) of an item. * * Default value: 0 * * @return A PropertyProxy_ReadOnly that allows you to get the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy_ReadOnly< int > property_spacing() const; /** The row-spacing property specifies the space which is inserted between * the rows of the icon view. * * Default value: 6 * * @return A PropertyProxy that allows you to get or set the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy< int > property_row_spacing() ; /** The row-spacing property specifies the space which is inserted between * the rows of the icon view. * * Default value: 6 * * @return A PropertyProxy_ReadOnly that allows you to get the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy_ReadOnly< int > property_row_spacing() const; /** The column-spacing property specifies the space which is inserted between * the columns of the icon view. * * Default value: 6 * * @return A PropertyProxy that allows you to get or set the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy< int > property_column_spacing() ; /** The column-spacing property specifies the space which is inserted between * the columns of the icon view. * * Default value: 6 * * @return A PropertyProxy_ReadOnly that allows you to get the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy_ReadOnly< int > property_column_spacing() const; /** The margin property specifies the space which is inserted * at the edges of the icon view. * * Default value: 6 * * @return A PropertyProxy that allows you to get or set the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy< int > property_margin() ; /** The margin property specifies the space which is inserted * at the edges of the icon view. * * Default value: 6 * * @return A PropertyProxy_ReadOnly that allows you to get the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy_ReadOnly< int > property_margin() const; /** The reorderable property specifies if the items can be reordered * by DND. * * Default value: false * * @return A PropertyProxy that allows you to get or set the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy< int > property_reorderable() ; /** The reorderable property specifies if the items can be reordered * by DND. * * Default value: false * * @return A PropertyProxy_ReadOnly that allows you to get the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy_ReadOnly< int > property_reorderable() const; /** The column of the icon view model which is being used for displaying * tooltips on it's rows. * * Default value: -1 * * @return A PropertyProxy that allows you to get or set the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy< int > property_tooltip_column() ; /** The column of the icon view model which is being used for displaying * tooltips on it's rows. * * Default value: -1 * * @return A PropertyProxy_ReadOnly that allows you to get the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy_ReadOnly< int > property_tooltip_column() const; /** The item-padding property specifies the padding around each * of the icon view's item. * * Default value: 6 * * @return A PropertyProxy that allows you to get or set the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy< int > property_item_padding() ; /** The item-padding property specifies the padding around each * of the icon view's item. * * Default value: 6 * * @return A PropertyProxy_ReadOnly that allows you to get the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy_ReadOnly< int > property_item_padding() const; /** The `Gtk::CellArea` used to layout cell renderers for this view. * * If no area is specified when creating the icon view with Gtk::IconView::new_with_area() * a `Gtk::CellAreaBox` will be used. * * @return A PropertyProxy_ReadOnly that allows you to get the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy_ReadOnly< Glib::RefPtr > property_cell_area() const; /** The activate-on-single-click property specifies whether the "item-activated" signal * will be emitted after a single click. * * Default value: false * * @return A PropertyProxy that allows you to get or set the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy< bool > property_activate_on_single_click() ; /** The activate-on-single-click property specifies whether the "item-activated" signal * will be emitted after a single click. * * Default value: false * * @return A PropertyProxy_ReadOnly that allows you to get the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy_ReadOnly< bool > property_activate_on_single_click() const; public: public: //C++ methods used to invoke GTK+ virtual functions: protected: //GTK+ Virtual Functions (override these to change behaviour): //Default Signal Handlers:: }; } // namespace Gtk #ifndef DOXYGEN_SHOULD_SKIP_THIS namespace Glib { template <> class GTKMM_API Value : public Glib::Value_Enum { public: static GType value_type() G_GNUC_CONST; }; } // namespace Glib #endif /* DOXYGEN_SHOULD_SKIP_THIS */ namespace Glib { /** A Glib::wrap() method for this object. * * @param object The C instance. * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref. * @result A C++ instance that wraps this C instance. * * @relates Gtk::IconView */ GTKMM_API Gtk::IconView* wrap(GtkIconView* object, bool take_copy = false); } //namespace Glib #endif // GTKMM_DISABLE_DEPRECATED #endif /* _GTKMM_ICONVIEW_H */