/* This is a generated file do not edit.  Generated from gtk--sigslot.h.m4 */
#ifndef GTKMM_SIGSLOT
#define GTKMM_SIGSLOT

#include <gtk--sigcommon.h>
#include <gtk--sigconn.h>
























    
    












 
/*** Slot template for 0 ***/
template <class T> 
  class  Slot0  : public Connection_impl 
  {private: 
     T* obj; 
     void (T::*method)();  
     
   public:
     Slot0(T* obj_,void (T::*method_)() ) 
       : obj(obj_), method(method_)   {}	
     void call() 
       { (obj->*method)();
       }
     static void callback(GtkWidget* ,
         Slot0 <T>* s) 
       { (s->call()); 
       }
  }; 


/*** Slot template for 0,cbdata ***/
template <class T,class E> 
  class  Slot0cb  : public Connection_impl 
  {private: 
     T* obj; 
     void (T::*method)(E);  
     E cbdata;
   public:
     Slot0cb(T* obj_,void (T::*method_)(E) ,E e) 
       : obj(obj_), method(method_) ,cbdata(e)  {}	
     void call() 
       { (obj->*method)(cbdata);
       }
     static void callback(GtkWidget* ,
         Slot0cb <T,E>* s) 
       { (s->call()); 
       }
  }; 


/*** Slot template for 0,return type ***/
template <class rettype,class T> 
  class  Slot0_r  : public Connection_impl 
  {private: 
     T* obj; 
     rettype (T::*method)();  
     
   public:
     Slot0_r(T* obj_,rettype (T::*method_)() ) 
       : obj(obj_), method(method_)   {}	
     rettype call() 
       {return (obj->*method)();
       }
     static rettype callback(GtkWidget* ,
         Slot0_r <rettype,T>* s) 
       {return GTKMM_PROXY_RV_HACK (s->call()); 
       }
  }; 


/*** Slot template for 0,cbdata,return type ***/
template <class rettype,class T,class E> 
  class  Slot0cb_r  : public Connection_impl 
  {private: 
     T* obj; 
     rettype (T::*method)(E);  
     E cbdata;
   public:
     Slot0cb_r(T* obj_,rettype (T::*method_)(E) ,E e) 
       : obj(obj_), method(method_) ,cbdata(e)  {}	
     rettype call() 
       {return (obj->*method)(cbdata);
       }
     static rettype callback(GtkWidget* ,
         Slot0cb_r <rettype,T,E>* s) 
       {return GTKMM_PROXY_RV_HACK (s->call()); 
       }
  }; 



 
/*** Slot template for 1 ***/
template <class T,class P1> 
  class  Slot1  : public Connection_impl 
  {private: 
     T* obj; 
     void (T::*method)(P1);  
     
   public:
     Slot1(T* obj_,void (T::*method_)(P1) ) 
       : obj(obj_), method(method_)   {}	
     void call(P1 p1) 
       { (obj->*method)(p1);
       }
     static void callback(GtkWidget* ,P1 p1,
         Slot1 <T,P1>* s) 
       { (s->call(p1)); 
       }
  }; 


/*** Slot template for 1,cbdata ***/
template <class T,class P1,class E> 
  class  Slot1cb  : public Connection_impl 
  {private: 
     T* obj; 
     void (T::*method)(P1,E);  
     E cbdata;
   public:
     Slot1cb(T* obj_,void (T::*method_)(P1,E) ,E e) 
       : obj(obj_), method(method_) ,cbdata(e)  {}	
     void call(P1 p1) 
       { (obj->*method)(p1,cbdata);
       }
     static void callback(GtkWidget* ,P1 p1,
         Slot1cb <T,P1,E>* s) 
       { (s->call(p1)); 
       }
  }; 


/*** Slot template for 1,return type ***/
template <class rettype,class T,class P1> 
  class  Slot1_r  : public Connection_impl 
  {private: 
     T* obj; 
     rettype (T::*method)(P1);  
     
   public:
     Slot1_r(T* obj_,rettype (T::*method_)(P1) ) 
       : obj(obj_), method(method_)   {}	
     rettype call(P1 p1) 
       {return (obj->*method)(p1);
       }
     static rettype callback(GtkWidget* ,P1 p1,
         Slot1_r <rettype,T,P1>* s) 
       {return GTKMM_PROXY_RV_HACK (s->call(p1)); 
       }
  }; 


