// Generated by gmmproc 2.66.7 -- DO NOT MODIFY! #ifndef _GTKMM_COMBOBOX_H #define _GTKMM_COMBOBOX_H #include #include /* * Copyright (C) 2003 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 //For SensitivityType. #ifndef DOXYGEN_SHOULD_SKIP_THIS using GtkComboBox = struct _GtkComboBox; using GtkComboBoxClass = struct _GtkComboBoxClass; #endif /* DOXYGEN_SHOULD_SKIP_THIS */ #ifndef DOXYGEN_SHOULD_SKIP_THIS namespace Gtk { class GTKMM_API ComboBox_Class; } // namespace Gtk #endif //DOXYGEN_SHOULD_SKIP_THIS namespace Gtk { /** A widget used to choose from a list of items. * * A ComboBox is a widget that allows the user to choose from a list of valid choices. The ComboBox displays the * selected choice. When activated, the ComboBox displays a popup which allows the user to make a new choice. The * style in which the selected value is displayed, and the style of the popup is determined by the current theme. * It may be similar to a Windows-style combo box. * * The ComboBox uses the model-view pattern; the list of valid choices is specified in the form of a tree model, * and the display of the choices can be adapted to the data in the model by using cell renderers, as you would in * a tree view. This is possible since ComboBox implements the CellLayout interface. The tree model holding the * valid choices is not restricted to a flat list, it can be a real tree, and the popup will reflect the tree * structure. * * To allow the user to enter values not in the model, the 'has-entry' * property allows the ComboBox to contain a Gtk::Entry. This entry * can be accessed by calling get_entry(), or you can just call get_entry_text() * to get the text from the Entry. * * For a simple list of textual choices, the model-view API of ComboBox * can be a bit overwhelming. In this case, ComboBoxText offers a * simple alternative. Both ComboBox and ComboBoxText can contain * an entry. * * The ComboBox widget looks like this: * @image html combobox1.png * * @ingroup Widgets */ class GTKMM_API ComboBox : public Bin, public CellLayout, public CellEditable { public: #ifndef DOXYGEN_SHOULD_SKIP_THIS typedef ComboBox CppObjectType; typedef ComboBox_Class CppClassType; typedef GtkComboBox BaseObjectType; typedef GtkComboBoxClass BaseClassType; #endif /* DOXYGEN_SHOULD_SKIP_THIS */ ComboBox(ComboBox&& src) noexcept; ComboBox& operator=(ComboBox&& src) noexcept; // noncopyable ComboBox(const ComboBox&) = delete; ComboBox& operator=(const ComboBox&) = delete; ~ComboBox() noexcept override; #ifndef DOXYGEN_SHOULD_SKIP_THIS private: friend class GTKMM_API ComboBox_Class; static CppClassType combobox_class_; protected: explicit ComboBox(const Glib::ConstructParams& construct_params); explicit ComboBox(GtkComboBox* 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. GtkComboBox* gobj() { return reinterpret_cast(gobject_); } /// Provides access to the underlying C GObject. const GtkComboBox* gobj() const { return reinterpret_cast(gobject_); } public: //C++ methods used to invoke GTK+ virtual functions: protected: //GTK+ Virtual Functions (override these to change behaviour): //Default Signal Handlers:: /// This is a default handler for the signal signal_changed(). virtual void on_changed(); private: public: /** Creates a new empty ComboBox, optionally with an entry. * @param has_entry If this is true then this will have an Entry widget. */ explicit ComboBox(bool has_entry = false); /** Creates a new ComboBox with the model initialized to @a model, optionally with an entry. * @param model The model containing data to display in the ComboBox. * @param has_entry If this is true then this will have an Entry widget. */ explicit ComboBox(const Glib::RefPtr& model, bool has_entry = false); /** Creates a new empty ComboBox using @a cell_area to layout cells, optionally with an entry. * @param cell_area The CellArea to use to layout cell renderers. * @param has_entry If this is true then this will have an Entry widget. */ explicit ComboBox(const Glib::RefPtr& cell_area, bool has_entry = false); /** Sets the wrap width of @a combo_box to be @a width. The wrap width is basically * the preferred number of columns when you want the popup to be layed out * in a table. * * @newin{2,4} * * @param width Preferred number of columns. */ void set_wrap_width(int width); /** Returns the wrap width which is used to determine the number of columns * for the popup menu. If the wrap width is larger than 1, the combo box * is in table mode. * * @newin{2,6} * * @return The wrap width. */ int get_wrap_width() const; /** Sets the column with row span information for @a combo_box to be @a row_span. * The row span column contains integers which indicate how many rows * an item should span. * * @newin{2,4} * * @param row_span A column in the model passed during construction. */ void set_row_span_column(int row_span); /** Returns the column with row span information for @a combo_box. * * @newin{2,6} * * @return The row span column. */ int get_row_span_column() const; /** Sets the column with column span information for @a combo_box to be * @a column_span. The column span column contains integers which indicate * how many columns an item should span. * * @newin{2,4} * * @param column_span A column in the model passed during construction. */ void set_column_span_column(int column_span); /** Returns the column with column span information for @a combo_box. * * @newin{2,6} * * @return The column span column. */ int get_column_span_column() const; #ifndef GTKMM_DISABLE_DEPRECATED /** Gets the current value of the :add-tearoffs property. * * Deprecated: 3.10 * * @deprecated No replacement available. * * @return The current value of the :add-tearoffs property. */ bool get_add_tearoffs() const; #endif // GTKMM_DISABLE_DEPRECATED #ifndef GTKMM_DISABLE_DEPRECATED /** Sets whether the popup menu should have a tearoff * menu item. * * @newin{2,6} * * Deprecated: 3.10 * * @deprecated No replacement available. * * @param add_tearoffs true to add tearoff menu items. */ void set_add_tearoffs(bool add_tearoffs = true); #endif // GTKMM_DISABLE_DEPRECATED #ifndef GTKMM_DISABLE_DEPRECATED /** Gets the current title of the menu in tearoff mode. See * set_add_tearoffs(). * * @newin{2,10} * * Deprecated: 3.10 * * @deprecated No replacement available. * * @return The menu’s title in tearoff mode. This is an internal copy of the * string which must not be freed. */ Glib::ustring get_title() const; #endif // GTKMM_DISABLE_DEPRECATED #ifndef GTKMM_DISABLE_DEPRECATED /** Sets the menu’s title in tearoff mode. * * @newin{2,10} * * Deprecated: 3.10 * * @deprecated No replacement available. * * @param title A title for the menu in tearoff mode. */ void set_title(const Glib::ustring& title); #endif // GTKMM_DISABLE_DEPRECATED #ifndef GTKMM_DISABLE_DEPRECATED /** Returns whether the combo box grabs focus when it is clicked * with the mouse. See set_focus_on_click(). * * @newin{2,6} * * Deprecated: 3.20: Use Gtk::Widget::get_focus_on_click() instead * * @deprecated Use Widget::get_focus_on_click() instead. * * @return true if the combo box grabs focus when it is * clicked with the mouse. */ bool get_focus_on_click() const; #endif // GTKMM_DISABLE_DEPRECATED #ifndef GTKMM_DISABLE_DEPRECATED /** Sets whether the combo box will grab focus when it is clicked with * the mouse. Making mouse clicks not grab focus is useful in places * like toolbars where you don’t want the keyboard focus removed from * the main area of the application. * * @newin{2,6} * * Deprecated: 3.20: Use Gtk::Widget::set_focus_on_click() instead * * @deprecated Use Widget::set_focus_on_click() instead. * * @param focus_on_click Whether the combo box grabs focus when clicked * with the mouse. */ void set_focus_on_click(bool focus_on_click = true); #endif // GTKMM_DISABLE_DEPRECATED /* get/set active item */ /** Returns the index of the currently active item, or -1 if there’s no * active item. If the model is a non-flat treemodel, and the active item * is not an immediate child of the root of the tree, this function returns * `gtk_tree_path_get_indices (path)[0]`, where * `path` is the Gtk::TreePath of the active item. * * @newin{2,4} * * @return An integer which is the index of the currently active item, * or -1 if there’s no active item. */ int get_active_row_number() const; /** Gets an iterator that points to the current active item, if it exists. * @result The iterator. */ TreeModel::iterator get_active(); /** Gets an iterator that points to the current active item, if it exists. * @result The iterator. */ TreeModel::const_iterator get_active() const; /** Sets the active item of @a combo_box to be the item at @a index. * * @newin{2,4} * * @param index An index in the model passed during construction, or -1 to have * no active item. */ void set_active(int index); /** Sets the current active item to be the one referenced by @a iter, or * unsets the active item if @a iter is nullptr. * * @newin{2,4} * * @param iter The Gtk::TreeIter, or nullptr. */ void set_active(const TreeModel::iterator& iter); //TODO: See https://bugzilla.gnome.org/show_bug.cgi?id=612396#c30 /** Get the text in the entry, if there is an entry. * * @newin{2,24} */ Glib::ustring get_entry_text() const; /** Causes no item to be active. See also set_active(). */ void unset_active(); /** Returns the Gtk::TreeModel which is acting as data source for @a combo_box. * * @newin{2,4} * * @return A Gtk::TreeModel which was passed * during construction. */ Glib::RefPtr get_model(); /** Returns the Gtk::TreeModel which is acting as data source for @a combo_box. * * @newin{2,4} * * @return A Gtk::TreeModel which was passed * during construction. */ Glib::RefPtr get_model() const; /** Sets the model used by @a combo_box to be @a model. Will unset a previously set * model (if applicable). Use unset_model() to unset the old model. * * Note that this function does not clear the cell renderers, you have to * call Gtk::CellLayout::clear() yourself if you need to set up different * cell renderers for the new model. * * @newin{2,4} * * @param model A Gtk::TreeModel. */ void set_model(const Glib::RefPtr& model); /** Remove the model from the ComboBox. * * @see set_model(). * * @newin{2,16} */ void unset_model(); typedef TreeView::SlotRowSeparator SlotRowSeparator; /** Sets the row separator function, which is used to determine whether a row should be drawn as a separator. * See also unset_row_separator_func(). * * @param slot The callback. */ void set_row_separator_func(const SlotRowSeparator& slot); /** Causes no separators to be drawn. */ void unset_row_separator_func(); /** Sets whether the dropdown button of the combo box should be * always sensitive (Gtk::SENSITIVITY_ON), never sensitive (Gtk::SENSITIVITY_OFF) * or only if there is at least one item to display (Gtk::SENSITIVITY_AUTO). * * @newin{2,14} * * @param sensitivity Specify the sensitivity of the dropdown button. */ void set_button_sensitivity(SensitivityType sensitivity); /** Returns whether the combo box sets the dropdown button * sensitive or not when there are no items in the model. * * @newin{2,14} * * @return Gtk::SENSITIVITY_ON if the dropdown button * is sensitive when the model is empty, Gtk::SENSITIVITY_OFF * if the button is always insensitive or * Gtk::SENSITIVITY_AUTO if it is only sensitive as long as * the model has one item to be selected. */ SensitivityType get_button_sensitivity() const; /** Returns whether the combo box has an entry. * * @newin{2,24} * * @return Whether there is an entry in @a combo_box. */ bool get_has_entry() const; /** Sets the model column which @a combo_box should use to get strings from * to be @a text_column. The column @a text_column in the model of @a combo_box * must be of type G_TYPE_STRING. * * This is only relevant if @a combo_box has been created with * Gtk::ComboBox::property_has_entry() as true. * * @newin{2,24} * * @param text_column A column in @a model to get the strings from for * the internal entry. */ void set_entry_text_column(const TreeModelColumnBase& text_column) const; /** Sets the model column which @a combo_box should use to get strings from * to be @a text_column. The column @a text_column in the model of @a combo_box * must be of type G_TYPE_STRING. * * This is only relevant if @a combo_box has been created with * Gtk::ComboBox::property_has_entry() as true. * * @newin{2,24} * * @param text_column A column in @a model to get the strings from for * the internal entry. */ void set_entry_text_column(int text_column); /** Returns the column which @a combo_box is using to get the strings * from to display in the internal entry. * * @newin{2,24} * * @return A column in the data source model of @a combo_box. */ int get_entry_text_column() const; /** Specifies whether the popup’s width should be a fixed width * matching the allocated width of the combo box. * * @newin{3,0} * * @param fixed Whether to use a fixed popup width. */ void set_popup_fixed_width(bool fixed = true); /** Gets whether the popup uses a fixed width matching * the allocated width of the combo box. * * @newin{3,0} * * @return true if the popup uses a fixed width. */ bool get_popup_fixed_width() const; /** Pops up the menu or dropdown list of @a combo_box. * * This function is mostly intended for use by accessibility technologies; * applications should have little use for it. * * Before calling this, @a combo_box must be mapped, or nothing will happen. * * @newin{2,4} */ void popup(); /** Pops up the menu or dropdown list of @a combo_box, the popup window * will be grabbed so only @a device and its associated pointer/keyboard * are the only Gdk::Devices able to send events to it. * * @newin{3,0} * * @param device A Gdk::Device. */ void popup(const Glib::RefPtr& device); /** Hides the menu or dropdown list of @a combo_box. * * This function is mostly intended for use by accessibility technologies; * applications should have little use for it. * * @newin{2,4} */ void popdown(); #ifdef GTKMM_ATKMM_ENABLED /** Gets the accessible object corresponding to the combo box’s popup. * * This function is mostly intended for use by accessibility technologies; * applications should have little use for it. * * @newin{2,6} * * @return The accessible object corresponding * to the combo box’s popup. */ Glib::RefPtr get_popup_accessible(); #endif // GTKMM_ATKMM_ENABLED #ifdef GTKMM_ATKMM_ENABLED /** Gets the accessible object corresponding to the combo box’s popup. * * This function is mostly intended for use by accessibility technologies; * applications should have little use for it. * * @newin{2,6} * * @return The accessible object corresponding * to the combo box’s popup. */ Glib::RefPtr get_popup_accessible() const; #endif // GTKMM_ATKMM_ENABLED /** Returns the column which @a combo_box is using to get string IDs * for values from. * * @newin{3,0} * * @return A column in the data source model of @a combo_box. */ int get_id_column() const; /** Sets the model column which @a combo_box should use to get string IDs * for values from. The column @a id_column in the model of @a combo_box * must be of type G_TYPE_STRING. * * @newin{3,0} * * @param id_column A column in @a model to get string IDs for values from. */ void set_id_column(int id_column); /** Returns the ID of the active row of @a combo_box. This value is taken * from the active row and the column specified by the Gtk::ComboBox::property_id_column() * property of @a combo_box (see set_id_column()). * * The returned value is an interned string which means that you can * compare the pointer by value to other interned strings and that you * must not free it. * * If the Gtk::ComboBox::property_id_column() property of @a combo_box is not set, or if * no row is active, or if the active row has a nullptr ID value, then nullptr * is returned. * * @newin{3,0} * * @return The ID of the active row, or nullptr. */ Glib::ustring get_active_id() const; #ifndef GTKMM_DISABLE_DEPRECATED /** Changes the active row of @a combo_box to the one that has an ID equal to * @a active_id, or unsets the active row if @a active_id is nullptr. Rows having * a nullptr ID string cannot be made active by this function. * * If the Gtk::ComboBox::property_id_column() property of @a combo_box is unset or if no * row has the given ID then the function does nothing and returns false. * * @newin{3,0} * * @deprecated Use set_active_id(). This method was incorrectly named. * * @param active_id The ID of the row to select, or nullptr. */ void get_active_id(const Glib::ustring& active_id); #endif // GTKMM_DISABLE_DEPRECATED /** Changes the active row of the combo box to the one that has an ID equal to * @a active_id. * * If property_id_column() is unset or if no row has the given ID then the function * does nothing and returns false. * * @param active_id The ID of the row that should be set to active. * @returns true if a row with a matching ID was found. * * @newin{3,6} */ bool set_active_id(const Glib::ustring& active_id); /** @see Bin::get_child(). * @newin{2,24} */ Entry* get_entry(); /** @see Bin::get_child(). * @newin{2,24} */ const Entry* get_entry() const; /** The model from which the combo box takes the values shown * in the list. * * @newin{2,4} * * @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 from which the combo box takes the values shown * in the list. * * @newin{2,4} * * @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; /** If wrap-width is set to a positive value, items in the popup will be laid * out along multiple columns, starting a new row on reaching the wrap width. * * @newin{2,4} * * 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_wrap_width() ; /** If wrap-width is set to a positive value, items in the popup will be laid * out along multiple columns, starting a new row on reaching the wrap width. * * @newin{2,4} * * 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_wrap_width() const; /** If this is set to a non-negative value, it must be the index of a column * of type G_TYPE_INT in the model. The value in that column for each item * will determine how many rows that item will span in the popup. Therefore, * values in this column must be greater than zero. * * @newin{2,4} * * 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_row_span_column() ; /** If this is set to a non-negative value, it must be the index of a column * of type G_TYPE_INT in the model. The value in that column for each item * will determine how many rows that item will span in the popup. Therefore, * values in this column must be greater than zero. * * @newin{2,4} * * 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_row_span_column() const; /** If this is set to a non-negative value, it must be the index of a column * of type G_TYPE_INT in the model. The value in that column for each item * will determine how many columns that item will span in the popup. * Therefore, values in this column must be greater than zero, and the sum of * an item’s column position + span should not exceed Gtk::ComboBox::property_wrap_width(). * * @newin{2,4} * * 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_column_span_column() ; /** If this is set to a non-negative value, it must be the index of a column * of type G_TYPE_INT in the model. The value in that column for each item * will determine how many columns that item will span in the popup. * Therefore, values in this column must be greater than zero, and the sum of * an item’s column position + span should not exceed Gtk::ComboBox::property_wrap_width(). * * @newin{2,4} * * 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_column_span_column() const; /** The item which is currently active. If the model is a non-flat treemodel, * and the active item is not an immediate child of the root of the tree, * this property has the value * `gtk_tree_path_get_indices (path)[0]`, * where `path` is the Gtk::TreePath of the active item. * * @newin{2,4} * * 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_active() ; /** The item which is currently active. If the model is a non-flat treemodel, * and the active item is not an immediate child of the root of the tree, * this property has the value * `gtk_tree_path_get_indices (path)[0]`, * where `path` is the Gtk::TreePath of the active item. * * @newin{2,4} * * 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_active() const; #ifndef GTKMM_DISABLE_DEPRECATED /** The add-tearoffs property controls whether generated menus * have tearoff menu items. * * Note that this only affects menu style combo boxes. * * @newin{2,6} * * Deprecated: 3.10 * * @deprecated No replacement available. * * 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_add_tearoffs() ; /** The add-tearoffs property controls whether generated menus * have tearoff menu items. * * Note that this only affects menu style combo boxes. * * @newin{2,6} * * Deprecated: 3.10 * * @deprecated No replacement available. * * 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_add_tearoffs() const; #endif // GTKMM_DISABLE_DEPRECATED /** The has-frame property controls whether a frame * is drawn around the entry. * * @newin{2,6} * * Default value: true * * @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_has_frame() ; /** The has-frame property controls whether a frame * is drawn around the entry. * * @newin{2,6} * * Default value: true * * @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_has_frame() const; // GtkComboBox:focus-on-click has been removed from gtk+. // TODO: At ABI-break, remove it from gtkmm. #ifndef GTKMM_DISABLE_DEPRECATED /** Whether the combo box grabs focus when it is clicked with the mouse. * @deprecated Use Widget::property_focus_on_click() instead. * * @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_focus_on_click() ; /** Whether the combo box grabs focus when it is clicked with the mouse. * @deprecated Use Widget::property_focus_on_click() instead. * * @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_focus_on_click() const; #endif // GTKMM_DISABLE_DEPRECATED //_WRAP_PROPERTY("focus-on-click", bool, deprecated "Use Widget::property_focus_on_click() instead.") #ifndef GTKMM_DISABLE_DEPRECATED /** A title that may be displayed by the window manager * when the popup is torn-off. * * @newin{2,10} * * Deprecated: 3.10 * * @deprecated No replacement available. * * Default value: "" * * @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::ustring > property_tearoff_title() ; /** A title that may be displayed by the window manager * when the popup is torn-off. * * @newin{2,10} * * Deprecated: 3.10 * * @deprecated No replacement available. * * Default value: "" * * @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::ustring > property_tearoff_title() const; #endif // GTKMM_DISABLE_DEPRECATED /** Whether the combo boxes dropdown is popped up. * Note that this property is mainly useful, because * it allows you to connect to notify::popup-shown. * * @newin{2,10} * * 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_popup_shown() const; /** Whether the dropdown button is sensitive when * the model is empty. * * @newin{2,14} * * Default value: Gtk::SENSITIVITY_AUTO * * @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< SensitivityType > property_button_sensitivity() ; /** Whether the dropdown button is sensitive when * the model is empty. * * @newin{2,14} * * Default value: Gtk::SENSITIVITY_AUTO * * @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< SensitivityType > property_button_sensitivity() const; /** Whether the popup's width should be a fixed width matching the * allocated width of the combo box. * * @newin{3,0} * * Default value: true * * @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_popup_fixed_width() ; /** Whether the popup's width should be a fixed width matching the * allocated width of the combo box. * * @newin{3,0} * * Default value: true * * @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_popup_fixed_width() const; /** The Gtk::CellArea used to layout cell renderers for this combo box. * * If no area is specified when creating the combo box with Gtk::ComboBox::new_with_area() * a horizontally oriented Gtk::CellAreaBox will be used. * * @newin{3,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< Glib::RefPtr > property_cell_area() const; /** Whether the combo box has an entry. * * @newin{2,24} * * 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_has_entry() const; /** The column in the combo box's model to associate with strings from the entry * if the combo was created with Gtk::ComboBox::property_has_entry() = true. * * @newin{2,24} * * 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_entry_text_column() ; /** The column in the combo box's model to associate with strings from the entry * if the combo was created with Gtk::ComboBox::property_has_entry() = true. * * @newin{2,24} * * 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_entry_text_column() const; /** The column in the combo box's model that provides string * IDs for the values in the model, if != -1. * * @newin{3,0} * * 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_id_column() ; /** The column in the combo box's model that provides string * IDs for the values in the model, if != -1. * * @newin{3,0} * * 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_id_column() const; /** The value of the ID column of the active row. * * @newin{3,0} * * Default value: "" * * @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::ustring > property_active_id() ; /** The value of the ID column of the active row. * * @newin{3,0} * * Default value: "" * * @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::ustring > property_active_id() const; /** * @par Slot Prototype: * void on_my_%changed() * * Flags: Run Last * * The changed signal is emitted when the active * item is changed. The can be due to the user selecting * a different item from the list, or due to a * call to Gtk::ComboBox::set_active_iter(). * It will also be emitted while typing into the entry of a combo box * with an entry. * * @newin{2,4} */ Glib::SignalProxy< void > signal_changed(); //TODO: Remove no_default_handler when we can break ABI /** * @par Slot Prototype: * Glib::ustring on_my_%format_entry_text(const TreeModel::Path& path) * * Flags: Run Last * * For combo boxes that are created with an entry (See GtkComboBox:has-entry). * * A signal which allows you to change how the text displayed in a combo box's * entry is displayed. * * Connect a signal handler which returns an allocated string representing * @a path. That string will then be used to set the text in the combo box's entry. * The default signal handler uses the text from the GtkComboBox::entry-text-column * model column. * * Here's an example signal handler which fetches data from the model and * displays it in the entry. * * [C example ellipted] * * @newin{3,4} * * @param path The GtkTreePath string from the combo box's current model to format text for. * @return A newly allocated string representing @a path * for the current GtkComboBox model. */ Glib::SignalProxy< Glib::ustring,const TreeModel::Path& > signal_format_entry_text(); //Key-binding signals: }; } // namespace Gtk 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::ComboBox */ GTKMM_API Gtk::ComboBox* wrap(GtkComboBox* object, bool take_copy = false); } //namespace Glib #endif /* _GTKMM_COMBOBOX_H */