// -*- c++ -*-
//  Generated by gtkmmproc from ./../tipsquery.gen_h -- DO NOT MODIFY!
#include <gtk--/tipsquery.h>
#include <gtk--/private/tipsquery_p.h>
namespace Gtk {
Gtk::TipsQuery *wrap (GtkTipsQuery *o)
  {
    return static_cast<Gtk::TipsQuery *> (Gtk::wrap_auto ((GtkObject *) (o)));
  }
}

namespace Gtk {
TipsQuery_Class TipsQuery::tips_query_class = {0};

Object* TipsQuery_Class::wrap_new(GtkObject* o)
  {
    Object* cpp=manage(new TipsQuery((GtkTipsQuery*)(o)));
    return cpp;
  }

bool TipsQuery::isA( Object *checkcast)
  {
    return GTK_IS_TIPS_QUERY(checkcast->gtkobj());
  }

GtkType TipsQuery::get_type()
  {
    return tips_query_class.get_type();
  }

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

const char* const TipsQuery::signal_names[]={
   "start_query",
   "stop_query",
   "widget_entered",
   "widget_selected",
   0};

void TipsQuery::initialize_class()
  {

     tips_query_self=this;

  }

void TipsQuery_Class::class_init_function(GtkTipsQueryClass *klass)
  {
    CppClassParent::class_init_function((BaseClassParent*)klass);
    klass->start_query=start_query_callback;
    klass->stop_query=stop_query_callback;
    klass->widget_entered=widget_entered_callback;
    klass->widget_selected=widget_selected_callback;
  }

void TipsQuery_Class::object_init_function(GtkTipsQuery *)
  {}

}

Gtk::TipsQuery::TipsQuery()
  :     Gtk::Label((GtkLabel*)(gtk_object_new(get_type(),0)))
  {
    initialize_class();
  }

Gtk::TipsQuery::TipsQuery(GtkTipsQuery *castitem)
  :     Gtk::Label((GtkLabel*)(castitem))
  {
    initialize_class();
  }

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

void Gtk::TipsQuery::set_caller(Gtk::Widget* caller)
  {
    gtk_tips_query_set_caller(gtkobj(),(GtkWidget*)Gtk::unwrap(caller));
  }

void Gtk::TipsQuery::set_caller(Gtk::Widget& caller)
  {
    gtk_tips_query_set_caller(gtkobj(),caller.gtkobj());
  }

void Gtk::TipsQuery::set_labels(const string& label_inactive,const string& label_no_tip)
  {
    gtk_tips_query_set_labels(gtkobj(),label_inactive.c_str(),label_no_tip.c_str());
  }

void Gtk::TipsQuery_Class::start_query_callback(GtkTipsQuery* o_)
  {
    CppObjectType *obj=
      static_cast<CppObjectType *>(static_cast<Gtk::Object *>(
        gtk_object_get_data_by_id((GtkObject*)o_,Gtk::quark_)));

    if (obj)
      obj->start_query_impl();
    else
      {
        BaseClassType* base=
          static_cast<BaseClassType*>(
            gtk_type_parent_class(((GtkObject*)o_)->klass->type));
        if (base->start_query)
          (base->start_query)(o_);
      }

  }

void Gtk::TipsQuery::start_query_impl()
  {
    BaseClassType* base=
      static_cast<BaseClassType*>(
        gtk_type_parent_class(gtkobject->klass->type));
    if (base->start_query)
      (base->start_query)(gtkobj());

  }

void Gtk::TipsQuery_Class::stop_query_callback(GtkTipsQuery* o_)
  {
    CppObjectType *obj=
      static_cast<CppObjectType *>(static_cast<Gtk::Object *>(
        gtk_object_get_data_by_id((GtkObject*)o_,Gtk::quark_)));

    if (obj)
      obj->stop_query_impl();
    else
      {
        BaseClassType* base=
          static_cast<BaseClassType*>(
            gtk_type_parent_class(((GtkObject*)o_)->klass->type));
        if (base->stop_query)
          (base->stop_query)(o_);
      }

  }

void Gtk::TipsQuery::stop_query_impl()
  {
    BaseClassType* base=
      static_cast<BaseClassType*>(
        gtk_type_parent_class(gtkobject->klass->type));
    if (base->stop_query)
      (base->stop_query)(gtkobj());

  }

void Gtk::TipsQuery_Class::widget_entered_callback(GtkTipsQuery* p0,GtkWidget* p1,const gchar* p2,const gchar* p3)
  {
    CppObjectType *obj=
      static_cast<CppObjectType *>(static_cast<Gtk::Object *>(
        gtk_object_get_data_by_id((GtkObject*)p0,Gtk::quark_)));

    if (obj)
      obj->widget_entered_impl(Gtk::wrap(p1),p2,p3);
    else
      {
        BaseClassType* base=
          static_cast<BaseClassType*>(
            gtk_type_parent_class(((GtkObject*)p0)->klass->type));
        if (base->widget_entered)
          (base->widget_entered)(p0,p1,p2,p3);
      }

  }

void Gtk::TipsQuery::widget_entered_impl(Gtk::Widget* p0,const gchar* p1,const gchar* p2)
  {
    BaseClassType* base=
      static_cast<BaseClassType*>(
        gtk_type_parent_class(gtkobject->klass->type));
    if (base->widget_entered)
      (base->widget_entered)(gtkobj(),(GtkWidget*)Gtk::unwrap(p0),p1,p2);

  }

gint Gtk::TipsQuery_Class::widget_selected_callback(GtkTipsQuery* p0,GtkWidget* p1,const gchar* p2,const gchar* p3,GdkEventButton* p4)
  {
    CppObjectType *obj=
      static_cast<CppObjectType *>(static_cast<Gtk::Object *>(
        gtk_object_get_data_by_id((GtkObject*)p0,Gtk::quark_)));

    if (obj)
      return obj->widget_selected_impl(Gtk::wrap(p1),p2,p3,p4);
    else
      {
        BaseClassType* base=
          static_cast<BaseClassType*>(
            gtk_type_parent_class(((GtkObject*)p0)->klass->type));
        if (base->widget_selected)
          return (base->widget_selected)(p0,p1,p2,p3,p4);
        gtkmm_set_ignore();
      }
    return 0;

  }

gint Gtk::TipsQuery::widget_selected_impl(Gtk::Widget* p0,const gchar* p1,const gchar* p2,GdkEventButton* p3)
  {
    BaseClassType* base=
      static_cast<BaseClassType*>(
        gtk_type_parent_class(gtkobject->klass->type));
    if (base->widget_selected)
      return (base->widget_selected)(gtkobj(),(GtkWidget*)Gtk::unwrap(p0),p1,p2,p3);
    gtkmm_set_ignore();
    return 0;

  }
