76450f35b1
git-svn-id: svn://localhost/ardour2/branches/2.1-staging@1416 d708f5d6-7413-0410-9779-e7cbd77b26cf
433 lines
14 KiB
C++
433 lines
14 KiB
C++
// -*- 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:
|
|
#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<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.
|
|
*
|
|
* @newin2p4.
|
|
*/
|
|
int get_item_index(const ToolItem& item) const;
|
|
|
|
/** Returns the number of items on the toolbar.
|
|
* @return The number of items on the toolbar
|
|
*
|
|
* @newin2p4.
|
|
*/
|
|
int get_n_items() const;
|
|
|
|
/** Returns the @a n <!-- -->'th 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.
|
|
*
|
|
* @newin2p4.
|
|
*/
|
|
ToolItem* get_nth_item(int n);
|
|
|
|
/** Returns the @a n <!-- -->'th 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.
|
|
*
|
|
* @newin2p4.
|
|
*/
|
|
const ToolItem* get_nth_item(int n) const;
|
|
|
|
/** Returns whether the toolbar has an overflow menu.
|
|
* See set_show_arrow().
|
|
* @return <tt>true</tt> 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 <tt>true</tt>,
|
|
* 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 <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, but 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 .
|
|
*
|
|
* @newin2p4.
|
|
*/
|
|
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.
|
|
*
|
|
* @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 <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.
|
|
*
|
|
* @newin2p4
|
|
* @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();
|
|
|
|
/** Emitted when the orientation of the toolbar changes.
|
|
*
|
|
* @param orientation The new Orientation of the toolbar.
|
|
*/
|
|
|
|
/**
|
|
* @par Prototype:
|
|
* <tt>void %orientation_changed(Orientation orientation)</tt>
|
|
*/
|
|
|
|
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:
|
|
* <tt>void %toolbar_style_changed(ToolbarStyle style)</tt>
|
|
*/
|
|
|
|
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:
|
|
* <tt>bool %popup_context_menu(int x, int y, int button_number)</tt>
|
|
*/
|
|
|
|
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.
|
|
|
|
|
|
#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<Orientation> 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<Orientation> 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<ToolbarStyle> 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<ToolbarStyle> 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<bool> 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<bool> property_show_arrow() const;
|
|
#endif //#GLIBMM_PROPERTIES_ENABLED
|
|
|
|
|
|
};
|
|
|
|
} // 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);
|
|
} //namespace Glib
|
|
|
|
|
|
#endif /* _GTKMM_TOOLBAR_H */
|
|
|