// -*- c++ -*-
//  Generated by gtkmmproc from ./../radiomenuitem.gen_h -- DO NOT MODIFY!
#include <gtk--/radiomenuitem.h>
#include <gtk--/private/radiomenuitem_p.h>
#include <gtk--/misc.h>
#include <gtk--/label.h>

typedef Gtk::RadioMenuItem::Group Group;

namespace Gtk
{

RadioMenuItem::RadioMenuItem(Group &groupx)
  : CheckMenuItem((GtkCheckMenuItem*)(gtk_object_new(get_type(),0)))
{
  initialize_class();
  groupx.add(*this);
}

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

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

} /* namespace Gtk */

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

namespace Gtk {
RadioMenuItem_Class RadioMenuItem::radio_menu_item_class = {0};

Object* RadioMenuItem_Class::wrap_new(GtkObject* o)
  {
    Object* cpp=manage(new RadioMenuItem((GtkRadioMenuItem*)(o)));
    return cpp;
  }

bool RadioMenuItem::isA( Object *checkcast)
  {
    return GTK_IS_RADIO_MENU_ITEM(checkcast->gtkobj());
  }

GtkType RadioMenuItem::get_type()
  {
    return radio_menu_item_class.get_type();
  }

GtkType RadioMenuItem_Class::get_type()
  {
    if (!type)
      {
        CppClassParent::CppObjectType::get_type();
        GtkTypeInfo info =
          {
            "Gtk__RadioMenuItem",
            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_menu_item_get_type(), &info);
      }
    return type;
  }

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

void RadioMenuItem::initialize_class()
  {

  }

void RadioMenuItem_Class::class_init_function(GtkRadioMenuItemClass *klass)
  {
    CppClassParent::class_init_function((BaseClassParent*)klass);
  }

void RadioMenuItem_Class::object_init_function(GtkRadioMenuItem *)
  {}

}

Gtk::RadioMenuItem::RadioMenuItem(GtkRadioMenuItem *castitem)
  :     Gtk::CheckMenuItem((GtkCheckMenuItem*)(castitem))
  {
    initialize_class();
  }

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

Group Gtk::RadioMenuItem::group()
  {
    return gtk_radio_menu_item_group(gtkobj());
  }

void Gtk::RadioMenuItem::set_group(Group group)
  {
    gtk_radio_menu_item_set_group(gtkobj(),group);
  }
