diff options
Diffstat (limited to 'libs/gtkmm2/gtk/gtkmm/toolbar.h')
-rw-r--r-- | libs/gtkmm2/gtk/gtkmm/toolbar.h | 370 |
1 files changed, 370 insertions, 0 deletions
diff --git a/libs/gtkmm2/gtk/gtkmm/toolbar.h b/libs/gtkmm2/gtk/gtkmm/toolbar.h new file mode 100644 index 0000000000..8cf6431014 --- /dev/null +++ b/libs/gtkmm2/gtk/gtkmm/toolbar.h @@ -0,0 +1,370 @@ +// -*- c++ -*- +// Generated by gtkmmproc -- DO NOT MODIFY! +#ifndef _GTKMM_TOOLBAR_H +#define _GTKMM_TOOLBAR_H + +#include <glibmm.h> + +/* $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. + */ + +#include <gtkmm/toolitem.h> +#include <gtkmm/toolbutton.h> +#include <gtkmm/toggletoolbutton.h> +#include <glibmm/helperlist.h> +#include <gtkmm/container.h> +#include <gtkmm/stockid.h> + + +#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<GtkToolbar*>(gobject_); } + + ///Provides access to the underlying C GtkObject. + const GtkToolbar* gobj() const { return reinterpret_cast<GtkToolbar*>(gobject_); } + + +public: + //C++ methods used to invoke GTK+ virtual functions: + +protected: + //GTK+ Virtual Functions (override these to change behaviour): + + //Default Signal Handlers:: + 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); + + +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. + * + * Since: 2.4 + * @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<void>& clicked_slot); + void insert(ToggleToolButton& item, int pos, const sigc::slot<void>& toggled_slot); + + void append(ToolItem& item); + void append(ToolButton& item, const sigc::slot<void>& clicked_slot); + void append(ToggleToolButton& item, const sigc::slot<void>& toggled_slot); + + void prepend(ToolItem& item); + void prepend(ToolButton& item, const sigc::slot<void>& clicked_slot); + void prepend(ToggleToolButton& item, const sigc::slot<void>& toggled_slot); + + + /** Returns the position of @a item on the toolbar, starting from 0. + * It is an error if @a item is not a child of the toolbar. + * @param item A Gtk::ToolItem that is a child of @a toolbar . + * @return The position of item on the toolbar. + * + * Since: 2.4. + */ + int get_item_index(const ToolItem& item) const; + + /** Returns the number of items on the toolbar. + * @return The number of items on the toolbar + * + * Since: 2.4. + */ + int get_n_items() const; + + /** Returns the @a n <!-- -->'s item on @a toolbar , or <tt>0</tt> if the + * toolbar does not contain an @a n <!-- -->'th item. + * @param n A position on the toolbar. + * @return The @a n <!-- -->'th Gtk::ToolItem on @a toolbar , or <tt>0</tt> if there + * isn't an @a n <!-- -->th item. + * + * Since: 2.4. + */ + ToolItem* get_nth_item(int n); + + /** Returns the @a n <!-- -->'s item on @a toolbar , or <tt>0</tt> if the + * toolbar does not contain an @a n <!-- -->'th item. + * @param n A position on the toolbar. + * @return The @a n <!-- -->'th Gtk::ToolItem on @a toolbar , or <tt>0</tt> if there + * isn't an @a n <!-- -->th item. + * + * Since: 2.4. + */ + const ToolItem* get_nth_item(int n) const; + + /** Returns whether the toolbar has an overflow menu. + * See set_show_arrow() + * @return Since: 2.4. + */ + 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 <tt>true</tt>, + * items that there are not room are available through an + * overflow menu. + * + * Since: 2.4 + * @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 <tt>false</tt> to disable the tooltips, or <tt>true</tt> to enable them. + */ + void set_tooltips(bool enable = true); + + /** Retrieves whether tooltips are enabled. See + * set_tooltips(). + * @return <tt>true</tt> 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() is deprecated, bug gtk_toolbar_get_icon_size() is not. + + /** Retrieves the icon size fo the toolbar. See set_icon_size(). + * @return The current icon size for the icons on the toolbar. + */ + IconSize get_icon_size() const; + + + /** Returns the relief style of buttons on @a toolbar . See + * Gtk::Button::set_relief(). + * @return The relief style of buttons on @a toolbar . + * + * Since: 2.4. + */ + ReliefStyle get_relief_style() const; + + /** Returns the position corresponding to the indicated point on + * @a toolbar . This is useful when dragging items to the toolbar: + * this function returns the position a new item should be + * inserted. + * + * @a x and @a y are in @a toolbar coordinates. + * @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. + * + * Since: 2.4. + */ + 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 <tt>0</tt>, 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. + * + * Since: 2.4 + * @param tool_item A Gtk::ToolItem, or <tt>0</tt> 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(); + + + Glib::SignalProxy1< void,Orientation > signal_orientation_changed(); + + + Glib::SignalProxy1< void,ToolbarStyle > signal_toolbar_style_changed(); + + + Glib::SignalProxy3< bool,int,int,int > signal_popup_context_menu(); + + + //This is called get_tooltips_object() to avoid a clash with get_tooltips(), which just says whether they are enabled. + + Tooltips* get_tooltips_object() const; + + //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. + + + /** 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<Orientation> property_orientation() ; + +/** 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<Orientation> property_orientation() const; + + /** 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<ToolbarStyle> property_toolbar_style() ; + +/** 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<ToolbarStyle> property_toolbar_style() const; + + /** 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<bool> property_show_arrow() ; + +/** 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<bool> property_show_arrow() const; + + +}; + +} // namespace Gtk + + +namespace Glib +{ + /** @relates Gtk::Toolbar + * @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. + */ + Gtk::Toolbar* wrap(GtkToolbar* object, bool take_copy = false); +} +#endif /* _GTKMM_TOOLBAR_H */ + |