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

/* $Id: scrollbar.gen_h,v 1.38 2001/07/15 13:33:38 murrayc Exp $ */

/* scrollbar.h
 *
 * Copyright (C) 1998-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--/range.h>
#include <gtk/gtkscrollbar.h>
#include <gtk/gtkhscrollbar.h>
#include <gtk/gtkvscrollbar.h>

namespace Gtk {
class Scrollbar;
class Scrollbar_Class;
}
namespace Gtk { Gtk::Scrollbar *wrap (GtkScrollbar *o); }
namespace Gtk {
class VScrollbar;
class VScrollbar_Class;
}
namespace Gtk { Gtk::VScrollbar *wrap (GtkVScrollbar *o); }
namespace Gtk {
class HScrollbar;
class HScrollbar_Class;
}
namespace Gtk { Gtk::HScrollbar *wrap (GtkHScrollbar *o); }
namespace Gtk
{

//: Base class for {Gtk::HScrollbar::} and {Gtk::VScrollbar::}.
//- The {\class Gtk::Scrollbar} widget is an abstract base class for {Gtk::HScrollbar::}
//- and {Gtk::VScrollbar::}. It is not very useful in itself.
class Scrollbar : public Range {

public:
  typedef Scrollbar          CppObjectType;
  typedef Scrollbar_Class    CppClassType;
  typedef GtkScrollbar           BaseObjectType;
  typedef GtkScrollbarClass      BaseClassType;

private:
  friend class Scrollbar_Class;
  static CppClassType scrollbar_class;

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

protected:
  void   initialize_class();
  explicit Scrollbar(GtkScrollbar *castitem);

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

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

  virtual ~Scrollbar();

private:

public:

protected:
  Scrollbar();

public:

protected:
  // impl functions

};

//: A vertical scrollbar.
//- The {\class Gtk::VScrollbar} widget is a widget arranged vertically creating a scroll bar.
//- See {Gtk::Scrollbar::} for details on scrollbars. {Gtk::Adjustment::}
//- pointers may be added to handle the adjustment of the scrollbars or it may be
//- left NULL in which case one will be created you. See {Gtk::Adjustment::} for details.
class VScrollbar : public Scrollbar {

public:
  typedef VScrollbar          CppObjectType;
  typedef VScrollbar_Class    CppClassType;
  typedef GtkVScrollbar           BaseObjectType;
  typedef GtkVScrollbarClass      BaseClassType;

private:
  friend class VScrollbar_Class;
  static CppClassType vscrollbar_class;

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

protected:
  void   initialize_class();
  explicit VScrollbar(GtkVScrollbar *castitem);

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

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

  virtual ~VScrollbar();

private:

public:
  explicit VScrollbar( Adjustment &gtkadjustment);
  VScrollbar();

public:

protected:
  // impl functions

};


//: A horizontal scrollbar.
//- The {\class Gtk::HScrollbar} widget is a widget arranged horizontally creating a scroll bar.
//- See {Gtk::Scrollbar::} for details on scrollbars. {Gtk::Adjustment::}
//- pointers may be added to handle the adjustment of the scrollbars or it may be
//- left NULL in which case one will be created you. See {Gtk::Adjustment::} for details.
class HScrollbar : public Scrollbar {

public:
  typedef HScrollbar          CppObjectType;
  typedef HScrollbar_Class    CppClassType;
  typedef GtkHScrollbar           BaseObjectType;
  typedef GtkHScrollbarClass      BaseClassType;

private:
  friend class HScrollbar_Class;
  static CppClassType hscrollbar_class;

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

protected:
  void   initialize_class();
  explicit HScrollbar(GtkHScrollbar *castitem);

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

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

  virtual ~HScrollbar();

private:

public:
  explicit HScrollbar( Adjustment &gtkadjustment);
  HScrollbar();

public:

protected:
  // impl functions

};


}


#endif