/*** Slot template for 1,cbdata,return type ***/
template <class rettype,class T,class P1,class E> 
  class  Slot1cb_r  : public Connection_impl 
  {private: 
     T* obj; 
     rettype (T::*method)(P1,E);  
     E cbdata;
   public:
     Slot1cb_r(T* obj_,rettype (T::*method_)(P1,E) ,E e) 
       : obj(obj_), method(method_) ,cbdata(e)  {}	
     rettype call(P1 p1) 
       {return (obj->*method)(p1,cbdata);
       }
     static rettype callback(GtkWidget* ,P1 p1,
         Slot1cb_r <rettype,T,P1,E>* s) 
       {return GTKMM_PROXY_RV_HACK (s->call(p1)); 
       }
  }; 



 
/*** Slot template for 2 ***/
template <class T,class P1,class P2> 
  class  Slot2  : public Connection_impl 
  {private: 
     T* obj; 
     void (T::*method)(P1,P2);  
     
   public:
     Slot2(T* obj_,void (T::*method_)(P1,P2) ) 
       : obj(obj_), method(method_)   {}	
     void call(P1 p1,P2 p2) 
       { (obj->*method)(p1,p2);
       }
     static void callback(GtkWidget* ,P1 p1,P2 p2,
         Slot2 <T,P1,P2>* s) 
       { (s->call(p1,p2)); 
       }
  }; 


/*** Slot template for 2,cbdata ***/
template <class T,class P1,class P2,class E> 
  class  Slot2cb  : public Connection_impl 
  {private: 
     T* obj; 
     void (T::*method)(P1,P2,E);  
     E cbdata;
   public:
     Slot2cb(T* obj_,void (T::*method_)(P1,P2,E) ,E e) 
       : obj(obj_), method(method_) ,cbdata(e)  {}	
     void call(P1 p1,P2 p2) 
       { (obj->*method)(p1,p2,cbdata);
       }
     static void callback(GtkWidget* ,P1 p1,P2 p2,
         Slot2cb <T,P1,P2,E>* s) 
       { (s->call(p1,p2)); 
       }
  }; 


/*** Slot template for 2,return type ***/
template <class rettype,class T,class P1,class P2> 
  class  Slot2_r  : public Connection_impl 
  {private: 
     T* obj; 
     rettype (T::*method)(P1,P2);  
     
   public:
     Slot2_r(T* obj_,rettype (T::*method_)(P1,P2) ) 
       : obj(obj_), method(method_)   {}	
     rettype call(P1 p1,P2 p2) 
       {return (obj->*method)(p1,p2);
       }
     static rettype callback(GtkWidget* ,P1 p1,P2 p2,
         Slot2_r <rettype,T,P1,P2>* s) 
       {return GTKMM_PROXY_RV_HACK (s->call(p1,p2)); 
       }
  }; 


/*** Slot template for 2,cbdata,return type ***/
template <class rettype,class T,class P1,class P2,class E> 
  class  Slot2cb_r  : public Connection_impl 
  {private: 
     T* obj; 
     rettype (T::*method)(P1,P2,E);  
     E cbdata;
   public:
     Slot2cb_r(T* obj_,rettype (T::*method_)(P1,P2,E) ,E e) 
       : obj(obj_), method(method_) ,cbdata(e)  {}	
     rettype call(P1 p1,P2 p2) 
       {return (obj->*method)(p1,p2,cbdata);
       }
     static rettype callback(GtkWidget* ,P1 p1,P2 p2,
         Slot2cb_r <rettype,T,P1,P2,E>* s) 
       {return GTKMM_PROXY_RV_HACK (s->call(p1,p2)); 
       }
  }; 



 
/*** Slot template for 3 ***/
template <class T,class P1,class P2,class P3> 
  class  Slot3  : public Connection_impl 
  {private: 
     T* obj; 
     void (T::*method)(P1,P2,P3);  
     
   public:
     Slot3(T* obj_,void (T::*method_)(P1,P2,P3) ) 
       : obj(obj_), method(method_)   {}	
     void call(P1 p1,P2 p2,P3 p3) 
       { (obj->*method)(p1,p2,p3);
       }
     static void callback(GtkWidget* ,P1 p1,P2 p2,P3 p3,
         Slot3 <T,P1,P2,P3>* s) 
       { (s->call(p1,p2,p3)); 
       }
  }; 


