// -*- c++ -*-
/*  Generated by gensig from combo.gen_h. DO NOT MODIFY!!! */
#ifndef GTKMM_COMBO_HEADER
#define GTKMM_COMBO_HEADER
/* $Id: combo.gen_h,v 1.28.2.2 1999/05/01 18:02:20 terop Exp $ */

/* combo.h
 * 
 * Copyright (C) 1998-1999 
 *
 * 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 02139, USA.
 */

#include <gtk--/box.h>
#include <gtk--/entry.h>
#include <gtk--/button.h>
#include <gtk--/scrolledwindow.h>
#include <gtk--/window.h>
#include <gtk--/list.h>
#include <gtk--/item.h>
#include <gtk/gtkcombo.h>
class Gtk_Combo_Class;
#line 30 "combo.gen_h"


typedef G_List<char> G_List_string;

class Gtk_Combo : public Gtk_HBox
{
public:
protected:
  typedef Gtk_Combo_Class    CppClassType;
  typedef GtkCombo           BaseObjectType;
  typedef GtkComboClass      BaseClassType;

  virtual void *get_parent_class();

private:
  friend CppClassType;
  static CppClassType combo_class; 
  GtkType get_type(); 

public:



  Gtk_Combo();
  Gtk_Combo(GtkCombo *castitem);

  //: whether the text in the entry must be or not be in the list
  void set_value_in_list(bool val, bool ok_if_empty);
  //: set/unset arrows working for changing the value (can be annoying
  void set_use_arrows(bool val); 
  //: up/down arrows change value if current value not in list
  void set_use_arrows_always(bool val);
  //: perform case-sensitive compares
  void set_case_sensitive(bool val);
  // call this function on an item if it isn't a label or you
  // want it to have a different value to be displayed in the entry
  void set_item_string(Gtk_Item* item, const _gtk_string &item_value);
  // simple interface (quote from gtk/gtkcombo.h)
  void set_popdown_strings(GList *strings);
  void set_popdown_strings(const G_List_string &strings);
  void disable_activate();
  
  Gtk_Entry*          get_entry()  { return &entry_; }
  Gtk_Button*         get_button() { return &button_; }
  Gtk_ScrolledWindow* get_popup()  { return &popup_; }
  Gtk_Window*         get_popwin() { return &popwin_; }
  Gtk_List*           get_list()   { return &list_; }

  const Gtk_Entry*          get_entry()  const { return &entry_; }
  const Gtk_Button*         get_button() const { return &button_; }
  const Gtk_ScrolledWindow* get_popup()  const { return &popup_; }
  const Gtk_Window*         get_popwin() const { return &popwin_; }
  const Gtk_List*           get_list()   const { return &list_; }

protected:
  /* impl functions */
public:
  GtkCombo* gtkobj() { return GTK_COMBO(gtkobject); }
  const GtkCombo* gtkobj() const { return GTK_COMBO(gtkobject); }
  static bool isGtkCombo(Gtk_Object *checkcast);
#line 71 "combo.gen_h"


protected:
  Gtk_Entry entry_;
  Gtk_Button button_;
  Gtk_ScrolledWindow popup_;
  Gtk_Window popwin_;
  Gtk_List list_;
};


#endif
