2 // Generated by gtkmmproc -- DO NOT MODIFY!
3 #ifndef _GTKMM_BUTTONBOX_H
4 #define _GTKMM_BUTTONBOX_H
13 * Copyright (C) 1998-2002 The gtkmm Development Team
15 * This library is free software; you can redistribute it and/or
16 * modify it under the terms of the GNU Library General Public
17 * License as published by the Free Software Foundation; either
18 * version 2 of the License, or (at your option) any later version.
20 * This library is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
23 * Library General Public License for more details.
25 * You should have received a copy of the GNU Library General Public
26 * License along with this library; if not, write to the Free
27 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
30 #include <gtkmm/box.h>
33 #ifndef DOXYGEN_SHOULD_SKIP_THIS
34 typedef struct _GtkButtonBox GtkButtonBox;
35 typedef struct _GtkButtonBoxClass GtkButtonBoxClass;
36 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
40 { class ButtonBox_Class; } // namespace Gtk
41 #ifndef DOXYGEN_SHOULD_SKIP_THIS
42 typedef struct _GtkVButtonBox GtkVButtonBox;
43 typedef struct _GtkVButtonBoxClass GtkVButtonBoxClass;
44 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
48 { class VButtonBox_Class; } // namespace Gtk
49 #ifndef DOXYGEN_SHOULD_SKIP_THIS
50 typedef struct _GtkHButtonBox GtkHButtonBox;
51 typedef struct _GtkHButtonBoxClass GtkHButtonBoxClass;
52 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
56 { class HButtonBox_Class; } // namespace Gtk
60 // This is a #define in GTK+, and unrelated to the GtkButtonBoxStyle enum.
61 /** @ingroup gtkmmEnums */
62 enum { BUTTONBOX_DEFAULT = -1 };
65 /** Base class for Gtk::HButtonBox and Gtk::VButtonBox
67 * A button box should be used to provide a consistent layout of buttons
68 * throughout your application. There is one default layout and a default
69 * spacing value that are persistant across all ButtonBox widgets.
72 class ButtonBox : public Box
75 #ifndef DOXYGEN_SHOULD_SKIP_THIS
76 typedef ButtonBox CppObjectType;
77 typedef ButtonBox_Class CppClassType;
78 typedef GtkButtonBox BaseObjectType;
79 typedef GtkButtonBoxClass BaseClassType;
80 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
84 #ifndef DOXYGEN_SHOULD_SKIP_THIS
87 friend class ButtonBox_Class;
88 static CppClassType buttonbox_class_;
91 ButtonBox(const ButtonBox&);
92 ButtonBox& operator=(const ButtonBox&);
95 explicit ButtonBox(const Glib::ConstructParams& construct_params);
96 explicit ButtonBox(GtkButtonBox* castitem);
98 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
101 #ifndef DOXYGEN_SHOULD_SKIP_THIS
102 static GType get_type() G_GNUC_CONST;
103 static GType get_base_type() G_GNUC_CONST;
106 ///Provides access to the underlying C GtkObject.
107 GtkButtonBox* gobj() { return reinterpret_cast<GtkButtonBox*>(gobject_); }
109 ///Provides access to the underlying C GtkObject.
110 const GtkButtonBox* gobj() const { return reinterpret_cast<GtkButtonBox*>(gobject_); }
114 //C++ methods used to invoke GTK+ virtual functions:
115 #ifdef GLIBMM_VFUNCS_ENABLED
116 #endif //GLIBMM_VFUNCS_ENABLED
119 //GTK+ Virtual Functions (override these to change behaviour):
120 #ifdef GLIBMM_VFUNCS_ENABLED
121 #endif //GLIBMM_VFUNCS_ENABLED
123 //Default Signal Handlers::
124 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
125 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
133 ButtonBoxStyle get_layout() const;
135 void set_layout(ButtonBoxStyle layout_style);
138 /** Sets whether @a child should appear in a secondary group of children.
139 * A typical use of a secondary child is the help button in a dialog.
141 * This group appears after the other children if the style
142 * is Gtk::BUTTONBOX_START, Gtk::BUTTONBOX_SPREAD or
143 * Gtk::BUTTONBOX_EDGE, and before the other children if the style
144 * is Gtk::BUTTONBOX_END. For horizontal button boxes, the definition
145 * of before/after depends on direction of the widget (see
146 * Gtk::Widget::set_direction()). If the style is Gtk::BUTTONBOX_START
147 * or Gtk::BUTTONBOX_END, then the secondary children are aligned at
148 * the other end of the button box from the main children. For the
149 * other styles, they appear immediately next to the main children.
150 * @param child A child of @a widget .
151 * @param is_secondary If <tt>true</tt>, the @a child appears in a secondary group of the
154 void set_child_secondary(Widget& child, bool is_secondary = true);
156 /** Return value: whether @a child should appear in a secondary group of children.
157 * @param child A child of @a widget .
158 * @return Whether @a child should appear in a secondary group of children.
162 bool get_child_secondary(const Gtk::Widget& child) const;
164 int get_child_min_width() const;
165 void set_child_min_width(const int& value);
167 int get_child_min_height() const;
168 void set_child_min_height(const int& value);
170 int get_child_ipadding_x() const;
171 void set_child_ipadding_x(const int& value);
173 int get_child_ipadding_y() const;
174 void set_child_ipadding_y(const int& value);
176 #ifdef GLIBMM_PROPERTIES_ENABLED
177 /** How to layout the buttons in the box. Possible values are default
179 * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
180 * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
181 * the value of the property changes.
183 Glib::PropertyProxy<ButtonBoxStyle> property_layout_style() ;
184 #endif //#GLIBMM_PROPERTIES_ENABLED
186 #ifdef GLIBMM_PROPERTIES_ENABLED
187 /** How to layout the buttons in the box. Possible values are default
189 * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
190 * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
191 * the value of the property changes.
193 Glib::PropertyProxy_ReadOnly<ButtonBoxStyle> property_layout_style() const;
194 #endif //#GLIBMM_PROPERTIES_ENABLED
199 /** A container for arranging buttons vertically.
201 * A button box should be used to provide a consistent layout of buttons
202 * throughout your application. There is one default layout and a default spacing
203 * value that are persistant across all Gtk::VButtonBox widgets.
205 * The layout/spacing can then be altered by the programmer, or if desired,
206 * by the user to alter the 'feel' of a program to a small degree.
209 * @ingroup Containers
212 class VButtonBox : public ButtonBox
215 #ifndef DOXYGEN_SHOULD_SKIP_THIS
216 typedef VButtonBox CppObjectType;
217 typedef VButtonBox_Class CppClassType;
218 typedef GtkVButtonBox BaseObjectType;
219 typedef GtkVButtonBoxClass BaseClassType;
220 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
222 virtual ~VButtonBox();
224 #ifndef DOXYGEN_SHOULD_SKIP_THIS
227 friend class VButtonBox_Class;
228 static CppClassType vbuttonbox_class_;
231 VButtonBox(const VButtonBox&);
232 VButtonBox& operator=(const VButtonBox&);
235 explicit VButtonBox(const Glib::ConstructParams& construct_params);
236 explicit VButtonBox(GtkVButtonBox* castitem);
238 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
241 #ifndef DOXYGEN_SHOULD_SKIP_THIS
242 static GType get_type() G_GNUC_CONST;
243 static GType get_base_type() G_GNUC_CONST;
246 ///Provides access to the underlying C GtkObject.
247 GtkVButtonBox* gobj() { return reinterpret_cast<GtkVButtonBox*>(gobject_); }
249 ///Provides access to the underlying C GtkObject.
250 const GtkVButtonBox* gobj() const { return reinterpret_cast<GtkVButtonBox*>(gobject_); }
254 //C++ methods used to invoke GTK+ virtual functions:
255 #ifdef GLIBMM_VFUNCS_ENABLED
256 #endif //GLIBMM_VFUNCS_ENABLED
259 //GTK+ Virtual Functions (override these to change behaviour):
260 #ifdef GLIBMM_VFUNCS_ENABLED
261 #endif //GLIBMM_VFUNCS_ENABLED
263 //Default Signal Handlers::
264 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
265 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
271 explicit VButtonBox(ButtonBoxStyle layout = BUTTONBOX_DEFAULT_STYLE, int spacing = BUTTONBOX_DEFAULT);
276 /** A container for arranging buttons horizontally.
278 * A button box should be used to provide a consistent layout of buttons
279 * throughout your application. There is one default layout and a default spacing
280 * value that are persistant across all Gtk::HButtonBox widgets.
282 * The layout/spacing can then be altered by the programmer, or if desired,
283 * by the user to alter the 'feel' of a program to a small degree.
286 * @ingroup Containers
289 class HButtonBox : public ButtonBox
292 #ifndef DOXYGEN_SHOULD_SKIP_THIS
293 typedef HButtonBox CppObjectType;
294 typedef HButtonBox_Class CppClassType;
295 typedef GtkHButtonBox BaseObjectType;
296 typedef GtkHButtonBoxClass BaseClassType;
297 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
299 virtual ~HButtonBox();
301 #ifndef DOXYGEN_SHOULD_SKIP_THIS
304 friend class HButtonBox_Class;
305 static CppClassType hbuttonbox_class_;
308 HButtonBox(const HButtonBox&);
309 HButtonBox& operator=(const HButtonBox&);
312 explicit HButtonBox(const Glib::ConstructParams& construct_params);
313 explicit HButtonBox(GtkHButtonBox* castitem);
315 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
318 #ifndef DOXYGEN_SHOULD_SKIP_THIS
319 static GType get_type() G_GNUC_CONST;
320 static GType get_base_type() G_GNUC_CONST;
323 ///Provides access to the underlying C GtkObject.
324 GtkHButtonBox* gobj() { return reinterpret_cast<GtkHButtonBox*>(gobject_); }
326 ///Provides access to the underlying C GtkObject.
327 const GtkHButtonBox* gobj() const { return reinterpret_cast<GtkHButtonBox*>(gobject_); }
331 //C++ methods used to invoke GTK+ virtual functions:
332 #ifdef GLIBMM_VFUNCS_ENABLED
333 #endif //GLIBMM_VFUNCS_ENABLED
336 //GTK+ Virtual Functions (override these to change behaviour):
337 #ifdef GLIBMM_VFUNCS_ENABLED
338 #endif //GLIBMM_VFUNCS_ENABLED
340 //Default Signal Handlers::
341 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
342 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
348 explicit HButtonBox(ButtonBoxStyle layout = BUTTONBOX_DEFAULT_STYLE, int spacing = BUTTONBOX_DEFAULT);
358 /** A Glib::wrap() method for this object.
360 * @param object The C instance.
361 * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
362 * @result A C++ instance that wraps this C instance.
364 * @relates Gtk::ButtonBox
366 Gtk::ButtonBox* wrap(GtkButtonBox* object, bool take_copy = false);
372 /** A Glib::wrap() method for this object.
374 * @param object The C instance.
375 * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
376 * @result A C++ instance that wraps this C instance.
378 * @relates Gtk::VButtonBox
380 Gtk::VButtonBox* wrap(GtkVButtonBox* object, bool take_copy = false);
386 /** A Glib::wrap() method for this object.
388 * @param object The C instance.
389 * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
390 * @result A C++ instance that wraps this C instance.
392 * @relates Gtk::HButtonBox
394 Gtk::HButtonBox* wrap(GtkHButtonBox* object, bool take_copy = false);
398 #endif /* _GTKMM_BUTTONBOX_H */