// -*- c++ -*- // Generated by gtkmmproc -- DO NOT MODIFY! #ifndef _GTKMM_TOOLBAR_H #define _GTKMM_TOOLBAR_H #include #include /* $Id$ */ /* Copyright (C) 1998-2002 The gtkmm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 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 * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ // This is for including the config header before any code (such as // the #ifndef GTKMM_DISABLE_DEPRECATED in deprecated classes) is generated: #include #include #include #include #include #include #ifndef DOXYGEN_SHOULD_SKIP_THIS typedef struct _GtkToolbar GtkToolbar; typedef struct _GtkToolbarClass GtkToolbarClass; #endif /* DOXYGEN_SHOULD_SKIP_THIS */ namespace Gtk { class Toolbar_Class; } // namespace Gtk namespace Gtk { /** Bars of buttons and other widgets. * @ingroup Widgets * @ingroup Containers * @ingroup Toolbars */ class Toolbar : public Container { public: #ifndef DOXYGEN_SHOULD_SKIP_THIS typedef Toolbar CppObjectType; typedef Toolbar_Class CppClassType; typedef GtkToolbar BaseObjectType; typedef GtkToolbarClass BaseClassType; #endif /* DOXYGEN_SHOULD_SKIP_THIS */ virtual ~Toolbar(); #ifndef DOXYGEN_SHOULD_SKIP_THIS private: friend class Toolbar_Class; static CppClassType toolbar_class_; // noncopyable Toolbar(const Toolbar&); Toolbar& operator=(const Toolbar&); protected: explicit Toolbar(const Glib::ConstructParams& construct_params); explicit Toolbar(GtkToolbar* castitem); #endif /* DOXYGEN_SHOULD_SKIP_THIS */ public: #ifndef DOXYGEN_SHOULD_SKIP_THIS static GType get_type() G_GNUC_CONST; static GType get_base_type() G_GNUC_CONST; #endif ///Provides access to the underlying C GtkObject. GtkToolbar* gobj() { return reinterpret_cast(gobject_); } ///Provides access to the underlying C GtkObject. const GtkToolbar* gobj() const { return reinterpret_cast(gobject_); } public: //C++ methods used to invoke GTK+ virtual functions: #ifdef GLIBMM_VFUNCS_ENABLED #endif //GLIBMM_VFUNCS_ENABLED protected: //GTK+ Virtual Functions (override these to change behaviour): #ifdef GLIBMM_VFUNCS_ENABLED #endif //GLIBMM_VFUNCS_ENABLED //Default Signal Handlers:: #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED virtual void on_orientation_changed(Orientation orientation); virtual void on_toolbar_style_changed(ToolbarStyle style); virtual bool on_popup_context_menu(int x, int y, int button_number); #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED private: public: Toolbar(); /** Insert a Gtk::ToolItem into the toolbar at position @a pos . If @a pos is * 0 the item is prepended to the start of the toolbar. If @a pos is * negative, the item is appended to the end of the toolbar. * * @newin2p4 * @param item A Gtk::ToolItem. * @param pos The position of the new item. */ void insert(ToolItem& item, int pos); void insert(ToolButton& item, int pos, const sigc::slot& clicked_slot); void insert(ToggleToolButton& item, int pos, const sigc::slot& toggled_slot); void append(ToolItem& item); void append(ToolButton& item, const sigc::slot& clicked_slot); void append(ToggleToolButton& item, const sigc::slot& toggled_slot); void prepend(ToolItem& item); void prepend(ToolButton& item, const sigc::slot& clicked_slot); void prepend(ToggleToolButton& item, const sigc::slot& toggled_slot); /** Return value: the position of item on the toolbar. * @param item A Gtk::ToolItem that is a child of @a toolbar . * @return The position of item on the toolbar. * * @newin2p4. */ int get_item_index(const ToolItem& item) const; /** Return value: the number of items on the toolbar * @return The number of items on the toolbar * * @newin2p4. */ int get_n_items() const; /** Return value: The @a n <!-- -->'th Gtk::ToolItem on @a toolbar , or 0 if there * @param n A position on the toolbar. * @return The @a n <!-- -->'th Gtk::ToolItem on @a toolbar , or 0 if there * isn't an @a n <!-- -->'th item. * * @newin2p4. */ ToolItem* get_nth_item(int n); /** Return value: The @a n <!-- -->'th Gtk::ToolItem on @a toolbar , or 0 if there * @param n A position on the toolbar. * @return The @a n <!-- -->'th Gtk::ToolItem on @a toolbar , or 0 if there * isn't an @a n <!-- -->'th item. * * @newin2p4. */ const ToolItem* get_nth_item(int n) const; /** Return value: true if the toolbar has an overflow menu. * @return true if the toolbar has an overflow menu. * * @newin2p4. */ bool get_show_arrow() const; /** Sets whether to show an overflow menu when * @a toolbar doesn't have room for all items on it. If true, * items that there are not room are available through an * overflow menu. * * @newin2p4 * @param show_arrow Whether to show an overflow menu. */ void set_show_arrow(bool show_arrow = true); /* Style methods */ /** Sets whether a toolbar should appear horizontally or vertically. * @param orientation A new Gtk::Orientation. */ void set_orientation(Orientation orientation); /** Retrieves the current orientation of the toolbar. See * set_orientation(). * @return The orientation. */ Orientation get_orientation() const; /** Alters the view of @a toolbar to display either icons only, text only, or both. * @param style The new style for @a toolbar . */ void set_toolbar_style(ToolbarStyle style); /** Retrieves whether the toolbar has text, icons, or both . See * set_style(). * @return The current style of @a toolbar . */ ToolbarStyle get_toolbar_style() const; /** Sets if the tooltips of a toolbar should be active or not. * @param enable Set to false to disable the tooltips, or true to enable them. */ void set_tooltips(bool enable = true); /** Retrieves whether tooltips are enabled. See * set_tooltips(). * @return true if tooltips are enabled. */ bool get_tooltips() const; /** Unsets a toolbar style set with set_style(), so that * user preferences will be used to determine the toolbar style. */ void unset_toolbar_style(); //Note that gtk_toolbar_set_icon_size() and gtk_toolbar_unset_icon_size() were //deprecated sometime before GTK+ 2.4, but were undeprecated in GTK+ 2.12. /** This function sets the size of stock icons in the toolbar. You * can call it both before you add the icons and after they've been * added. The size you set will override user preferences for the default * icon size. * * This should only be used for special-purpose toolbars, normal * application toolbars should respect the user preferences for the * size of icons. * * @newin2p12 * @param icon_size The Gtk::IconSize that stock icons in the toolbar shall have. */ void set_icon_size(IconSize icon_size); /** Unsets toolbar icon size set with set_icon_size(), so that * user preferences will be used to determine the icon size. * * @newin2p12 */ void unset_icon_size(); /** Retrieves the icon size for the toolbar. See set_icon_size(). * @return The current icon size for the icons on the toolbar. */ IconSize get_icon_size() const; /** Return value: The relief style of buttons on @a toolbar . * @return The relief style of buttons on @a toolbar . * * @newin2p4. */ ReliefStyle get_relief_style() const; /** Return value: The position corresponding to the point ( @a x , @a y ) on the toolbar. * @param x X coordinate of a point on the toolbar. * @param y Y coordinate of a point on the toolbar. * @return The position corresponding to the point ( @a x , @a y ) on the toolbar. * * @newin2p4. */ int get_drop_index(int x, int y) const; /** Highlights @a toolbar to give an idea of what it would look like * if @a item was added to @a toolbar at the position indicated by @a index . * If @a item is 0, highlighting is turned off. In that case @a index * is ignored. * * The @a tool_item passed to this function must not be part of any widget * hierarchy. When an item is set as drop highlight item it can not * added to any widget hierarchy or used as highlight item for another * toolbar. * * @newin2p4 * @param tool_item A Gtk::ToolItem, or 0 to turn of highlighting. * @param index A position on @a toolbar . */ void set_drop_highlight_item(ToolItem& tool_item, int index); void unset_drop_highlight_item(); /** Emitted when the orientation of the toolbar changes. * * @param orientation The new Orientation of the toolbar. * * @par Prototype: * void on_my_%orientation_changed(Orientation orientation) */ Glib::SignalProxy1< void,Orientation > signal_orientation_changed(); /** Emitted when the style of the toolbar changes. * * @param @style The new ToolbarStyle of the toolbar. * * @par Prototype: * void on_my_%toolbar_style_changed(ToolbarStyle style) */ Glib::SignalProxy1< void,ToolbarStyle > signal_toolbar_style_changed(); /** Emitted when the user right-clicks the toolbar or uses the * keybinding to display a popup menu. * * Application developers should handle this signal if they want * to display a context menu on the toolbar. The context-menu should * appear at the coordinates given by @a x and @a y. The mouse button * number is given by the @a button parameter. If the menu was popped * up using the keybaord, @a button is -1. * * @param x The x coordinate of the point where the menu should appear. * @param y The y coordinate of the point where the menu should appear. * @param button The mouse button the user pressed, or -1 * @resultt true if the signal was handled, false if not. * * @par Prototype: * bool on_my_%popup_context_menu(int x, int y, int button_number) */ Glib::SignalProxy3< bool,int,int,int > signal_popup_context_menu(); #ifndef GTKMM_DISABLE_DEPRECATED //This was called get_tooltips_object() to avoid a clash with get_tooltips(), which just says whether they are enabled. ///@deprecated Use the Gtk::Tooltip API instead. Tooltips* get_tooltips_object() const; #endif //GTKMM_DISABLE_DEPRECATED //This is probably the same as Container::children().size(), which is deprecated anyway? //_MEMBER_GET(num_children, num_children, int, gint) //There is already set/get_orientation(): //_MEMBER_GET(orientation, orientation, GtkOrientation, Orientation) //There is already set/get_toolbar_style(): //_MEMBER_GET(style, style, GtkToolbarStyle, ToolbarStyle) //There is already set/get_icon_size(): //_MEMBER_GET(icon_size, icon_size, int, gint) //Ignore deprecated GtkToolbarAPI: //Normally we just deprecate it in gtkmm too, //but the GtkToolbar compatibility system is particularly unpleasant, so we just removed it in gtkmm 2.4. murrayc. #ifdef GLIBMM_PROPERTIES_ENABLED /** The orientation of the toolbar. * * You rarely need to use properties because there are get_ and set_ methods for almost all of them. * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when * the value of the property changes. */ Glib::PropertyProxy property_orientation() ; #endif //#GLIBMM_PROPERTIES_ENABLED #ifdef GLIBMM_PROPERTIES_ENABLED /** The orientation of the toolbar. * * You rarely need to use properties because there are get_ and set_ methods for almost all of them. * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when * the value of the property changes. */ Glib::PropertyProxy_ReadOnly property_orientation() const; #endif //#GLIBMM_PROPERTIES_ENABLED #ifdef GLIBMM_PROPERTIES_ENABLED /** How to draw the toolbar. * * You rarely need to use properties because there are get_ and set_ methods for almost all of them. * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when * the value of the property changes. */ Glib::PropertyProxy property_toolbar_style() ; #endif //#GLIBMM_PROPERTIES_ENABLED #ifdef GLIBMM_PROPERTIES_ENABLED /** How to draw the toolbar. * * You rarely need to use properties because there are get_ and set_ methods for almost all of them. * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when * the value of the property changes. */ Glib::PropertyProxy_ReadOnly property_toolbar_style() const; #endif //#GLIBMM_PROPERTIES_ENABLED #ifdef GLIBMM_PROPERTIES_ENABLED /** If an arrow should be shown if the toolbar doesn't fit. * * You rarely need to use properties because there are get_ and set_ methods for almost all of them. * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when * the value of the property changes. */ Glib::PropertyProxy property_show_arrow() ; #endif //#GLIBMM_PROPERTIES_ENABLED #ifdef GLIBMM_PROPERTIES_ENABLED /** If an arrow should be shown if the toolbar doesn't fit. * * You rarely need to use properties because there are get_ and set_ methods for almost all of them. * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when * the value of the property changes. */ Glib::PropertyProxy_ReadOnly property_show_arrow() const; #endif //#GLIBMM_PROPERTIES_ENABLED }; } // 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::Toolbar */ Gtk::Toolbar* wrap(GtkToolbar* object, bool take_copy = false); } //namespace Glib #endif /* _GTKMM_TOOLBAR_H */