summaryrefslogtreecommitdiff
path: root/libs/gtkmm2/gtk/gtkmm/button.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/gtkmm2/gtk/gtkmm/button.h')
-rw-r--r--libs/gtkmm2/gtk/gtkmm/button.h432
1 files changed, 432 insertions, 0 deletions
diff --git a/libs/gtkmm2/gtk/gtkmm/button.h b/libs/gtkmm2/gtk/gtkmm/button.h
new file mode 100644
index 0000000000..1ba9920a0f
--- /dev/null
+++ b/libs/gtkmm2/gtk/gtkmm/button.h
@@ -0,0 +1,432 @@
+// -*- c++ -*-
+// Generated by gtkmmproc -- DO NOT MODIFY!
+#ifndef _GTKMM_BUTTON_H
+#define _GTKMM_BUTTON_H
+
+#include <glibmm.h>
+
+/* $Id$ */
+
+/* box.h
+ *
+ * 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/bin.h>
+#include <gtkmm/stockid.h>
+
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+typedef struct _GtkButton GtkButton;
+typedef struct _GtkButtonClass GtkButtonClass;
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+
+namespace Gtk
+{ class Button_Class; } // namespace Gtk
+namespace Gtk
+{
+
+namespace Stock { struct BuiltinStockID; }
+
+
+/** A widget that creates a signal when clicked on.
+ *
+ * This widget is generally used with a signal handler that is called when the button is pressed.
+ * It can hold any valid child widget. The most commonly used child is the Gtk::Label.
+ *
+ * @ingroup Widgets
+ */
+
+class Button : public Bin
+{
+ public:
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+ typedef Button CppObjectType;
+ typedef Button_Class CppClassType;
+ typedef GtkButton BaseObjectType;
+ typedef GtkButtonClass BaseClassType;
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+ virtual ~Button();
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+
+private:
+ friend class Button_Class;
+ static CppClassType button_class_;
+
+ // noncopyable
+ Button(const Button&);
+ Button& operator=(const Button&);
+
+protected:
+ explicit Button(const Glib::ConstructParams& construct_params);
+ explicit Button(GtkButton* 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.
+ GtkButton* gobj() { return reinterpret_cast<GtkButton*>(gobject_); }
+
+ ///Provides access to the underlying C GtkObject.
+ const GtkButton* gobj() const { return reinterpret_cast<GtkButton*>(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_pressed();
+ virtual void on_released();
+ virtual void on_clicked();
+ virtual void on_enter();
+ virtual void on_leave();
+ virtual void on_activate();
+
+
+private:
+
+public:
+
+ /** Create an empty button.
+ * With an empty button, you can Gtk::Button::add() a widget
+ * such as a Gtk::Pixmap or Gtk::Box.
+ *
+ * If you just wish to add a Gtk::Label,
+ * you may want to
+ * use the Gtk::Button(const Glib::ustring& label) ctor
+ * directly instead.
+ */
+ Button();
+
+
+ /** Simple Push Button with label.
+ * Create a button with the given label inside. You won't be able
+ * to add a widget in this button since it already has a Gtk::Label
+ * in it
+ */
+ explicit Button(const Glib::ustring& label, bool mnemonic = false);
+ explicit Button(const StockID& stock_id);
+
+
+ void pressed();
+
+ void released();
+
+ void clicked();
+
+ void enter();
+
+ void leave();
+
+
+ void set_relief(ReliefStyle newstyle);
+
+ ReliefStyle get_relief() const;
+
+
+ /** Sets the text of the label of the button to @a str . This text is
+ * also used to select the stock item if set_use_stock()
+ * is used.
+ *
+ * This will also clear any previously set labels.
+ * @param label A string.
+ */
+ void set_label(const Glib::ustring& label);
+
+ /** Fetches the text from the label of the button, as set by
+ * set_label(). If the label text has not
+ * been set the return value will be <tt>0</tt>. This will be the
+ * case if you create an empty button with new() to
+ * use as a container.
+ * @return The text of the label widget. This string is owned
+ * by the widget and must not be modified or freed.
+ */
+ Glib::ustring get_label() const;
+
+ /** If true, an underline in the text of the button label indicates
+ * the next character should be used for the mnemonic accelerator key.
+ * @param use_underline <tt>true</tt> if underlines in the text indicate mnemonics.
+ */
+ void set_use_underline(bool use_underline = true);
+
+ /** Returns whether an embedded underline in the button label indicates a
+ * mnemonic. See set_use_underline().
+ * @return <tt>true</tt> if an embedded underline in the button label
+ * indicates the mnemonic accelerator keys.
+ */
+ bool get_use_underline() const;
+
+ /** If true, the label set on the button is used as a
+ * stock id to select the stock item for the button.
+ * @param use_stock <tt>true</tt> if the button should use a stock item.
+ */
+ void set_use_stock(bool use_stock = true);
+
+ /** Returns whether the button label is a stock item.
+ * @return <tt>true</tt> if the button label is used to
+ * select a stock item instead of being
+ * used directly as the label text.
+ */
+ bool get_use_stock() const;
+
+
+ /** Sets whether the button 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.
+ *
+ * Since: 2.4
+ * @param focus_on_click Whether the button grabs focus when clicked with the mouse.
+ */
+ void set_focus_on_click(bool focus_on_click = true);
+
+ /** Returns whether the button grabs focus when it is clicked with the mouse.
+ * See set_focus_on_click().
+ * @return <tt>true</tt> if the button grabs focus when it is clicked with
+ * the mouse.
+ *
+ * Since: 2.4.
+ */
+ bool get_focus_on_click() const;
+
+
+ /** Sets the alignment of the child. This property has no effect unless
+ * the child is a Gtk::Misc or a Gtk::Aligment.
+ *
+ * Since: 2.4
+ * @param xalign The horizontal position of the child, 0.0 is left aligned,
+ * 1.0 is right aligned.
+ * @param yalign The vertical position of the child, 0.0 is top aligned,
+ * 1.0 is bottom aligned.
+ */
+ void set_alignment(float xalign, float yalign);
+
+ /** Gets the alignment of the child in the button.
+ *
+ * Since: 2.4
+ * @param xalign Return location for horizontal alignment.
+ * @param yalign Return location for vertical alignment.
+ */
+ void get_alignment(float& xalign, float& yalign);
+
+
+ /** Set the image of @a button to the given widget. Note that
+ * it depends on the show-button-images setting whether the
+ * image will be displayed or not.
+ *
+ * Since: 2.6
+ * @param image A widget to set as the image for the button.
+ */
+ void set_image(Widget& image);
+
+ /** Gets the widget that is currenty set as the image of @a button .
+ * This may have been explicitly set by set_image()
+ * or constructed by new_from_stock().
+ *
+ * Since: 2.6
+ */
+ Widget* get_image();
+
+ /** Gets the widget that is currenty set as the image of @a button .
+ * This may have been explicitly set by set_image()
+ * or constructed by new_from_stock().
+ *
+ * Since: 2.6
+ */
+ const Widget* get_image() const;
+
+
+ Glib::SignalProxy0< void > signal_pressed();
+
+
+ Glib::SignalProxy0< void > signal_released();
+
+
+ Glib::SignalProxy0< void > signal_clicked();
+
+
+ Glib::SignalProxy0< void > signal_enter();
+
+
+ Glib::SignalProxy0< void > signal_leave();
+
+
+ Glib::SignalProxy0< void > signal_activate();
+
+
+ /** Text of the label widget inside the button
+ *
+ * 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<Glib::ustring> property_label() ;
+
+/** Text of the label widget inside the button
+ *
+ * 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<Glib::ustring> property_label() const;
+
+ /** The border relief style.
+ *
+ * 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<ReliefStyle> property_relief() ;
+
+/** The border relief style.
+ *
+ * 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<ReliefStyle> property_relief() const;
+
+ /** If set
+ *
+ * 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_use_underline() ;
+
+/** If set
+ *
+ * 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_use_underline() const;
+
+ /** If set
+ *
+ * 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_use_stock() ;
+
+/** If set
+ *
+ * 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_use_stock() const;
+
+ /** Whether the button grabs focus when it is clicked with the mouse.
+ *
+ * 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_focus_on_click() ;
+
+/** Whether the button grabs focus when it is clicked with the mouse.
+ *
+ * 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_focus_on_click() const;
+
+ /** Horizontal position of child in available space. 0.0 is left aligned
+ *
+ * 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<float> property_xalign() ;
+
+/** Horizontal position of child in available space. 0.0 is left aligned
+ *
+ * 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<float> property_xalign() const;
+
+ /** Vertical position of child in available space. 0.0 is top aligned
+ *
+ * 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<float> property_yalign() ;
+
+/** Vertical position of child in available space. 0.0 is top aligned
+ *
+ * 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<float> property_yalign() const;
+
+ /** Child widget to appear next to the button text.
+ *
+ * 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<Gtk::Widget*> property_image() ;
+
+/** Child widget to appear next to the button text.
+ *
+ * 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<Gtk::Widget*> property_image() const;
+
+
+};
+
+/*! A Gtk::Button example.
+ * Example 1: @link book/buttons/button/buttons.h @endlink
+ * Example 2: @link book/buttons/button/buttons.cc @endlink
+ * Example 3: @link book/buttons/button/main.cc @endlink
+ */
+
+} // namespace Gtk
+
+
+namespace Glib
+{
+ /** @relates Gtk::Button
+ * @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::Button* wrap(GtkButton* object, bool take_copy = false);
+}
+#endif /* _GTKMM_BUTTON_H */
+