2005-05-13 16:47:18 -04:00
// -*- c++ -*-
// Generated by gtkmmproc -- DO NOT MODIFY!
# ifndef _GTKMM_RADIOBUTTON_H
# define _GTKMM_RADIOBUTTON_H
2007-11-12 18:44:49 -05:00
2005-05-13 16:47:18 -04:00
# include <glibmm.h>
/* $Id$ */
/* radiobutton.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 0213 9 , USA .
*/
# include <gtkmm/checkbutton.h>
# include <gtkmm/radiobuttongroup.h>
# ifndef DOXYGEN_SHOULD_SKIP_THIS
typedef struct _GtkRadioButton GtkRadioButton ;
typedef struct _GtkRadioButtonClass GtkRadioButtonClass ;
# endif /* DOXYGEN_SHOULD_SKIP_THIS */
namespace Gtk
{ class RadioButton_Class ; } // namespace Gtk
namespace Gtk
{
/** A single radio button performs the same basic function as a Gtk::CheckButton, as its position in the object hierarchy reflects. It is only when multiple radio buttons are grouped together that they become a different user interface component in their own right.
* Every radio button is a member of some group of radio buttons . When one is selected , all other radio buttons in the same group are deselected . A Gtk : : RadioButton gives the user a choice from many options .
* After constructing the first RadioButton in a group , use get_group ( ) and provide this Group to the constructors ot the other RadioButtons in the same group .
* To remove a Gtk : : RadioButton from one group and make it part of a new one , use set_group ( ) .
*
* @ ingroup Widgets
*/
class RadioButton : public CheckButton
{
public :
# ifndef DOXYGEN_SHOULD_SKIP_THIS
typedef RadioButton CppObjectType ;
typedef RadioButton_Class CppClassType ;
typedef GtkRadioButton BaseObjectType ;
typedef GtkRadioButtonClass BaseClassType ;
# endif /* DOXYGEN_SHOULD_SKIP_THIS */
virtual ~ RadioButton ( ) ;
# ifndef DOXYGEN_SHOULD_SKIP_THIS
private :
friend class RadioButton_Class ;
static CppClassType radiobutton_class_ ;
// noncopyable
RadioButton ( const RadioButton & ) ;
RadioButton & operator = ( const RadioButton & ) ;
protected :
explicit RadioButton ( const Glib : : ConstructParams & construct_params ) ;
explicit RadioButton ( GtkRadioButton * 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.
GtkRadioButton * gobj ( ) { return reinterpret_cast < GtkRadioButton * > ( gobject_ ) ; }
///Provides access to the underlying C GtkObject.
const GtkRadioButton * gobj ( ) const { return reinterpret_cast < GtkRadioButton * > ( gobject_ ) ; }
public :
//C++ methods used to invoke GTK+ virtual functions:
2007-11-12 18:44:49 -05:00
# ifdef GLIBMM_VFUNCS_ENABLED
# endif //GLIBMM_VFUNCS_ENABLED
2005-05-13 16:47:18 -04:00
protected :
//GTK+ Virtual Functions (override these to change behaviour):
2007-11-12 18:44:49 -05:00
# ifdef GLIBMM_VFUNCS_ENABLED
# endif //GLIBMM_VFUNCS_ENABLED
2005-05-13 16:47:18 -04:00
//Default Signal Handlers::
2007-11-12 18:44:49 -05:00
# ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
2005-05-13 16:47:18 -04:00
virtual void on_group_changed ( ) ;
2007-11-12 18:44:49 -05:00
# endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
2005-05-13 16:47:18 -04:00
private :
public :
typedef RadioButtonGroup Group ;
RadioButton ( ) ;
explicit RadioButton ( const Glib : : ustring & label , bool mnemonic = false ) ;
/** Create an empty RadioButton belonging to the specified group,
* into which you can add ( ) a widget .
* If you wish to add a Gtk : : Label ,
* you may want to
* use the Gtk : : RadioButton ( const Group & group , const Glib : : ustring & label , bool mnemonic )
* constructor directly instead .
*/
explicit RadioButton ( Group & group ) ;
/** Create a button belonging to the specified group, with a label inside.
* You won ' t be able to add a widget to this button
* since it already contains a Gtk : : Label .
*/
RadioButton ( Group & group , const Glib : : ustring & label , bool mnemonic = false ) ;
2007-11-12 18:44:49 -05:00
/** Get the radio button's group.
* This group may be passed to the constructors of other radio buttons , or used with set_group ( ) .
*
* @ result The group to which the radio button belongs .
*/
2005-05-13 16:47:18 -04:00
Group get_group ( ) ;
2007-11-12 18:44:49 -05:00
/** Set the radio button's group.
* You can obtain a suitable group from another radio button by using get_group ( ) .
*
* @ result The group to which the radio button should belong .
*/
2005-05-13 16:47:18 -04:00
void set_group ( Group & group ) ;
2007-11-12 18:44:49 -05:00
/** Remove the radio button from the group.
*/
2005-05-13 16:47:18 -04:00
void reset_group ( ) ;
2007-11-12 18:44:49 -05:00
/**
* @ par Prototype :
* < tt > void % group_changed ( ) < / tt >
*/
2005-05-13 16:47:18 -04:00
Glib : : SignalProxy0 < void > signal_group_changed ( ) ;
} ;
} /* namespace Gtk */
namespace Glib
{
/** @relates Gtk::RadioButton
* @ 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 : : RadioButton * wrap ( GtkRadioButton * object , bool take_copy = false ) ;
2007-11-12 18:44:49 -05:00
} //namespace Glib
2005-05-13 16:47:18 -04:00
# endif /* _GTKMM_RADIOBUTTON_H */