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

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

namespace bp = boost::python;

struct ListboxTextItem_wrapper : CEGUI::ListboxTextItem, bp::wrapper< CEGUI::ListboxTextItem > {

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

    ListboxTextItem_wrapper(::CEGUI::String const & text, ::CEGUI::uint item_id=0, void * item_data=0, bool disabled=false, bool auto_delete=true )
    : CEGUI::ListboxTextItem( boost::ref(text), item_id, item_data, disabled, auto_delete )
      , bp::wrapper< CEGUI::ListboxTextItem >(){
        // constructor
    
    }

    virtual void draw( ::CEGUI::GeometryBuffer & buffer, ::CEGUI::Rectf const & targetRect, float alpha, ::CEGUI::Rectf const * clipper ) const  {
        if( bp::override func_draw = this->get_override( "draw" ) )
            func_draw( boost::ref(buffer), boost::ref(targetRect), alpha, boost::python::ptr(clipper) );
        else{
            this->CEGUI::ListboxTextItem::draw( boost::ref(buffer), boost::ref(targetRect), alpha, boost::python::ptr(clipper) );
        }
    }
    
    void default_draw( ::CEGUI::GeometryBuffer & buffer, ::CEGUI::Rectf const & targetRect, float alpha, ::CEGUI::Rectf const * clipper ) const  {
        CEGUI::ListboxTextItem::draw( boost::ref(buffer), boost::ref(targetRect), alpha, boost::python::ptr(clipper) );
    }

    virtual ::CEGUI::Sizef getPixelSize(  ) const  {
        if( bp::override func_getPixelSize = this->get_override( "getPixelSize" ) )
            return func_getPixelSize(  );
        else{
            return this->CEGUI::ListboxTextItem::getPixelSize(  );
        }
    }
    
    ::CEGUI::Sizef default_getPixelSize(  ) const  {
        return CEGUI::ListboxTextItem::getPixelSize( );
    }

    virtual bool handleFontRenderSizeChange( ::CEGUI::Font const * const font ) {
        if( bp::override func_handleFontRenderSizeChange = this->get_override( "handleFontRenderSizeChange" ) )
            return func_handleFontRenderSizeChange( font );
        else{
            return this->CEGUI::ListboxTextItem::handleFontRenderSizeChange( font );
        }
    }
    
    bool default_handleFontRenderSizeChange( ::CEGUI::Font const * const font ) {
        return CEGUI::ListboxTextItem::handleFontRenderSizeChange( font );
    }

    void parseTextString(  ) const {
        CEGUI::ListboxTextItem::parseTextString(  );
    }

    virtual void setText( ::CEGUI::String const & text ) {
        if( bp::override func_setText = this->get_override( "setText" ) )
            func_setText( boost::ref(text) );
        else{
            this->CEGUI::ListboxTextItem::setText( boost::ref(text) );
        }
    }
    
    void default_setText( ::CEGUI::String const & text ) {
        CEGUI::ListboxTextItem::setText( boost::ref(text) );
    }

    ::CEGUI::Colour calculateModulatedAlphaColour( ::CEGUI::Colour col, float alpha ) const {
        return CEGUI::ListboxItem::calculateModulatedAlphaColour( col, alpha );
    }

    ::CEGUI::ColourRect getModulateAlphaColourRect( ::CEGUI::ColourRect const & cols, float alpha ) const {
        return CEGUI::ListboxItem::getModulateAlphaColourRect( boost::ref(cols), alpha );
    }

};

