123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571 |
- #ifndef __UIEDITTEXT_H__
- #define __UIEDITTEXT_H__
- #include "base/CCIMEDelegate.h"
- #include "ui/GUIDefine.h"
- #include "ui/UIButton.h"
- #include "ui/UIScale9Sprite.h"
- NS_CC_BEGIN
- namespace ui {
-
- class EditBox;
- class EditBoxImpl;
-
-
- class CC_GUI_DLL EditBoxDelegate
- {
- public:
-
- enum class EditBoxEndAction {
- UNKNOWN,
- TAB_TO_NEXT,
- TAB_TO_PREVIOUS,
- RETURN
- };
- virtual ~EditBoxDelegate() {};
-
-
- virtual void editBoxEditingDidBegin(EditBox* editBox) {};
-
-
-
- CC_DEPRECATED_ATTRIBUTE virtual void editBoxEditingDidEnd(EditBox* editBox) {};
-
-
- virtual void editBoxTextChanged(EditBox* editBox, const std::string& text) {};
-
-
- virtual void editBoxReturn(EditBox* editBox) = 0;
-
- virtual void editBoxEditingDidEndWithAction(EditBox* editBox, EditBoxEndAction action) {};
- };
-
-
-
- class CC_GUI_DLL EditBox
- : public Widget
- , public IMEDelegate
- {
- public:
-
- enum class KeyboardReturnType
- {
- DEFAULT,
- DONE,
- SEND,
- SEARCH,
- GO,
- NEXT
- };
-
-
- enum class InputMode
- {
-
- ANY,
-
-
- EMAIL_ADDRESS,
-
-
- NUMERIC,
-
-
- PHONE_NUMBER,
-
-
- URL,
-
-
- DECIMAL,
-
-
- SINGLE_LINE,
- };
-
-
- enum class InputFlag
- {
-
- PASSWORD,
-
-
- SENSITIVE,
-
-
- INITIAL_CAPS_WORD,
-
-
- INITIAL_CAPS_SENTENCE,
-
-
- INITIAL_CAPS_ALL_CHARACTERS,
-
-
- LOWERCASE_ALL_CHARACTERS
- };
-
-
- static EditBox* create(const Size& size,
- Scale9Sprite* normalSprite,
- Scale9Sprite* pressedSprite = nullptr,
- Scale9Sprite* disabledSprite = nullptr);
-
-
- static EditBox* create(const Size& size,
- const std::string& normal9SpriteBg,
- TextureResType texType = TextureResType::LOCAL);
-
-
- EditBox(void);
-
-
- virtual ~EditBox(void);
-
-
- bool initWithSizeAndBackgroundSprite(const Size& size,
- const std::string& normal9SpriteBg,
- TextureResType texType = TextureResType::LOCAL);
-
-
-
- bool initWithSizeAndBackgroundSprite(const Size& size, Scale9Sprite* normal9SpriteBg);
-
- void setDelegate(EditBoxDelegate* delegate);
-
- EditBoxDelegate* getDelegate();
-
- #if CC_ENABLE_SCRIPT_BINDING
-
- void registerScriptEditBoxHandler(int handler);
-
-
- void unregisterScriptEditBoxHandler(void);
-
- int getScriptEditBoxHandler(void){ return _scriptEditBoxHandler ;}
-
- #endif
-
-
- void setText(const char* pText);
-
-
- const char* getText(void) const;
-
-
- void setFont(const char* pFontName, int fontSize);
-
-
- void setFontName(const char* pFontName);
-
- const char* getFontName() const;
-
- void setFontSize(int fontSize);
-
- int getFontSize() const;
-
- void setFontColor(const Color3B& color);
- void setFontColor(const Color4B& color);
-
- const Color4B& getFontColor() const;
-
- void setPlaceholderFont(const char* pFontName, int fontSize);
-
- void setPlaceholderFontName(const char* pFontName);
-
- const char* getPlaceholderFontName() const;
-
- void setPlaceholderFontSize(int fontSize);
-
- int getPlaceholderFontSize() const;
-
- void setPlaceholderFontColor(const Color3B& color);
-
- void setPlaceholderFontColor(const Color4B& color);
-
- const Color4B& getPlaceholderFontColor() const;
-
- void setPlaceHolder(const char* pText);
-
- const char* getPlaceHolder(void) const;
-
- void setInputMode(InputMode inputMode);
-
- InputMode getInputMode() const;
-
- void setMaxLength(int maxLength);
-
- int getMaxLength();
-
-
- void setInputFlag(InputFlag inputFlag);
-
- InputFlag getInputFlag() const;
-
- void setReturnType(KeyboardReturnType returnType);
-
- KeyboardReturnType getReturnType() const;
-
- void setTextHorizontalAlignment(TextHAlignment alignment);
-
- TextHAlignment getTextHorizontalAlignment() const;
-
- virtual void setPosition(const Vec2& pos) override;
- virtual void setVisible(bool visible) override;
- virtual void setContentSize(const Size& size) override;
- virtual void setAnchorPoint(const Vec2& anchorPoint) override;
-
- virtual std::string getDescription() const override;
-
- virtual void draw(Renderer *renderer, const Mat4 &parentTransform, uint32_t parentFlags) override;
-
- virtual void onEnter(void) override;
-
- virtual void onExit(void) override;
-
- virtual void keyboardWillShow(IMEKeyboardNotificationInfo& info) override;
-
- virtual void keyboardDidShow(IMEKeyboardNotificationInfo& info) override;
-
- virtual void keyboardWillHide(IMEKeyboardNotificationInfo& info) override;
-
- virtual void keyboardDidHide(IMEKeyboardNotificationInfo& info) override;
-
-
- void touchDownAction(Ref *sender, TouchEventType controlEvent);
-
- protected:
- virtual void adaptRenderers() override;
- void updatePosition(float dt);
- EditBoxImpl* _editBoxImpl;
- EditBoxDelegate* _delegate;
- Scale9Sprite *_backgroundSprite;
- float _adjustHeight;
- #if CC_ENABLE_SCRIPT_BINDING
- int _scriptEditBoxHandler;
- #endif
- };
- }
- NS_CC_END
- #endif
|