/*** Slot template for 3,cbdata ***/
template <class T,class P1,class P2,class P3,class E> 
  class  Slot3cb  : public Connection_impl 
  {private: 
     T* obj; 
     void (T::*method)(P1,P2,P3,E);  
     E cbdata;
   public:
     Slot3cb(T* obj_,void (T::*method_)(P1,P2,P3,E) ,E e) 
       : obj(obj_), method(method_) ,cbdata(e)  {}	
     void call(P1 p1,P2 p2,P3 p3) 
       { (obj->*method)(p1,p2,p3,cbdata);
       }
     static void callback(GtkWidget* ,P1 p1,P2 p2,P3 p3,
         Slot3cb <T,P1,P2,P3,E>* s) 
       { (s->call(p1,p2,p3)); 
       }
  }; 


/*** Slot template for 3,return type ***/
template <class rettype,class T,class P1,class P2,class P3> 
  class  Slot3_r  : public Connection_impl 
  {private: 
     T* obj; 
     rettype (T::*method)(P1,P2,P3);  
     
   public:
     Slot3_r(T* obj_,rettype (T::*method_)(P1,P2,P3) ) 
       : obj(obj_), method(method_)   {}	
     rettype call(P1 p1,P2 p2,P3 p3) 
       {return (obj->*method)(p1,p2,p3);
       }
     static rettype callback(GtkWidget* ,P1 p1,P2 p2,P3 p3,
         Slot3_r <rettype,T,P1,P2,P3>* s) 
       {return GTKMM_PROXY_RV_HACK (s->call(p1,p2,p3)); 
       }
  }; 


/*** Slot template for 3,cbdata,return type ***/
template <class rettype,class T,class P1,class P2,class P3,class E> 
  class  Slot3cb_r  : public Connection_impl 
  {private: 
     T* obj; 
     rettype (T::*method)(P1,P2,P3,E);  
     E cbdata;
   public:
     Slot3cb_r(T* obj_,rettype (T::*method_)(P1,P2,P3,E) ,E e) 
       : obj(obj_), method(method_) ,cbdata(e)  {}	
     rettype call(P1 p1,P2 p2,P3 p3) 
       {return (obj->*method)(p1,p2,p3,cbdata);
       }
     static rettype callback(GtkWidget* ,P1 p1,P2 p2,P3 p3,
         Slot3cb_r <rettype,T,P1,P2,P3,E>* s) 
       {return GTKMM_PROXY_RV_HACK (s->call(p1,p2,p3)); 
       }
  }; 



 
/*** Slot template for 4 ***/
template <class T,class P1,class P2,class P3,class P4> 
  class  Slot4  : public Connection_impl 
  {private: 
     T* obj; 
     void (T::*method)(P1,P2,P3,P4);  
     
   public:
     Slot4(T* obj_,void (T::*method_)(P1,P2,P3,P4) ) 
       : obj(obj_), method(method_)   {}	
     void call(P1 p1,P2 p2,P3 p3,P4 p4) 
       { (obj->*method)(p1,p2,p3,p4);
       }
     static void callback(GtkWidget* ,P1 p1,P2 p2,P3 p3,P4 p4,
         Slot4 <T,P1,P2,P3,P4>* s) 
       { (s->call(p1,p2,p3,p4)); 
       }
  }; 


/*** Slot template for 4,cbdata ***/
template <class T,class P1,class P2,class P3,class P4,class E> 
  class  Slot4cb  : public Connection_impl 
  {private: 
     T* obj; 
     void (T::*method)(P1,P2,P3,P4,E);  
     E cbdata;
   public:
     Slot4cb(T* obj_,void (T::*method_)(P1,P2,P3,P4,E) ,E e) 
       : obj(obj_), method(method_) ,cbdata(e)  {}	
     void call(P1 p1,P2 p2,P3 p3,P4 p4) 
       { (obj->*method)(p1,p2,p3,p4,cbdata);
       }
     static void callback(GtkWidget* ,P1 p1,P2 p2,P3 p3,P4 p4,
         Slot4cb <T,P1,P2,P3,P4,E>* s) 
       { (s->call(p1,p2,p3,p4)); 
       }
  }; 


/*** Slot template for 4,return type ***/
template <class rettype,class T,class P1,class P2,class P3,class P4> 
  class  Slot4_r  : public Connection_impl 
  {private: 
     T* obj; 
     rettype (T::*method)(P1,P2,P3,P4);  
     
   public:
     Slot4_r(T* obj_,rettype (T::*method_)(P1,P2,P3,P4) ) 
       : obj(obj_), method(method_)   {}	
     rettype call(P1 p1,P2 p2,P3 p3,P4 p4) 
       {return (obj->*method)(p1,p2,p3,p4);
       }
     static rettype callback(GtkWidget* ,P1 p1,P2 p2,P3 p3,P4 p4,
         Slot4_r <rettype,T,P1,P2,P3,P4>* s) 
       {return GTKMM_PROXY_RV_HACK (s->call(p1,p2,p3,p4)); 
       }
  }; 


