/* $Id: optionmenu.hg,v 1.6 2006/04/12 11:11:25 murrayc Exp $ */

/* optionmenu.h
 * 
 * Copyright (C) 1998-2002 The gtkmm Development Team
 *
 * 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 <gtkmm/button.h>
_DEFS(gtkmm,gtk)
_PINCLUDE(gtkmm/private/button_p.h)

namespace Gtk
{

class Menu;

/** A widget used to choose from a list of valid choices.
 *
 * A Gtk::OptionMenu is a widget that allows the user to choose from a list
 * of valid choices. The Gtk::OptionMenu displays the selected choice. When
 * activated the GtkOptionMenu displays a popup Gtk::Menu which allows the
 * user to make a new choice. 
 *
 * @deprecated Use the ComboBox widget instead.
 */
class OptionMenu : public Button
{
  _CLASS_GTKOBJECT(OptionMenu,GtkOptionMenu,GTK_OPTION_MENU,Gtk::Button,GtkButton)
  _IS_DEPRECATED
public:

  OptionMenu();
  _CUSTOM_DTOR()
  
  _WRAP_METHOD(void set_menu(Menu& menu), gtk_option_menu_set_menu)
  _WRAP_METHOD(Menu* get_menu(), gtk_option_menu_get_menu)
  _WRAP_METHOD(const Menu* get_menu() const, gtk_option_menu_get_menu, constversion)
  _WRAP_METHOD(void remove_menu(), gtk_option_menu_remove_menu)
  _WRAP_METHOD(int get_history() const, gtk_option_menu_get_history)
  _WRAP_METHOD(void set_history(guint index), gtk_option_menu_set_history)

  _WRAP_SIGNAL(void changed(), "changed")	

private:
  void init_accels_handler_();
};

} /* namespace Gtk */

