// -*- c++ -*-
//  Generated by gtkmmproc from ./../combo.gen_h -- DO NOT MODIFY!
#include <gtk--/combo.h>
#include <gtk--/private/combo_p.h>
#include <gtk--/listitem.h>
namespace Gtk
{

void
Combo::set_popdown_strings(const SArray& strings)
{
  List* item_list=get_list();
  const char** str=strings;
  int i,size=strings.size();
  ListItem *item;

  item_list->clear_items(0,-1);
  for (i=0;i<size;i++)
     {
      item=manage(new ListItem(str[i]));
      item->show();
      item_list->add(*item);
     }
}

}

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

namespace Gtk {
Combo_Class Combo::combo_class = {0};

Object* Combo_Class::wrap_new(GtkObject* o)
  {
    Object* cpp=manage(new Combo((GtkCombo*)(o)));
    return cpp;
  }

bool Combo::isA( Object *checkcast)
  {
    return GTK_IS_COMBO(checkcast->gtkobj());
  }

GtkType Combo::get_type()
  {
    return combo_class.get_type();
  }

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

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

void Combo::initialize_class()
  {

  }

void Combo_Class::class_init_function(GtkComboClass *klass)
  {
    CppClassParent::class_init_function((BaseClassParent*)klass);
  }

void Combo_Class::object_init_function(GtkCombo *)
  {}

}

Gtk::Combo::Combo(GtkCombo *castitem)
  :     Gtk::HBox((GtkHBox*)(castitem))
  {
    initialize_class();
  }

Gtk::Combo::Combo()
  :     Gtk::HBox((GtkHBox*)(gtk_object_new(get_type(),0)))
  {
    initialize_class();
  }

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

void Gtk::Combo::set_value_in_list(bool value,bool empty)
  {
    gtk_combo_set_value_in_list(gtkobj(),(gint)value,(gint)empty);
  }

void Gtk::Combo::set_use_arrows(bool arrows_on)
  {
    gtk_combo_set_use_arrows(gtkobj(),(gint)arrows_on);
  }

void Gtk::Combo::set_use_arrows_always(bool arrows_always)
  {
    gtk_combo_set_use_arrows_always(gtkobj(),(gint)arrows_always);
  }

void Gtk::Combo::set_case_sensitive(bool val)
  {
    gtk_combo_set_case_sensitive(gtkobj(),(gint)val);
  }

void Gtk::Combo::set_item_string(Gtk::Item& item,const nstring& item_value)
  {
    gtk_combo_set_item_string(gtkobj(),item.gtkobj(),item_value.gc_str());
  }

void Gtk::Combo::disable_activate()
  {
    gtk_combo_disable_activate(gtkobj());
  }

bool Gtk::Combo::get_value_in_list() const
  { return gtkobj()->value_in_list; }

bool Gtk::Combo::get_ok_if_empty() const
  { return gtkobj()->ok_if_empty; }

bool Gtk::Combo::get_use_arrows() const
  { return gtkobj()->use_arrows; }

bool Gtk::Combo::get_use_arrows_always() const
  { return gtkobj()->use_arrows_always; }

bool Gtk::Combo::get_case_sensitive() const
  { return gtkobj()->case_sensitive; }

Gtk::Entry* Gtk::Combo::get_entry() const
  { return Gtk::wrap((GtkEntry*)(gtkobj()->entry)); }

Gtk::Button* Gtk::Combo::get_button() const
  { return Gtk::wrap((GtkButton*)(gtkobj()->button)); }

Gtk::ScrolledWindow* Gtk::Combo::get_popup() const
  { return Gtk::wrap((GtkScrolledWindow*)(gtkobj()->popup)); }

Gtk::Window* Gtk::Combo::get_popwin() const
  { return Gtk::wrap((GtkWindow*)(gtkobj()->popwin)); }

Gtk::List* Gtk::Combo::get_list() const
  { return Gtk::wrap((GtkList*)(gtkobj()->list)); }
