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

/* $Id: scrolledwindow.gen_h,v 1.61 2000/02/13 02:22:09 kenelson Exp $ */

/* scrolledwindow.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--/bin.h>
#include <gtk/gtkscrolledwindow.h>

namespace Gtk {
class ScrolledWindow;
class ScrolledWindow_Class;
}
namespace Gtk { Gtk::ScrolledWindow *wrap (GtkScrolledWindow *o); }
namespace Gtk
{
class Adjustement;
class HScrollbar;
class VScrollbar;

class ScrolledWindow : public Bin {

public:
  typedef ScrolledWindow          CppObjectType;
  typedef ScrolledWindow_Class    CppClassType;
  typedef GtkScrolledWindow           BaseObjectType;
  typedef GtkScrolledWindowClass      BaseClassType;

private:
  friend class ScrolledWindow_Class;
  static CppClassType scrolled_window_class;

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

protected:
  void   initialize_class();
  explicit ScrolledWindow(GtkScrolledWindow *castitem);

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

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

  virtual ~ScrolledWindow();

private:

public:

  //: Little restriction over gtk+ here : you have to specify either
  //  both adjustements or none at all.
  ScrolledWindow(Adjustment &hadjustment,
		     Adjustment &vadjustment);
  ScrolledWindow();





  void set_hadjustment(Gtk::Adjustment* hadjustment=0);



  void set_vadjustment(Gtk::Adjustment* vadjustment=0);



  void set_hadjustment(Gtk::Adjustment& hadjustment);



  void set_vadjustment(Gtk::Adjustment& vadjustment);

  // These adjustments are not members.


  Gtk::Adjustment* get_hadjustment() const;



  Gtk::Adjustment* get_vadjustment() const;


  GtkPolicyType get_hscrollbar_policy() const;

  GtkPolicyType get_vscrollbar_policy() const;

  void set_policy(GtkPolicyType hscrollbar_policy,GtkPolicyType vscrollbar_policy);


  GtkCornerType get_placement() const;

  void set_placement(GtkCornerType window_placement);



  void add_with_viewport(Gtk::Widget& child);


  bool get_vscrollbar_visible() const;

  bool get_hscrollbar_visible() const;

  Gtk::HScrollbar* get_hscrollbar() const;

  Gtk::VScrollbar* get_vscrollbar() const;

public:

protected:
  // impl functions

};

}


//+ PROPERTIES(Gtk_ScrolledWindow)
//. name: hscrollbar
//. type: Gtk_Widget*
//. get:
//. set:
//. desc:

//. name: vscrollbar
//. type: Gtk_Widget*
//. get:
//. set:
//. desc:

//. name: hscrollbar_policy
//. type: guint:2
//. get:
//. set:
//. desc:

//. name: vscrollbar_policy
//. type: guint:2
//. get:
//. set:
//. desc:

//. name: hscrollbar_visible
//. type: guint:1
//. get:
//. set:
//. desc:

//. name: vscrollbar_visible
//. type: guint:1
//. get:
//. set:
//. desc:

//. name: window_placement
//. type: guint:2
//. get:
//. set:
//. desc:

#endif
