// This file has been generated by Py++.

#include "boost/python.hpp"
#include "generators/include/python_CEGUI.h"
#include "EventAction.pypp.hpp"

namespace bp = boost::python;

struct EventAction_wrapper : CEGUI::EventAction, bp::wrapper< CEGUI::EventAction > {

    EventAction_wrapper(CEGUI::EventAction const & arg )
    : CEGUI::EventAction( arg )
      , bp::wrapper< CEGUI::EventAction >(){
        // copy constructor
        
    }

    EventAction_wrapper(::CEGUI::String const & event_name, ::CEGUI::ChildEventAction action )
    : CEGUI::EventAction( boost::ref(event_name), action )
      , bp::wrapper< CEGUI::EventAction >(){
        // constructor
    
    }

    ::CEGUI::String makeConnectionKeyName( ::CEGUI::Window const & widget ) const {
        return CEGUI::EventAction::makeConnectionKeyName( boost::ref(widget) );
    }

};

void register_EventAction_class(){

    { //::CEGUI::EventAction
        typedef bp::class_< EventAction_wrapper > EventAction_exposer_t;
        EventAction_exposer_t EventAction_exposer = EventAction_exposer_t( "EventAction", bp::init< CEGUI::String const &, CEGUI::ChildEventAction >(( bp::arg("event_name"), bp::arg("action") )) );
        bp::scope EventAction_scope( EventAction_exposer );
        { //::CEGUI::EventAction::cleanupWidget
        
            typedef void ( ::CEGUI::EventAction::*cleanupWidget_function_type )( ::CEGUI::Window & ) const;
            
            EventAction_exposer.def( 
                "cleanupWidget"
                , cleanupWidget_function_type( &::CEGUI::EventAction::cleanupWidget )
                , ( bp::arg("widget") ) );
        
        }
        { //::CEGUI::EventAction::getAction
        
            typedef ::CEGUI::ChildEventAction ( ::CEGUI::EventAction::*getAction_function_type )(  ) const;
            
            EventAction_exposer.def( 
                "getAction"
                , getAction_function_type( &::CEGUI::EventAction::getAction ) );
        
        }
        { //::CEGUI::EventAction::getEventName
        
            typedef ::CEGUI::String const & ( ::CEGUI::EventAction::*getEventName_function_type )(  ) const;
            
            EventAction_exposer.def( 
                "getEventName"
                , getEventName_function_type( &::CEGUI::EventAction::getEventName )
                , bp::return_value_policy< bp::copy_const_reference >() );
        
        }
        { //::CEGUI::EventAction::initialiseWidget
        
            typedef void ( ::CEGUI::EventAction::*initialiseWidget_function_type )( ::CEGUI::Window & ) const;
            
            EventAction_exposer.def( 
                "initialiseWidget"
                , initialiseWidget_function_type( &::CEGUI::EventAction::initialiseWidget )
                , ( bp::arg("widget") ) );
        
        }
        { //::CEGUI::EventAction::makeConnectionKeyName
        
            typedef ::CEGUI::String ( EventAction_wrapper::*makeConnectionKeyName_function_type )( ::CEGUI::Window const & ) const;
            
            EventAction_exposer.def( 
                "makeConnectionKeyName"
                , makeConnectionKeyName_function_type( &EventAction_wrapper::makeConnectionKeyName )
                , ( bp::arg("widget") ) );
        
        }
        { //::CEGUI::EventAction::setAction
        
            typedef void ( ::CEGUI::EventAction::*setAction_function_type )( ::CEGUI::ChildEventAction ) ;
            
            EventAction_exposer.def( 
                "setAction"
                , setAction_function_type( &::CEGUI::EventAction::setAction )
                , ( bp::arg("action") ) );
        
        }
        { //::CEGUI::EventAction::setEventName
        
            typedef void ( ::CEGUI::EventAction::*setEventName_function_type )( ::CEGUI::String const & ) ;
            
            EventAction_exposer.def( 
                "setEventName"
                , setEventName_function_type( &::CEGUI::EventAction::setEventName )
                , ( bp::arg("event_name") ) );
        
        }
        { //::CEGUI::EventAction::writeXMLToStream
        
            typedef void ( ::CEGUI::EventAction::*writeXMLToStream_function_type )( ::CEGUI::XMLSerializer & ) const;
            
            EventAction_exposer.def( 
                "writeXMLToStream"
                , writeXMLToStream_function_type( &::CEGUI::EventAction::writeXMLToStream )
                , ( bp::arg("xml_stream") ) );
        
        }
    }

}