/*** Slot template for 4,cbdata,return type ***/
template <class rettype,class T,class P1,class P2,class P3,class P4,class E> 
  class  Slot4cb_r  : public Connection_impl 
  {private: 
     T* obj; 
     rettype (T::*method)(P1,P2,P3,P4,E);  
     E cbdata;
   public:
     Slot4cb_r(T* obj_,rettype (T::*method_)(P1,P2,P3,P4,E) ,E e) 
       : obj(obj_), method(method_) ,cbdata(e)  {}	
     rettype call(P1 p1,P2 p2,P3 p3,P4 p4) 
       {return (obj->*method)(p1,p2,p3,p4,cbdata);
       }
     static rettype callback(GtkWidget* ,P1 p1,P2 p2,P3 p3,P4 p4,
         Slot4cb_r <rettype,T,P1,P2,P3,P4,E>* s) 
       {return GTKMM_PROXY_RV_HACK (s->call(p1,p2,p3,p4)); 
       }
  }; 



 
/*** Slot template for 5 ***/
template <class T,class P1,class P2,class P3,class P4,class P5> 
  class  Slot5  : public Connection_impl 
  {private: 
     T* obj; 
     void (T::*method)(P1,P2,P3,P4,P5);  
     
   public:
     Slot5(T* obj_,void (T::*method_)(P1,P2,P3,P4,P5) ) 
       : obj(obj_), method(method_)   {}	
     void call(P1 p1,P2 p2,P3 p3,P4 p4,P5 p5) 
       { (obj->*method)(p1,p2,p3,p4,p5);
       }
     static void callback(GtkWidget* ,P1 p1,P2 p2,P3 p3,P4 p4,P5 p5,
         Slot5 <T,P1,P2,P3,P4,P5>* s) 
       { (s->call(p1,p2,p3,p4,p5)); 
       }
  }; 


/*** Slot template for 5,cbdata ***/
template <class T,class P1,class P2,class P3,class P4,class P5,class E> 
  class  Slot5cb  : public Connection_impl 
  {private: 
     T* obj; 
     void (T::*method)(P1,P2,P3,P4,P5,E);  
     E cbdata;
   public:
     Slot5cb(T* obj_,void (T::*method_)(P1,P2,P3,P4,P5,E) ,E e) 
       : obj(obj_), method(method_) ,cbdata(e)  {}	
     void call(P1 p1,P2 p2,P3 p3,P4 p4,P5 p5) 
       { (obj->*method)(p1,p2,p3,p4,p5,cbdata);
       }
     static void callback(GtkWidget* ,P1 p1,P2 p2,P3 p3,P4 p4,P5 p5,
         Slot5cb <T,P1,P2,P3,P4,P5,E>* s) 
       { (s->call(p1,p2,p3,p4,p5)); 
       }
  }; 


/*** Slot template for 5,return type ***/
template <class rettype,class T,class P1,class P2,class P3,class P4,class P5> 
  class  Slot5_r  : public Connection_impl 
  {private: 
     T* obj; 
     rettype (T::*method)(P1,P2,P3,P4,P5);  
     
   public:
     Slot5_r(T* obj_,rettype (T::*method_)(P1,P2,P3,P4,P5) ) 
       : obj(obj_), method(method_)   {}	
     rettype call(P1 p1,P2 p2,P3 p3,P4 p4,P5 p5) 
       {return (obj->*method)(p1,p2,p3,p4,p5);
       }
     static rettype callback(GtkWidget* ,P1 p1,P2 p2,P3 p3,P4 p4,P5 p5,
         Slot5_r <rettype,T,P1,P2,P3,P4,P5>* s) 
       {return GTKMM_PROXY_RV_HACK (s->call(p1,p2,p3,p4,p5)); 
       }
  }; 


/*** Slot template for 5,cbdata,return type ***/
template <class rettype,class T,class P1,class P2,class P3,class P4,class P5,class E> 
  class  Slot5cb_r  : public Connection_impl 
  {private: 
     T* obj; 
     rettype (T::*method)(P1,P2,P3,P4,P5,E);  
     E cbdata;
   public:
     Slot5cb_r(T* obj_,rettype (T::*method_)(P1,P2,P3,P4,P5,E) ,E e) 
       : obj(obj_), method(method_) ,cbdata(e)  {}	
     rettype call(P1 p1,P2 p2,P3 p3,P4 p4,P5 p5) 
       {return (obj->*method)(p1,p2,p3,p4,p5,cbdata);
       }
     static rettype callback(GtkWidget* ,P1 p1,P2 p2,P3 p3,P4 p4,P5 p5,
         Slot5cb_r <rettype,T,P1,P2,P3,P4,P5,E>* s) 
       {return GTKMM_PROXY_RV_HACK (s->call(p1,p2,p3,p4,p5)); 
       }
  }; 



 
