// Generated by gmmproc 2.66.7 -- DO NOT MODIFY! #ifndef _GTKMM_INFOBAR_H #define _GTKMM_INFOBAR_H #include #include /* Copyright (C) 2009 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 #ifndef DOXYGEN_SHOULD_SKIP_THIS using GtkInfoBar = struct _GtkInfoBar; using GtkInfoBarClass = struct _GtkInfoBarClass; #endif /* DOXYGEN_SHOULD_SKIP_THIS */ #ifndef DOXYGEN_SHOULD_SKIP_THIS namespace Gtk { class GTKMM_API InfoBar_Class; } // namespace Gtk #endif //DOXYGEN_SHOULD_SKIP_THIS namespace Gtk { /** This widget that can be used to show messages to the user without showing a dialog. * It is often temporarily shown at the top or bottom of a document. In contrast to * Dialog, which has a horizontal action area at the bottom, InfoBar has a vertical * action area at the side. * * The API is very similar to Dialog, allowing you to add buttons to the action * area with add_button(). The sensitivity of action widgets can be controlled * with set_response_sensitive(). To add widgets to the main content area, use * get_content_area() and add your widgets to the container. * * Similar to MessageDialog, the contents can by classified as error message, * warning, informational message, etc, by using set_message_type(). This * determines the background color of the message area. * * The InfoBar widget looks like * @image html infobar1.png * * @newin{2,18} * * @ingroup Widgets */ class GTKMM_API InfoBar : public HBox //Note: The C object derives from GtkBox. { public: #ifndef DOXYGEN_SHOULD_SKIP_THIS typedef InfoBar CppObjectType; typedef InfoBar_Class CppClassType; typedef GtkInfoBar BaseObjectType; typedef GtkInfoBarClass BaseClassType; #endif /* DOXYGEN_SHOULD_SKIP_THIS */ InfoBar(InfoBar&& src) noexcept; InfoBar& operator=(InfoBar&& src) noexcept; // noncopyable InfoBar(const InfoBar&) = delete; InfoBar& operator=(const InfoBar&) = delete; ~InfoBar() noexcept override; #ifndef DOXYGEN_SHOULD_SKIP_THIS private: friend class GTKMM_API InfoBar_Class; static CppClassType infobar_class_; protected: explicit InfoBar(const Glib::ConstructParams& construct_params); explicit InfoBar(GtkInfoBar* 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. GtkInfoBar* gobj() { return reinterpret_cast(gobject_); } /// Provides access to the underlying C GObject. const GtkInfoBar* 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_response(). virtual void on_response(int response_id); private: public: InfoBar(); //TODO: What types are these widgets really? /** Returns the action area of @a info_bar. * * @newin{2,18} * * @return The action area. */ Widget* get_action_area(); /** Returns the action area of @a info_bar. * * @newin{2,18} * * @return The action area. */ const Widget* get_action_area() const; /** Returns the content area of @a info_bar. * * @newin{2,18} * * @return The content area. */ Widget* get_content_area(); /** Returns the content area of @a info_bar. * * @newin{2,18} * * @return The content area. */ const Widget* get_content_area() const; /** Add an activatable widget to the action area of a Gtk::InfoBar, * connecting a signal handler that will emit the Gtk::InfoBar::signal_response() * signal on the message area when the widget is activated. The widget * is appended to the end of the message areas action area. * * @newin{2,18} * * @param child An activatable widget. * @param response_id Response ID for @a child. */ void add_action_widget(Widget& child, int response_id); /** Adds a button with the given text and sets things up so that * clicking the button will emit the “response” signal with the given * response_id. The button is appended to the end of the info bars's * action area. The button widget is returned, but usually you don't * need it. * * @newin{2,18} * * @param button_text Text of button. * @param response_id Response ID for the button. * @return The Gtk::Button widget * that was added. */ Button* add_button(const Glib::ustring& button_text, int response_id); #ifndef GTKMM_DISABLE_DEPRECATED /** Adds a button with the given text and sets things up so that * clicking the button will emit the “response” signal with the given * response_id. The button is appended to the end of the info bars's * action area. The button widget is returned, but usually you don't * need it. * * @newin{2,18} * * @deprecated Use the add_button() that takes a Glib::ustring instead. * * @param stock_id Text of button. * @param response_id Response ID for the button. * @return The Gtk::Button widget * that was added. */ Button* add_button(const Gtk::StockID& stock_id, int response_id); #endif // GTKMM_DISABLE_DEPRECATED /** Calls gtk_widget_set_sensitive (widget, setting) for each * widget in the info bars’s action area with the given response_id. * A convenient way to sensitize/desensitize dialog buttons. * * @newin{2,18} * * @param response_id A response ID. * @param setting true for sensitive. */ void set_response_sensitive(int response_id, bool setting = true); /** Sets the last widget in the info bar’s action area with * the given response_id as the default widget for the dialog. * Pressing “Enter” normally activates the default widget. * * Note that this function currently requires @a info_bar to * be added to a widget hierarchy. * * @newin{2,18} * * @param response_id A response ID. */ void set_default_response(int response_id); /** Emits the “response” signal with the given @a response_id. * * @newin{2,18} * * @param response_id A response ID. */ void response(int response_id); /** Sets the message type of the message area. * * GTK+ uses this type to determine how the message is displayed. * * @newin{2,18} * * @param message_type A Gtk::MessageType. */ void set_message_type(MessageType message_type); /** Returns the message type of the message area. * * @newin{2,18} * * @return The message type of the message area. */ MessageType get_message_type() const; /** If true, a standard close button is shown. When clicked it emits * the response Gtk::RESPONSE_CLOSE. * * @newin{3,10} * * @param setting true to include a close button. */ void set_show_close_button(bool setting = true); /** Returns whether the widget will display a standard close button. * * @newin{3,10} * * @return true if the widget displays standard close button. */ bool get_show_close_button() const; /** * @par Slot Prototype: * void on_my_%response(int response_id) * * Flags: Run Last * * Emitted when an action widget is clicked or the application programmer * calls Gtk::Dialog::response(). The @a response_id depends on which action * widget was clicked. * * @newin{2,18} * * @param response_id The response ID. */ Glib::SignalProxy< void,int > signal_response(); /** The type of the message. * * The type may be used to determine the appearance of the info bar. * * @newin{2,18} * * Default value: Gtk::MESSAGE_INFO * * @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< MessageType > property_message_type() ; /** The type of the message. * * The type may be used to determine the appearance of the info bar. * * @newin{2,18} * * Default value: Gtk::MESSAGE_INFO * * @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< MessageType > property_message_type() const; /** Whether to include a standard close button. * * @newin{3,10} * * 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_show_close_button() ; /** Whether to include a standard close button. * * @newin{3,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_show_close_button() const; }; } // 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::InfoBar */ GTKMM_API Gtk::InfoBar* wrap(GtkInfoBar* object, bool take_copy = false); } //namespace Glib #endif /* _GTKMM_INFOBAR_H */