// -*- c++ -*-
/*  Generated by gensig from spinbutton.gen_h. DO NOT MODIFY!!! */
#ifndef GTKMM_SPINBUTTON_HEADER
#define GTKMM_SPINBUTTON_HEADER
/* $Id: spinbutton.gen_h,v 1.31.2.2 1999/03/20 05:00:06 terop Exp $ */

/* spinbutton.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--/entry.h>
#include <gtk--/adjustment.h>
#include <gtk/gtkspinbutton.h>


class Gtk_SpinButton_Class;
#line 27 "spinbutton.gen_h"

//: numeric Entry with up/down buttons
class Gtk_SpinButton : public Gtk_Entry
{
 
public:
protected:
  typedef Gtk_SpinButton_Class    CppClassType;
  typedef GtkSpinButton           BaseObjectType;
  typedef GtkSpinButtonClass      BaseClassType;

  virtual void *get_parent_class();

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

public:

  
  //: create instance
  // adjustment: see <A HREF="Gtk_Adjustment.html">Gtk_Adjustment</A> <br>
  // climb_rate: <br>
  // digits: number of decimal digits (has to be > 6)
  Gtk_SpinButton(gfloat climb_rate=0, gint digits=0);
  Gtk_SpinButton(Gtk_Adjustment &adjustment,
		 gfloat climb_rate=0, gint digits=0);
  Gtk_SpinButton(GtkSpinButton *castitem);
  ~Gtk_SpinButton() {}

  //: set a new range/value
  void set_adjustment(const Gtk_Adjustment &adjustment);
  //: get range/value
  const Gtk_Adjustment* get_adjustment() const;

  //: set number of decimals
  void set_digits           (gint digits);

  //: get value
  gfloat get_value_as_float () const; 

  //: get value
  gint get_value_as_int     () const;

  //: set value
  void set_value            (gfloat value);
  // one of GTK_UPDATE_ALWAYS, GTK_UPDATE_IF_VALID, GTK_UPDATE_SNAP_TO_TICKS
  void set_update_policy    (GtkSpinButtonUpdatePolicy policy);

  void set_wrap             (bool wrap);
  void set_numeric          (bool numeric);

#line 68 "spinbutton.gen_h"
  void spin                 (GtkSpinType direction,
			     gfloat step);
  void set_shadow_type      (GtkShadowType   shadow_type);
  void set_snap_to_ticks    (bool snap_to_ticks);

#line 78 "spinbutton.gen_h"

protected:
  /* impl functions */
public:
  GtkSpinButton* gtkobj() { return GTK_SPIN_BUTTON(gtkobject); }
  const GtkSpinButton* gtkobj() const { return GTK_SPIN_BUTTON(gtkobject); }
  static bool isGtkSpinButton(Gtk_Object *checkcast);
#line 79 "spinbutton.gen_h"


protected:
  Gtk_ObjectHandle<Gtk_Adjustment> adjustment_;
};


#endif
