// -*- c++ -*-
//  Generated by gtkmmproc from ./../scrolledwindow.gen_h -- DO NOT MODIFY!
#include <gtk--/scrolledwindow.h>
#include <gtk--/private/scrolledwindow_p.h>
#include <gtk--/scrollbar.h>
#include <gtk--/viewport.h>
#include <gtk--/adjustment.h>
namespace Gtk
{

ScrolledWindow::ScrolledWindow()
  :     Bin((GtkBin*)(gtk_object_new(get_type(),0)))
{
  initialize_class();
  gtk_scrolled_window_set_hadjustment (gtkobj(), 0);
  gtk_scrolled_window_set_vadjustment (gtkobj(), 0);
  gtk_object_default_construct (gtkobject);
}

ScrolledWindow::ScrolledWindow(Adjustment &gtkhadjustment,
				       Adjustment &gtkvadjustment)
  :     Bin((GtkBin*)(gtk_object_new(get_type(),0)))
{
  initialize_class();
  gtk_scrolled_window_set_hadjustment(gtkobj(), gtkhadjustment.gtkobj());
  gtk_scrolled_window_set_vadjustment(gtkobj(), gtkvadjustment.gtkobj());
  gtk_object_default_construct(gtkobject);
}

}

namespace Gtk {
Gtk::ScrolledWindow *wrap (GtkScrolledWindow *o)
  {
    return static_cast<Gtk::ScrolledWindow *> (Gtk::wrap_auto ((GtkObject *) (o)));
  }
}

namespace Gtk {
ScrolledWindow_Class ScrolledWindow::scrolled_window_class = {0};

Object* ScrolledWindow_Class::wrap_new(GtkObject* o)
  {
    Object* cpp=manage(new ScrolledWindow((GtkScrolledWindow*)(o)));
    return cpp;
  }

bool ScrolledWindow::isA( Object *checkcast)
  {
    return GTK_IS_SCROLLED_WINDOW(checkcast->gtkobj());
  }

GtkType ScrolledWindow::get_type()
  {
    return scrolled_window_class.get_type();
  }

GtkType ScrolledWindow_Class::get_type()
  {
    if (!type)
      {
        CppClassParent::CppObjectType::get_type();
        GtkTypeInfo info =
          {
            "Gtk__ScrolledWindow",
            sizeof(BaseObjectType),
            sizeof(BaseClassType),
            (GtkClassInitFunc) class_init_function,
            (GtkObjectInitFunc) object_init_function,
            /* reserved_1 */ NULL,
            /* reserved_2 */ NULL,
            /*base_class_init_func */ (GtkClassInitFunc) NULL
          };
        type=gtk_type_unique(gtk_scrolled_window_get_type(), &info);
      }
    return type;
  }

const char* const ScrolledWindow::signal_names[]={
   0};

void ScrolledWindow::initialize_class()
  {

  }

void ScrolledWindow_Class::class_init_function(GtkScrolledWindowClass *klass)
  {
    CppClassParent::class_init_function((BaseClassParent*)klass);
  }

void ScrolledWindow_Class::object_init_function(GtkScrolledWindow *)
  {}

}

Gtk::ScrolledWindow::ScrolledWindow(GtkScrolledWindow *castitem)
  :     Gtk::Bin((GtkBin*)(castitem))
  {
    initialize_class();
  }

Gtk::ScrolledWindow::~ScrolledWindow() { destroy_(); }

void Gtk::ScrolledWindow::set_hadjustment(Gtk::Adjustment* hadjustment)
  {
    gtk_scrolled_window_set_hadjustment(gtkobj(),(GtkAdjustment*)Gtk::unwrap(hadjustment));
  }

void Gtk::ScrolledWindow::set_vadjustment(Gtk::Adjustment* vadjustment)
  {
    gtk_scrolled_window_set_vadjustment(gtkobj(),(GtkAdjustment*)Gtk::unwrap(vadjustment));
  }

void Gtk::ScrolledWindow::set_hadjustment(Gtk::Adjustment& hadjustment)
  {
    gtk_scrolled_window_set_hadjustment(gtkobj(),hadjustment.gtkobj());
  }

void Gtk::ScrolledWindow::set_vadjustment(Gtk::Adjustment& vadjustment)
  {
    gtk_scrolled_window_set_vadjustment(gtkobj(),vadjustment.gtkobj());
  }

Gtk::Adjustment* Gtk::ScrolledWindow::get_hadjustment() const
  {
    return Gtk::wrap(gtk_scrolled_window_get_hadjustment(const_cast<GtkScrolledWindow*>(gtkobj())));
  }

Gtk::Adjustment* Gtk::ScrolledWindow::get_vadjustment() const
  {
    return Gtk::wrap(gtk_scrolled_window_get_vadjustment(const_cast<GtkScrolledWindow*>(gtkobj())));
  }

void Gtk::ScrolledWindow::set_policy(GtkPolicyType hscrollbar_policy,GtkPolicyType vscrollbar_policy)
  {
    gtk_scrolled_window_set_policy(gtkobj(),hscrollbar_policy,vscrollbar_policy);
  }

void Gtk::ScrolledWindow::set_placement(GtkCornerType window_placement)
  {
    gtk_scrolled_window_set_placement(gtkobj(),window_placement);
  }

void Gtk::ScrolledWindow::add_with_viewport(Gtk::Widget& child)
  {
    gtk_scrolled_window_add_with_viewport(gtkobj(),child.gtkobj());
  }

GtkPolicyType Gtk::ScrolledWindow::get_hscrollbar_policy() const
  { return (GtkPolicyType)gtkobj()->hscrollbar_policy; }

GtkPolicyType Gtk::ScrolledWindow::get_vscrollbar_policy() const
  { return (GtkPolicyType)gtkobj()->vscrollbar_policy; }

GtkCornerType Gtk::ScrolledWindow::get_placement() const
  { return (GtkCornerType)gtkobj()->window_placement; }

bool Gtk::ScrolledWindow::get_vscrollbar_visible() const
  { return gtkobj()->hscrollbar_visible; }

bool Gtk::ScrolledWindow::get_hscrollbar_visible() const
  { return gtkobj()->vscrollbar_visible; }

Gtk::HScrollbar* Gtk::ScrolledWindow::get_hscrollbar() const
  { return Gtk::wrap((GtkHScrollbar*)(gtkobj()->hscrollbar)); }

Gtk::VScrollbar* Gtk::ScrolledWindow::get_vscrollbar() const
  { return Gtk::wrap((GtkVScrollbar*)(gtkobj()->vscrollbar)); }
