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

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

namespace Gtk {
OptionMenu_Class OptionMenu::option_menu_class = {0};

Object* OptionMenu_Class::wrap_new(GtkObject* o)
  {
    Object* cpp=manage(new OptionMenu((GtkOptionMenu*)(o)));
    return cpp;
  }

bool OptionMenu::isA( Object *checkcast)
  {
    return GTK_IS_OPTION_MENU(checkcast->gtkobj());
  }

GtkType OptionMenu::get_type()
  {
    return option_menu_class.get_type();
  }

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

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

void OptionMenu::initialize_class()
  {

  }

void OptionMenu_Class::class_init_function(GtkOptionMenuClass *klass)
  {
    CppClassParent::class_init_function((BaseClassParent*)klass);
  }

void OptionMenu_Class::object_init_function(GtkOptionMenu *)
  {}

}

Gtk::OptionMenu::OptionMenu(GtkOptionMenu *castitem)
  :     Gtk::Button((GtkButton*)(castitem))
  {
    initialize_class();
  }

Gtk::OptionMenu::OptionMenu()
  :     Gtk::Button((GtkButton*)(gtk_object_new(get_type(),0)))
  {
    initialize_class();
  }

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

void Gtk::OptionMenu::set_menu(Gtk::Menu& menu)
  {
    gtk_option_menu_set_menu(gtkobj(),menu.Widget::gtkobj());
  }

void Gtk::OptionMenu::set_menu(Gtk::Menu* menu)
  {
    gtk_option_menu_set_menu(gtkobj(),(GtkWidget*)unwrap(menu));
  }

void Gtk::OptionMenu::remove_menu()
  {
    gtk_option_menu_remove_menu(gtkobj());
  }

void Gtk::OptionMenu::set_history(guint index)
  {
    gtk_option_menu_set_history(gtkobj(),index);
  }

Gtk::Menu* Gtk::OptionMenu::get_menu() const
  { return Gtk::wrap((GtkMenu*)(gtkobj()->menu)); }
