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

/* $Id: viewport.h,v 1.2 2003/06/17 16:37:41 pbd Exp $ */

/* viewport.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/gtkviewport.h>

namespace Gtk {
class Viewport;
class Viewport_Class;
}
namespace Gtk { Gtk::Viewport *wrap (GtkViewport *o); }
extern "C" void gtk_viewport_set_scroll_adjustments(GtkViewport*,GtkAdjustment* p1,GtkAdjustment* p2);
namespace Gtk
{
class Adjustment;

class Viewport : public Bin {

public:
  typedef Viewport          CppObjectType;
  typedef Viewport_Class    CppClassType;
  typedef GtkViewport           BaseObjectType;
  typedef GtkViewportClass      BaseClassType;

private:
  friend class Viewport_Class;
  static CppClassType viewport_class;

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

protected:
  void   initialize_class();
  explicit Viewport(GtkViewport *castitem);

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

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

  virtual ~Viewport();

private:

public:





  Viewport();
  Viewport( Adjustment &hadjustment,
	        Adjustment &vadjustment);

  Gtk::Adjustment* get_hadjustment() const;

  Gtk::Adjustment* get_vadjustment() const;




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


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


  void set_hadjustment(Gtk::Adjustment& adjustment);


  void set_vadjustment(Gtk::Adjustment& adjustment);


  GtkShadowType get_shadow_type() const;

  void set_shadow_type(GtkShadowType type);

public:

    class Proxy_set_scroll_adjustments
      : public Gtk::EmitProxySignal2<void,GtkAdjustment*,GtkAdjustment*,CppObjectType,BaseObjectType,0,&gtk_viewport_set_scroll_adjustments>
      {
          typedef Gtk::EmitProxySignal2<void,GtkAdjustment*,GtkAdjustment*,CppObjectType,BaseObjectType,0,&gtk_viewport_set_scroll_adjustments> BaseType;
        public:
          void operator ()(Gtk::Adjustment*,Gtk::Adjustment*);
          void emit(Gtk::Adjustment*,Gtk::Adjustment*);
          Connection connect(const SigC::Slot2<void,Gtk::Adjustment*,Gtk::Adjustment*> &s);
      };
  union
    {
      CppObjectType * viewport_self;
      Proxy_set_scroll_adjustments set_scroll_adjustments;
    };

protected:
  // impl functions
    virtual void set_scroll_adjustments_impl(Gtk::Adjustment* p0,Gtk::Adjustment* p1);

};

}


//+ PROPERTIES(Gtk_ViewPort)
//. name: shadow_type
//. type: GtkShadowType
//. get:
//. set:
//. desc:

//. name: view_window
//. type: GdkWindow*
//. get:
//. set:
//. desc:

//. name: bin_window
//. type: GdkWindow*
//. get:
//. set:
//. desc:

//. name: hadjustment
//. type: GtkAdjustment*
//. get:
//. set:
//. desc:

//. name: vadjustment
//. type: GtkAdjustment*
//. get:
//. set:
//. desc:

#endif
