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

#include "boost/python.hpp"
#include "python_CEGUI.h"
#include "WindowEventArgs.pypp.hpp"

namespace bp = boost::python;

struct WindowEventArgs_wrapper : CEGUI::WindowEventArgs, bp::wrapper< CEGUI::WindowEventArgs > {

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

    WindowEventArgs_wrapper(::CEGUI::Window * wnd )
    : CEGUI::WindowEventArgs( boost::python::ptr(wnd) )
      , bp::wrapper< CEGUI::WindowEventArgs >(){
        // constructor
    
    }

    static ::CEGUI::Window * get_window(CEGUI::WindowEventArgs const & inst ){
        return inst.window;
    }
    
    static void set_window( CEGUI::WindowEventArgs & inst, ::CEGUI::Window * new_value ){ 
        inst.window = new_value;
    }

};

void register_WindowEventArgs_class(){

    { //::CEGUI::WindowEventArgs
        typedef bp::class_< WindowEventArgs_wrapper, bp::bases< CEGUI::EventArgs > > WindowEventArgs_exposer_t;
        WindowEventArgs_exposer_t WindowEventArgs_exposer = WindowEventArgs_exposer_t( "WindowEventArgs", "*!\n\
        \n\
           EventArgs based class that is used for objects passed to handlers triggered for events\n\
           concerning some Window object.\n\
        *\n", bp::init< CEGUI::Window * >(( bp::arg("wnd") )) );
        bp::scope WindowEventArgs_scope( WindowEventArgs_exposer );
        bp::implicitly_convertible< CEGUI::Window *, CEGUI::WindowEventArgs >();
        WindowEventArgs_exposer.add_property( "window"
                    , bp::make_function( (::CEGUI::Window * (*)( ::CEGUI::WindowEventArgs const & ))(&WindowEventArgs_wrapper::get_window), bp::return_internal_reference< >() )
                    , bp::make_function( (void (*)( ::CEGUI::WindowEventArgs &,::CEGUI::Window * ))(&WindowEventArgs_wrapper::set_window), bp::with_custodian_and_ward_postcall< 1, 2 >() ) );
    }

}
