// -*- c++ -*-
//  Generated by gtkmmproc from ./../ruler.gen_h -- DO NOT MODIFY!
#include <gtk--/ruler.h>
#include <gtk--/private/ruler_p.h>
namespace Gtk
{

GtkMetricType Ruler::get_metric() const
{
  GtkMetricType t=GTK_PIXELS;
  if (!strcmp(gtkobj()->metric->abbrev,"In")) t=GTK_INCHES;
  if (!strcmp(gtkobj()->metric->abbrev,"Cn")) t=GTK_CENTIMETERS;
  return t;
}

}

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

namespace Gtk {
Ruler_Class Ruler::ruler_class = {0};

Object* Ruler_Class::wrap_new(GtkObject* o)
  {
    Object* cpp=manage(new Ruler((GtkRuler*)(o)));
    return cpp;
  }

bool Ruler::isA( Object *checkcast)
  {
    return GTK_IS_RULER(checkcast->gtkobj());
  }

GtkType Ruler::get_type()
  {
    return ruler_class.get_type();
  }

GtkType Ruler_Class::get_type()
  {
    if (!type)
      {
        CppClassParent::CppObjectType::get_type();
        GtkTypeInfo info =
          {
            "Gtk__Ruler",
            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_ruler_get_type(), &info);
      }
    return type;
  }

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

void Ruler::initialize_class()
  {

  }

void Ruler_Class::class_init_function(GtkRulerClass *klass)
  {
    CppClassParent::class_init_function((BaseClassParent*)klass);
  }

void Ruler_Class::object_init_function(GtkRuler *)
  {}

}

Gtk::Ruler::Ruler(GtkRuler *castitem)
  :     Gtk::Widget((GtkWidget*)(castitem))
  {
    initialize_class();
  }

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

void Gtk::Ruler::set_metric(GtkMetricType metric)
  {
    gtk_ruler_set_metric(gtkobj(),metric);
  }

void Gtk::Ruler::set_range(gfloat lower,gfloat upper,gfloat position,gfloat max_size)
  {
    gtk_ruler_set_range(gtkobj(),lower,upper,position,max_size);
  }

void Gtk::Ruler::draw_ticks()
  {
    gtk_ruler_draw_ticks(gtkobj());
  }

void Gtk::Ruler::draw_pos()
  {
    gtk_ruler_draw_pos(gtkobj());
  }

Gtk::Ruler::Ruler()
  :     Gtk::Widget((GtkWidget*)(gtk_object_new(get_type(),0)))
  {
    initialize_class();
  }

gfloat Gtk::Ruler::get_range_lower() const
  { return gtkobj()->lower; }

gfloat Gtk::Ruler::get_range_upper() const
  { return gtkobj()->upper; }


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

namespace Gtk {
VRuler_Class VRuler::vruler_class = {0};

Object* VRuler_Class::wrap_new(GtkObject* o)
  {
    Object* cpp=manage(new VRuler((GtkVRuler*)(o)));
    return cpp;
  }

bool VRuler::isA( Object *checkcast)
  {
    return GTK_IS_VRULER(checkcast->gtkobj());
  }

GtkType VRuler::get_type()
  {
    return vruler_class.get_type();
  }

GtkType VRuler_Class::get_type()
  {
    if (!type)
      {
        CppClassParent::CppObjectType::get_type();
        GtkTypeInfo info =
          {
            "Gtk__VRuler",
            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_vruler_get_type(), &info);
      }
    return type;
  }

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

void VRuler::initialize_class()
  {

  }

void VRuler_Class::class_init_function(GtkVRulerClass *klass)
  {
    CppClassParent::class_init_function((BaseClassParent*)klass);
  }

void VRuler_Class::object_init_function(GtkVRuler *)
  {}

}

Gtk::VRuler::VRuler()
  :     Gtk::Ruler((GtkRuler*)(gtk_object_new(get_type(),0)))
  {
    initialize_class();
  }

Gtk::VRuler::VRuler(GtkVRuler *castitem)
  :     Gtk::Ruler((GtkRuler*)(castitem))
  {
    initialize_class();
  }

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


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

namespace Gtk {
HRuler_Class HRuler::hruler_class = {0};

Object* HRuler_Class::wrap_new(GtkObject* o)
  {
    Object* cpp=manage(new HRuler((GtkHRuler*)(o)));
    return cpp;
  }

bool HRuler::isA( Object *checkcast)
  {
    return GTK_IS_HRULER(checkcast->gtkobj());
  }

GtkType HRuler::get_type()
  {
    return hruler_class.get_type();
  }

GtkType HRuler_Class::get_type()
  {
    if (!type)
      {
        CppClassParent::CppObjectType::get_type();
        GtkTypeInfo info =
          {
            "Gtk__HRuler",
            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_hruler_get_type(), &info);
      }
    return type;
  }

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

void HRuler::initialize_class()
  {

  }

void HRuler_Class::class_init_function(GtkHRulerClass *klass)
  {
    CppClassParent::class_init_function((BaseClassParent*)klass);
  }

void HRuler_Class::object_init_function(GtkHRuler *)
  {}

}

Gtk::HRuler::HRuler()
  :     Gtk::Ruler((GtkRuler*)(gtk_object_new(get_type(),0)))
  {
    initialize_class();
  }

Gtk::HRuler::HRuler(GtkHRuler *castitem)
  :     Gtk::Ruler((GtkRuler*)(castitem))
  {
    initialize_class();
  }

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