CCEditBox/CCEditBoxImpl

来源:互联网 发布:农行网银mac版 编辑:程序博客网 时间:2024/06/07 22:43

#ifndef __CCEditBoxIMPL_H__

#define __CCEditBoxIMPL_H__


#include "cocos2d.h"

#include "ExtensionMacros.h"

#include "CCEditBox.h"


NS_CC_EXT_BEGIN



class CCEditBoxImpl

{

public:

    CCEditBoxImpl(CCEditBox* pEditBox) : m_pDelegate(NULL),m_pEditBox(pEditBox) {}

    virtual ~CCEditBoxImpl() {}

    

    virtual bool initWithSize(const CCSize& size) = 0;

    virtual void setFont(const char* pFontName, int fontSize) = 0;

    virtual void setFontColor(const ccColor3B& color) = 0;

    virtual void setPlaceholderFont(const char* pFontName, int fontSize) = 0;

    virtual void setPlaceholderFontColor(const ccColor3B& color) = 0;

    virtual void setInputMode(EditBoxInputMode inputMode) = 0;

    virtual void setInputFlag(EditBoxInputFlag inputFlag) = 0;

    virtual void setMaxLength(int maxLength) = 0;

    virtual int  getMaxLength() = 0;

    virtual void setReturnType(KeyboardReturnType returnType) = 0;

    virtual bool isEditing() = 0;

    

    virtual void setText(const char* pText) = 0;

    virtual const char* getText(void) = 0;

    virtual void setPlaceHolder(const char* pText) = 0;

    virtual void doAnimationWhenKeyboardMove(float duration, float distance) = 0;

    

    virtual void openKeyboard() = 0;

    virtual void closeKeyboard() = 0;

    

    virtual void setPosition(const CCPoint& pos) = 0;

    virtual void setVisible(bool visible) = 0;

    virtual void setContentSize(const CCSize& size) = 0;

virtual void setAnchorPoint(const CCPoint& anchorPoint) = 0;

    virtual void visit(void) = 0;

    virtual void onEnter(void) = 0;

    

    

    void setDelegate(CCEditBoxDelegate* pDelegate) { m_pDelegate = pDelegate; };

    CCEditBoxDelegate* getDelegate() { return m_pDelegate; };

    CCEditBox* getCCEditBox() { return m_pEditBox; };

protected:

    CCEditBoxDelegate* m_pDelegate;

    CCEditBox* m_pEditBox;

};


// This method must be implemented at each subclass of CCEditBoxImpl.

extern CCEditBoxImpl* __createSystemEditBox(CCEditBox* pEditBox);



NS_CC_EXT_END


#endif /* __CCEditBoxIMPL_H__ */


0 0