// -*- c++ -*-
//  Generated by gtkmmproc from ./../radiobutton.gen_h -- DO NOT MODIFY!
#include <gtk--/radiobutton.h>
#include <gtk--/private/radiobutton_p.h>

typedef Gtk::RadioButton::Group Group;
namespace Gtk
{

RadioButton::RadioButton()
  :     CheckButton((GtkCheckButton*)(gtk_object_new(get_type(),0)))
{
  initialize_class();
  set_group(0);
}

RadioButton::RadioButton(const string &label, gfloat xalign, gfloat yalign)
  :  CheckButton((GtkCheckButton*)(gtk_object_new(get_type(),0)))
{
  initialize_class();
  set_group(0);
  add_label(label);
}

RadioButton::RadioButton(Group& groupx)
  :     CheckButton((GtkCheckButton*)(gtk_object_new(get_type(),0)))
{
  initialize_class();
  groupx.add(*this);
}

RadioButton::RadioButton(Group& groupx, const string &label, gfloat xalign, gfloat yalign)
  :  CheckButton((GtkCheckButton*)(gtk_object_new(get_type(),0)))
{
  initialize_class();
  groupx.add(*this);
  add_label(label,xalign,yalign);
}

void
RadioButton_Helpers::Group::add(RadioButton& item)
{
  item.set_group(*this);
  group_=item.gtkobj()->group;
}

}

namespace Gtk {
Gtk::RadioButton *wrap (GtkRadioButton *o)
  {
    return static_cast<Gtk::RadioButton *> (Gtk::wrap_auto ((GtkObject *) (o)));
  }
}

namespace Gtk {
RadioButton_Class RadioButton::radio_button_class = {0};

Object* RadioButton_Class::wrap_new(GtkObject* o)
  {
    Object* cpp=manage(new RadioButton((GtkRadioButton*)(o)));
    return cpp;
  }

bool RadioButton::isA( Object *checkcast)
  {
    return GTK_IS_RADIO_BUTTON(checkcast->gtkobj());
  }

GtkType RadioButton::get_type()
  {
    return radio_button_class.get_type();
  }

GtkType RadioButton_Class::get_type()
  {
    if (!type)
      {
        CppClassParent::CppObjectType::get_type();
        GtkTypeInfo info =
          {
            "Gtk__RadioButton",
            sizeof(BaseObjectType),
            sizeof(BaseClassType),
            (GtkClassInitFunc) class_init_function,
            (GtkObjectInitFunc) object_init_function,
            /* reserved_1 */ NULL,
            /* reserved_2 */ NULL,
            /*base_class_init_func */ (GtkClassInitFunc) NULL
          };
        type=gtk_type_unique(gtk_radio_button_get_type(), &info);
      }
    return type;
  }

const char* const RadioButton::signal_names[]={
   0};

void RadioButton::initialize_class()
  {

  }

void RadioButton_Class::class_init_function(GtkRadioButtonClass *klass)
  {
    CppClassParent::class_init_function((BaseClassParent*)klass);
  }

void RadioButton_Class::object_init_function(GtkRadioButton *)
  {}

}

Gtk::RadioButton::RadioButton(GtkRadioButton *castitem)
  :     Gtk::CheckButton((GtkCheckButton*)(castitem))
  {
    initialize_class();
  }

Gtk::RadioButton::~RadioButton() { destroy_(); }

Group Gtk::RadioButton::group()
  {
    return gtk_radio_button_group(gtkobj());
  }

void Gtk::RadioButton::set_group(Group p0)
  {
    gtk_radio_button_set_group(gtkobj(),p0);
  }
