// Generated by gmmproc 2.84.0 -- DO NOT MODIFY! #ifndef _GTKMM_CENTERBOX_H #define _GTKMM_CENTERBOX_H #include #include /* Copyright (C) 2017 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, see . */ #include #include #include #ifndef DOXYGEN_SHOULD_SKIP_THIS using GtkCenterBox = struct _GtkCenterBox; using GtkCenterBoxClass = struct _GtkCenterBoxClass; #endif /* DOXYGEN_SHOULD_SKIP_THIS */ #ifndef DOXYGEN_SHOULD_SKIP_THIS namespace Gtk { class GTKMM_API CenterBox_Class; } // namespace Gtk #endif //DOXYGEN_SHOULD_SKIP_THIS namespace Gtk { /** A centering container. * * The %CenterBox widget arranges three children in a horizontal * or vertical arrangement, keeping the middle child centered as well * as possible. * * To add children to a %CenterBox, use set_start_widget(), * set_center_widget() and set_end_widget(). * * The sizing and positioning of children can be influenced with the * align and expand properties of the children. * * In horizontal orientation, the nodes of the children are always arranged * from left to right regardless of text direction. In vertical orientation, * the nodes of the children are arranged from top to bottom. * * @newin{3,92} * * @see Box * @ingroup Widgets * @ingroup Containers */ class GTKMM_API CenterBox : public Widget, public Orientable { public: #ifndef DOXYGEN_SHOULD_SKIP_THIS typedef CenterBox CppObjectType; typedef CenterBox_Class CppClassType; typedef GtkCenterBox BaseObjectType; typedef GtkCenterBoxClass BaseClassType; #endif /* DOXYGEN_SHOULD_SKIP_THIS */ CenterBox(CenterBox&& src) noexcept; CenterBox& operator=(CenterBox&& src) noexcept; // noncopyable CenterBox(const CenterBox&) = delete; CenterBox& operator=(const CenterBox&) = delete; ~CenterBox() noexcept override; #ifndef DOXYGEN_SHOULD_SKIP_THIS private: friend GTKMM_API class CenterBox_Class; static CppClassType centerbox_class_; protected: explicit CenterBox(const Glib::ConstructParams& construct_params); explicit CenterBox(GtkCenterBox* 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. GtkCenterBox* gobj() { return reinterpret_cast(gobject_); } /// Provides access to the underlying C GObject. const GtkCenterBox* gobj() const { return reinterpret_cast(gobject_); } private: public: CenterBox(); /** Sets the start widget. * * To remove the existing start widget, pass nullptr. * * @param child The new start widget. */ void set_start_widget(Widget& child); /** Gets the start widget. * * @return The start widget. */ Widget* get_start_widget(); /** Gets the start widget. * * @return The start widget. */ const Widget* get_start_widget() const; /** Removes the start widget. * @newin{3,92} */ void unset_start_widget(); /** Sets the center widget. * * To remove the existing center widget, pass nullptr. * * @param child The new center widget. */ void set_center_widget(Widget& child); /** Gets the center widget. * * @return The center widget. */ Widget* get_center_widget(); /** Gets the center widget. * * @return The center widget. */ const Widget* get_center_widget() const; /** Removes the center widget. * @newin{3,92} */ void unset_center_widget(); /** Sets the end widget. * * To remove the existing end widget, pass nullptr. * * @param child The new end widget. */ void set_end_widget(Widget& child); /** Gets the end widget. * * @return The end widget. */ Widget* get_end_widget(); /** Gets the end widget. * * @return The end widget. */ const Widget* get_end_widget() const; /** Removes the end widget. * @newin{3,92} */ void unset_end_widget(); /** Sets the baseline position of a center box. * * This affects only horizontal boxes with at least one baseline * aligned child. If there is more vertical space available than * requested, and the baseline is not allocated by the parent then * @a position is used to allocate the baseline with respect to the * extra space available. * * @param position The baseline position. */ void set_baseline_position(BaselinePosition position); /** Gets the baseline position of the center box. * * See set_baseline_position(). * * @return The baseline position. */ BaselinePosition get_baseline_position(); /** Sets whether to shrink the center widget after other children. * * By default, when there's no space to give all three children their * natural widths, the start and end widgets start shrinking and the * center child keeps natural width until they reach minimum width. * * If @a shrink_center_last is false, start and end widgets keep natural * width and the center widget starts shrinking instead. * * @newin{4,12} * * @param shrink_center_last Whether to shrink the center widget after others. */ void set_shrink_center_last(bool shrink_center_last = true); /** Gets whether the center widget shrinks after other children. * * @newin{4,12} * * @return Whether to shrink the center widget after others. */ bool get_shrink_center_last() const; /** The widget that is placed at the start position. * * In vertical orientation, the start position is at the top. * In horizontal orientation, the start position is at the leading * edge with respect to the text direction. * * @newin{4,10} * * @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< Widget* > property_start_widget() ; /** The widget that is placed at the start position. * * In vertical orientation, the start position is at the top. * In horizontal orientation, the start position is at the leading * edge with respect to the text direction. * * @newin{4,10} * * @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< Widget* > property_start_widget() const; /** The widget that is placed at the center position. * * @newin{4,10} * * @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< Widget* > property_center_widget() ; /** The widget that is placed at the center position. * * @newin{4,10} * * @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< Widget* > property_center_widget() const; /** The widget that is placed at the end position. * * In vertical orientation, the end position is at the bottom. * In horizontal orientation, the end position is at the trailing * edge with respect to the text direction. * * @newin{4,10} * * @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< Widget* > property_end_widget() ; /** The widget that is placed at the end position. * * In vertical orientation, the end position is at the bottom. * In horizontal orientation, the end position is at the trailing * edge with respect to the text direction. * * @newin{4,10} * * @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< Widget* > property_end_widget() const; /** The position of the baseline aligned widget if extra space is available. * * Default value: Gtk::BaselinePosition::CENTER * * @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< BaselinePosition > property_baseline_position() ; /** The position of the baseline aligned widget if extra space is available. * * Default value: Gtk::BaselinePosition::CENTER * * @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< BaselinePosition > property_baseline_position() const; /** Whether to shrink the center widget after other children. * * By default, when there's no space to give all three children their * natural widths, the start and end widgets start shrinking and the * center child keeps natural width until they reach minimum width. * * If false, start and end widgets keep natural width and the * center widget starts shrinking instead. * * @newin{4,12} * * Default value: true * * @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_shrink_center_last() ; /** Whether to shrink the center widget after other children. * * By default, when there's no space to give all three children their * natural widths, the start and end widgets start shrinking and the * center child keeps natural width until they reach minimum width. * * If false, start and end widgets keep natural width and the * center widget starts shrinking instead. * * @newin{4,12} * * Default value: true * * @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_shrink_center_last() const; // There are no signals or vfuncs. public: public: //C++ methods used to invoke GTK+ virtual functions: protected: //GTK+ Virtual Functions (override these to change behaviour): //Default Signal Handlers:: }; } // 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::CenterBox */ GTKMM_API Gtk::CenterBox* wrap(GtkCenterBox* object, bool take_copy = false); } //namespace Glib #endif /* _GTKMM_CENTERBOX_H */