/*** Slot template for 6 ***/
template <class T,class P1,class P2,class P3,class P4,class P5,class P6> 
  class  Slot6  : public Connection_impl 
  {private: 
     T* obj; 
     void (T::*method)(P1,P2,P3,P4,P5,P6);  
     
   public:
     Slot6(T* obj_,void (T::*method_)(P1,P2,P3,P4,P5,P6) ) 
       : obj(obj_), method(method_)   {}	
     void call(P1 p1,P2 p2,P3 p3,P4 p4,P5 p5,P6 p6) 
       { (obj->*method)(p1,p2,p3,p4,p5,p6);
       }
     static void callback(GtkWidget* ,P1 p1,P2 p2,P3 p3,P4 p4,P5 p5,P6 p6,
         Slot6 <T,P1,P2,P3,P4,P5,P6>* s) 
       { (s->call(p1,p2,p3,p4,p5,p6)); 
       }
  }; 


/*** Slot template for 6,cbdata ***/
template <class T,class P1,class P2,class P3,class P4,class P5,class P6,class E> 
  class  Slot6cb  : public Connection_impl 
  {private: 
     T* obj; 
     void (T::*method)(P1,P2,P3,P4,P5,P6,E);  
     E cbdata;
   public:
     Slot6cb(T* obj_,void (T::*method_)(P1,P2,P3,P4,P5,P6,E) ,E e) 
       : obj(obj_), method(method_) ,cbdata(e)  {}	
     void call(P1 p1,P2 p2,P3 p3,P4 p4,P5 p5,P6 p6) 
       { (obj->*method)(p1,p2,p3,p4,p5,p6,cbdata);
       }
     static void callback(GtkWidget* ,P1 p1,P2 p2,P3 p3,P4 p4,P5 p5,P6 p6,
         Slot6cb <T,P1,P2,P3,P4,P5,P6,E>* s) 
       { (s->call(p1,p2,p3,p4,p5,p6)); 
       }
  }; 


/*** Slot template for 6,return type ***/
template <class rettype,class T,class P1,class P2,class P3,class P4,class P5,class P6> 
  class  Slot6_r  : public Connection_impl 
  {private: 
     T* obj; 
     rettype (T::*method)(P1,P2,P3,P4,P5,P6);  
     
   public:
     Slot6_r(T* obj_,rettype (T::*method_)(P1,P2,P3,P4,P5,P6) ) 
       : obj(obj_), method(method_)   {}	
     rettype call(P1 p1,P2 p2,P3 p3,P4 p4,P5 p5,P6 p6) 
       {return (obj->*method)(p1,p2,p3,p4,p5,p6);
       }
     static rettype callback(GtkWidget* ,P1 p1,P2 p2,P3 p3,P4 p4,P5 p5,P6 p6,
         Slot6_r <rettype,T,P1,P2,P3,P4,P5,P6>* s) 
       {return GTKMM_PROXY_RV_HACK (s->call(p1,p2,p3,p4,p5,p6)); 
       }
  }; 


/*** Slot template for 6,cbdata,return type ***/
template <class rettype,class T,class P1,class P2,class P3,class P4,class P5,class P6,class E> 
  class  Slot6cb_r  : public Connection_impl 
  {private: 
     T* obj; 
     rettype (T::*method)(P1,P2,P3,P4,P5,P6,E);  
     E cbdata;
   public:
     Slot6cb_r(T* obj_,rettype (T::*method_)(P1,P2,P3,P4,P5,P6,E) ,E e) 
       : obj(obj_), method(method_) ,cbdata(e)  {}	
     rettype call(P1 p1,P2 p2,P3 p3,P4 p4,P5 p5,P6 p6) 
       {return (obj->*method)(p1,p2,p3,p4,p5,p6,cbdata);
       }
     static rettype callback(GtkWidget* ,P1 p1,P2 p2,P3 p3,P4 p4,P5 p5,P6 p6,
         Slot6cb_r <rettype,T,P1,P2,P3,P4,P5,P6,E>* s) 
       {return GTKMM_PROXY_RV_HACK (s->call(p1,p2,p3,p4,p5,p6)); 
       }
  }; 




#endif
