// -*- c++ -*-
//  Generated by gtkmmproc from ./../calculator.gen_h -- DO NOT MODIFY!
#ifndef _GNOMEMM_CALCULATOR_H
#define _GNOMEMM_CALCULATOR_H

/* $Id: calculator.gen_h,v 1.7 2000/05/06 21:15:56 kenelson Exp $ */


/* calculator.gen_h
 *
 * Copyright (C) 1998-1999
 *
 * Copyright (C) 1999 The Gtk-- 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 <gtk--/box.h>
#include <libgnomeui/gnome-calculator.h>

namespace Gnome {
class Calculator;
class Calculator_Class;
}
namespace Gtk { Gnome::Calculator *wrap (GnomeCalculator *o); }
namespace Gnome
{

class Calculator : public Gtk::VBox
{

public:
  typedef Calculator          CppObjectType;
  typedef Calculator_Class    CppClassType;
  typedef GnomeCalculator           BaseObjectType;
  typedef GnomeCalculatorClass      BaseClassType;

private:
  friend class Calculator_Class;
  static CppClassType calculator_class;

  Calculator(const Calculator&);
  Calculator& operator=(const Calculator&); // not implemented

protected:
  void   initialize_class();
  explicit Calculator(GnomeCalculator *castitem);

public:
  static GtkType get_type();
  GnomeCalculator* gtkobj()             { return (GnomeCalculator*)(gtkobject); }
  const GnomeCalculator* gtkobj() const { return (GnomeCalculator*)(gtkobject); }
  static bool isA(Gtk::Object *checkcast);

  // Hook for proxies
  static const char* const signal_names[];

  virtual ~Calculator();

private:

public:
  Calculator();



  //: Clear value.
  //- default is to reset all values not just last entered.

  void clear(bool reset=true);

  //: Set the value shown on the calculator.

  void set(gdouble result=0.0);

  //: Return the current result.
  gdouble get_result() const;

  //: Signal indicating change entered.

public:

  union
    {
      CppObjectType * calculator_self;
      Gtk::ProxySignal1<void,gdouble,CppObjectType,BaseObjectType,0> result_changed;
    };

protected:
  // impl functions
    virtual void result_changed_impl(gdouble p0);

};



}


#endif