void register_ListboxTextItem_class(){

    { //::CEGUI::ListboxTextItem
        typedef bp::class_< ListboxTextItem_wrapper, bp::bases< CEGUI::ListboxItem > > ListboxTextItem_exposer_t;
        ListboxTextItem_exposer_t ListboxTextItem_exposer = ListboxTextItem_exposer_t( "ListboxTextItem", "*!\n\
        \n\
           Class used for textual items in a list box.\n\
        *\n", bp::init< CEGUI::String const &, bp::optional< CEGUI::uint, void *, bool, bool > >(( bp::arg("text"), bp::arg("item_id")=(::CEGUI::uint)(0), bp::arg("item_data")=bp::object(), bp::arg("disabled")=(bool)(false), bp::arg("auto_delete")=(bool)(true) ), "*************************************************************************\n\
           Construction and Destruction\n\
        *************************************************************************\n\
        *!\n\
        \n\
           base class constructor\n\
        *\n") );
        bp::scope ListboxTextItem_scope( ListboxTextItem_exposer );
        bp::implicitly_convertible< CEGUI::String const &, CEGUI::ListboxTextItem >();
        { //::CEGUI::ListboxTextItem::draw
        
            typedef void ( ::CEGUI::ListboxTextItem::*draw_function_type )( ::CEGUI::GeometryBuffer &,::CEGUI::Rectf const &,float,::CEGUI::Rectf const * ) const;
            typedef void ( ListboxTextItem_wrapper::*default_draw_function_type )( ::CEGUI::GeometryBuffer &,::CEGUI::Rectf const &,float,::CEGUI::Rectf const * ) const;
            
            ListboxTextItem_exposer.def( 
                "draw"
                , draw_function_type(&::CEGUI::ListboxTextItem::draw)
                , default_draw_function_type(&ListboxTextItem_wrapper::default_draw)
                , ( bp::arg("buffer"), bp::arg("targetRect"), bp::arg("alpha"), bp::arg("clipper") ) );
        
        }
        { //::CEGUI::ListboxTextItem::getFont
        
            typedef ::CEGUI::Font const * ( ::CEGUI::ListboxTextItem::*getFont_function_type )(  ) const;
            
            ListboxTextItem_exposer.def( 
                "getFont"
                , getFont_function_type( &::CEGUI::ListboxTextItem::getFont )
                , bp::return_value_policy< bp::reference_existing_object >()
                , "*************************************************************************\n\
                  Accessor methods\n\
               *************************************************************************\n\
               *!\n\
               \n\
                  Return a pointer to the font being used by this ListboxTextItem\n\
            \n\
                  This method will try a number of places to find a font to be used.  If no font can be\n\
                  found, NULL is returned.\n\
            \n\
               @return\n\
                  Font to be used for rendering this item\n\
               *\n" );
        
        }
        { //::CEGUI::ListboxTextItem::getPixelSize
        
            typedef ::CEGUI::Sizef ( ::CEGUI::ListboxTextItem::*getPixelSize_function_type )(  ) const;
            typedef ::CEGUI::Sizef ( ListboxTextItem_wrapper::*default_getPixelSize_function_type )(  ) const;
            
            ListboxTextItem_exposer.def( 
                "getPixelSize"
                , getPixelSize_function_type(&::CEGUI::ListboxTextItem::getPixelSize)
                , default_getPixelSize_function_type(&ListboxTextItem_wrapper::default_getPixelSize) );
        
        }
        { //::CEGUI::ListboxTextItem::getTextColours
        
            typedef ::CEGUI::ColourRect ( ::CEGUI::ListboxTextItem::*getTextColours_function_type )(  ) const;
            
            ListboxTextItem_exposer.def( 
                "getTextColours"
                , getTextColours_function_type( &::CEGUI::ListboxTextItem::getTextColours )
                , "*!\n\
               \n\
                  Return the current colours used for text rendering.\n\
            \n\
               @return\n\
                  ColourRect object describing the currently set colours\n\
               *\n" );
        
        }
        { //::CEGUI::ListboxTextItem::handleFontRenderSizeChange
        
            typedef bool ( ::CEGUI::ListboxTextItem::*handleFontRenderSizeChange_function_type )( ::CEGUI::Font const * const ) ;
            typedef bool ( ListboxTextItem_wrapper::*default_handleFontRenderSizeChange_function_type )( ::CEGUI::Font const * const ) ;
            
            ListboxTextItem_exposer.def( 
                "handleFontRenderSizeChange"
                , handleFontRenderSizeChange_function_type(&::CEGUI::ListboxTextItem::handleFontRenderSizeChange)
                , default_handleFontRenderSizeChange_function_type(&ListboxTextItem_wrapper::default_handleFontRenderSizeChange)
                , ( bp::arg("font") ) );
        
        }
        { //::CEGUI::ListboxTextItem::isTextParsingEnabled
        
            typedef bool ( ::CEGUI::ListboxTextItem::*isTextParsingEnabled_function_type )(  ) const;
            
            ListboxTextItem_exposer.def( 
                "isTextParsingEnabled"
                , isTextParsingEnabled_function_type( &::CEGUI::ListboxTextItem::isTextParsingEnabled )
                , "! return whether text parsing is enabled for this ListboxTextItem.\n" );
        
        }
        { //::CEGUI::ListboxTextItem::parseTextString
        
            typedef void ( ListboxTextItem_wrapper::*parseTextString_function_type )(  ) const;
            
            ListboxTextItem_exposer.def( 
                "parseTextString"
                , parseTextString_function_type( &ListboxTextItem_wrapper::parseTextString ) );
        
        }
        { //::CEGUI::ListboxTextItem::setFont
        
            typedef void ( ::CEGUI::ListboxTextItem::*setFont_function_type )( ::CEGUI::Font * ) ;
            
            ListboxTextItem_exposer.def( 
                "setFont"
                , setFont_function_type( &::CEGUI::ListboxTextItem::setFont )
                , ( bp::arg("font") )
                , "*************************************************************************\n\
                  Manipulator methods\n\
               *************************************************************************\n\
               *!\n\
               \n\
                  Set the font to be used by this ListboxTextItem\n\
            \n\
               @param font\n\
                  Font to be used for rendering this item\n\
            \n\
               @return\n\
                  Nothing\n\
               *\n" );
        
        }
        { //::CEGUI::ListboxTextItem::setFont
        
            typedef void ( ::CEGUI::ListboxTextItem::*setFont_function_type )( ::CEGUI::String const & ) ;
            
            ListboxTextItem_exposer.def( 
                "setFont"
                , setFont_function_type( &::CEGUI::ListboxTextItem::setFont )
                , ( bp::arg("font_name") )
                , "*!\n\
               \n\
                  Set the font to be used by this ListboxTextItem\n\
            \n\
               @param font_name\n\
                  String object containing the name of the Font to be used for rendering this item\n\
            \n\
               @return\n\
                  Nothing\n\
               *\n" );
        
        }
        { //::CEGUI::ListboxTextItem::setText
        
            typedef void ( ::CEGUI::ListboxTextItem::*setText_function_type )( ::CEGUI::String const & ) ;
            typedef void ( ListboxTextItem_wrapper::*default_setText_function_type )( ::CEGUI::String const & ) ;
            
            ListboxTextItem_exposer.def( 
                "setText"
                , setText_function_type(&::CEGUI::ListboxTextItem::setText)
                , default_setText_function_type(&ListboxTextItem_wrapper::default_setText)
                , ( bp::arg("text") ) );
        
        }
        { //::CEGUI::ListboxTextItem::setTextColours
        
            typedef void ( ::CEGUI::ListboxTextItem::*setTextColours_function_type )( ::CEGUI::ColourRect const & ) ;
            
            ListboxTextItem_exposer.def( 
                "setTextColours"
                , setTextColours_function_type( &::CEGUI::ListboxTextItem::setTextColours )
                , ( bp::arg("cols") )
                , "*!\n\
               \n\
                  Set the colours used for text rendering.\n\
            \n\
               @param cols\n\
                  ColourRect object describing the colours to be used.\n\
            \n\
               @return\n\
                  Nothing.\n\
               *\n" );
        
        }
        { //::CEGUI::ListboxTextItem::setTextColours
        
            typedef void ( ::CEGUI::ListboxTextItem::*setTextColours_function_type )( ::CEGUI::Colour,::CEGUI::Colour,::CEGUI::Colour,::CEGUI::Colour ) ;
            
            ListboxTextItem_exposer.def( 
                "setTextColours"
                , setTextColours_function_type( &::CEGUI::ListboxTextItem::setTextColours )
                , ( bp::arg("top_left_colour"), bp::arg("top_right_colour"), bp::arg("bottom_left_colour"), bp::arg("bottom_right_colour") )
                , "*!\n\
               \n\
                  Set the colours used for text rendering.\n\
            \n\
               @param top_left_colour\n\
                  Colour (as ARGB value) to be applied to the top-left corner of each text glyph rendered.\n\
            \n\
               @param top_right_colour\n\
                  Colour (as ARGB value) to be applied to the top-right corner of each text glyph rendered.\n\
            \n\
               @param bottom_left_colour\n\
                  Colour (as ARGB value) to be applied to the bottom-left corner of each text glyph rendered.\n\
            \n\
               @param bottom_right_colour\n\
                  Colour (as ARGB value) to be applied to the bottom-right corner of each text glyph rendered.\n\
            \n\
               @return \n\
                  Nothing.\n\
               *\n" );
        
        }
        { //::CEGUI::ListboxTextItem::setTextColours
        
            typedef void ( ::CEGUI::ListboxTextItem::*setTextColours_function_type )( ::CEGUI::Colour ) ;
            
            ListboxTextItem_exposer.def( 
                "setTextColours"
                , setTextColours_function_type( &::CEGUI::ListboxTextItem::setTextColours )
                , ( bp::arg("col") )
                , "*!\n\
               \n\
                  Set the colours used for text rendering.\n\
            \n\
               @param col\n\
                  colour value to be used when rendering.\n\
            \n\
               @return\n\
                  Nothing.\n\
               *\n" );
        
        }
        { //::CEGUI::ListboxTextItem::setTextParsingEnabled
        
            typedef void ( ::CEGUI::ListboxTextItem::*setTextParsingEnabled_function_type )( bool const ) ;
            
            ListboxTextItem_exposer.def( 
                "setTextParsingEnabled"
                , setTextParsingEnabled_function_type( &::CEGUI::ListboxTextItem::setTextParsingEnabled )
                , ( bp::arg("enable") )
                , "*!\n\
                \n\
                    Set whether the the ListboxTextItem will have it's text parsed via the\n\
                    BasicRenderedStringParser or not.\n\
            \n\
                @param enable\n\
                    - true if the ListboxTextItem text will be parsed.\n\
                    - false if the ListboxTextItem text will be used verbatim.\n\
                *\n" );
        
        }
        ListboxTextItem_exposer.def_readonly( "DefaultTextColour", CEGUI::ListboxTextItem::DefaultTextColour, "*************************************************************************\n\
           Constants\n\
        *************************************************************************\n" );
        { //::CEGUI::ListboxItem::calculateModulatedAlphaColour
        
            typedef ::CEGUI::Colour ( ListboxTextItem_wrapper::*calculateModulatedAlphaColour_function_type )( ::CEGUI::Colour,float ) const;
            
            ListboxTextItem_exposer.def( 
                "calculateModulatedAlphaColour"
                , calculateModulatedAlphaColour_function_type( &ListboxTextItem_wrapper::calculateModulatedAlphaColour )
                , ( bp::arg("col"), bp::arg("alpha") )
                , "*!\n\
            \n\
                Return a colour value describing the colour specified by  col after having its alpha\n\
                component modulated by the value  alpha.\n\
            *\n" );
        
        }
        { //::CEGUI::ListboxItem::getModulateAlphaColourRect
        
            typedef ::CEGUI::ColourRect ( ListboxTextItem_wrapper::*getModulateAlphaColourRect_function_type )( ::CEGUI::ColourRect const &,float ) const;
            
            ListboxTextItem_exposer.def( 
                "getModulateAlphaColourRect"
                , getModulateAlphaColourRect_function_type( &ListboxTextItem_wrapper::getModulateAlphaColourRect )
                , ( bp::arg("cols"), bp::arg("alpha") )
                , "*************************************************************************\n\
                Implementation methods\n\
            *************************************************************************\n\
            *!\n\
            \n\
                Return a ColourRect object describing the colours in  cols after having their alpha\n\
                component modulated by the value  alpha.\n\
            *\n" );
        
        }
    }

}
