PuzzleSDK
UIEditBoxTest类 参考

#include <UIEditBoxTest.h>

+ 类 UIEditBoxTest 继承关系图:
+ UIEditBoxTest 的协作图:

Public 成员函数

 CREATE_FUNC (UIEditBoxTest)
 
virtual bool init () override
 
virtual void editBoxEditingDidBegin (cocos2d::ui::EditBox *editBox) override
 
virtual void editBoxEditingDidEndWithAction (cocos2d::ui::EditBox *editBox, cocos2d::ui::EditBoxDelegate::EditBoxEndAction action) override
 
virtual void editBoxTextChanged (cocos2d::ui::EditBox *editBox, const std::string &text) override
 
virtual void editBoxReturn (cocos2d::ui::EditBox *editBox) override
 
- Public 成员函数 继承自 UIScene
 UIScene ()
 
 ~UIScene ()
 
virtual void onEnter () override
 
- Public 成员函数 继承自 TestCase
 TestCase ()
 
 ~TestCase ()
 
virtual std::string title () const
 
virtual std::string subtitle () const
 
virtual Type getTestType () const
 
virtual float getDuration () const
 
virtual std::string getExpectedOutput () const
 
virtual std::string getActualOutput () const
 
virtual void restartTestCallback (cocos2d::Ref *sender)
 
virtual void nextTestCallback (cocos2d::Ref *sender)
 
virtual void priorTestCallback (cocos2d::Ref *sender)
 
virtual void onBackCallback (cocos2d::Ref *sender)
 
void setTestSuite (TestSuite *testSuite)
 
TestSuitegetTestSuite () const
 
float getRunTime () const
 
void setTestCaseName (const std::string &name)
 
std::string getTestCaseName () const
 
const cocos2d::Label * getSubtitleLable () const
 
const cocos2d::MenuItemImage * getRestartTestItem () const
 

Protected 属性

cocos2d::Label * _TTFShowEditReturn
 
cocos2d::ui::EditBox * _editName
 
cocos2d::ui::EditBox * _editPassword
 
cocos2d::ui::EditBox * _editEmail
 
cocos2d::Node * _editEmailParent
 
- Protected 属性 继承自 UIScene
cocos2d::Layer * _uiLayer
 
cocos2d::ui::Layout * _widget
 
cocos2d::ui::Text * _sceneTitle
 
- Protected 属性 继承自 TestCase
cocos2d::MenuItemImage * _priorTestItem
 
cocos2d::MenuItemImage * _restartTestItem
 
cocos2d::MenuItemImage * _nextTestItem
 
cocos2d::Label * _titleLabel
 
cocos2d::Label * _subtitleLabel
 

额外继承的成员函数

- Public 类型 继承自 TestCase
enum class  Type { ROBUSTNESS , UNIT , GRAPHICAL_STATIC , MANUAL }
 
- Public 属性 继承自 TestCase
CC_CONSTRUCTOR_ACCESS __pad0__: virtual bool init() override
 

详细描述

在文件 UIEditBoxTest.h33 行定义.

成员函数说明

◆ CREATE_FUNC()

UIEditBoxTest::CREATE_FUNC ( UIEditBoxTest  )

◆ editBoxEditingDidBegin()

void UIEditBoxTest::editBoxEditingDidBegin ( cocos2d::ui::EditBox *  editBox)
overridevirtual

在文件 UIEditBoxTest.cpp140 行定义.

141{
142 log("editBox %p DidBegin !", editBox);
143}

◆ editBoxEditingDidEndWithAction()

void UIEditBoxTest::editBoxEditingDidEndWithAction ( cocos2d::ui::EditBox *  editBox,
cocos2d::ui::EditBoxDelegate::EditBoxEndAction  action 
)
overridevirtual

在文件 UIEditBoxTest.cpp145 行定义.

146{
147 log("editBox %p DidEnd with action %d!", editBox, action);
148}

◆ editBoxReturn()

void UIEditBoxTest::editBoxReturn ( cocos2d::ui::EditBox *  editBox)
overridevirtual

在文件 UIEditBoxTest.cpp156 行定义.

157{
158 log("editBox %p was returned !",editBox);
159
160 if (_editName == editBox)
161 {
162 _TTFShowEditReturn->setString("Name EditBox return !");
163 }
164 else if (_editPassword == editBox)
165 {
166 _TTFShowEditReturn->setString("Password EditBox return !");
167 }
168 else if (_editEmail == editBox)
169 {
170 _TTFShowEditReturn->setString("Email EditBox return !");
171 }
172}
cocos2d::ui::EditBox * _editPassword
Definition: UIEditBoxTest.h:49
cocos2d::ui::EditBox * _editEmail
Definition: UIEditBoxTest.h:50
cocos2d::ui::EditBox * _editName
Definition: UIEditBoxTest.h:48
cocos2d::Label * _TTFShowEditReturn
Definition: UIEditBoxTest.h:47

引用了 _editEmail, _editName, _editPassword , 以及 _TTFShowEditReturn.

◆ editBoxTextChanged()

void UIEditBoxTest::editBoxTextChanged ( cocos2d::ui::EditBox *  editBox,
const std::string &  text 
)
overridevirtual

在文件 UIEditBoxTest.cpp150 行定义.

151{
152 log("editBox %p TextChanged, text: %s ", editBox, text.c_str());
153 editBox->setText(text.c_str());
154}

◆ init()

bool UIEditBoxTest::init ( )
overridevirtual

重载 UIScene .

在文件 UIEditBoxTest.cpp43 行定义.

44{
45 if (UIScene::init())
46 {
47 auto glview = Director::getInstance()->getOpenGLView();
48 auto visibleOrigin = glview->getVisibleOrigin();
49 auto visibleSize = glview->getVisibleSize();
50
51 auto pBg = Sprite::create("Images/HelloWorld.png");
52 pBg->setPosition(Vec2(visibleOrigin.x+visibleSize.width/2, visibleOrigin.y+visibleSize.height/2));
53 addChild(pBg);
54
55 _TTFShowEditReturn = Label::createWithSystemFont("No edit control return!", "Arial", 30);
56 _TTFShowEditReturn->setPosition(Vec2(visibleOrigin.x+visibleSize.width/2, visibleOrigin.y + visibleSize.height - 50));
57 addChild(_TTFShowEditReturn);
58
59
60 auto editBoxSize = Size(visibleSize.width - 100, visibleSize.height * 0.1);
61
62 // top
63 std::string pNormalSprite = "extensions/green_edit.png";
64 _editName = ui::EditBox::create(editBoxSize + Size(0,40), ui::Scale9Sprite::create(pNormalSprite));
65 _editName->setPosition(Vec2(visibleOrigin.x+visibleSize.width/2-50, visibleOrigin.y+visibleSize.height*3/4));
66 _editName->setFontColor(Color3B::RED);
67 _editName->setPlaceHolder("Name:");
68 _editName->setPlaceholderFontColor(Color3B::WHITE);
69 _editName->setMaxLength(8);
70 _editName->setFontSize((int)editBoxSize.height/2);
71 _editName->setText("v👐👊💝");
72 _editName->setReturnType(ui::EditBox::KeyboardReturnType::DONE);
73 _editName->setDelegate(this);
74 _editName->setVisible(true);
75 addChild(_editName);
76
77 Button* button = Button::create("cocosui/animationbuttonnormal.png",
78 "cocosui/animationbuttonpressed.png");
79 auto buttonSize = button->getContentSize();
80 button->setTitleText("Single Line");
81 button->setPosition(_editName->getPosition() + Vec2(editBoxSize.width/2 + buttonSize.width/2, 0.0f));
82 button->addClickEventListener([=](Ref* ref){
83 _editName->setInputMode(ui::EditBox::InputMode::SINGLE_LINE);
84 });
85 addChild(button);
86
87 // middle
88 _editPassword = ui::EditBox::create(Size(editBoxSize.width,
89 editBoxSize.height + 20), "extensions/orange_edit.png");
90 _editPassword->setPosition(Vec2(visibleOrigin.x+visibleSize.width/2-50, visibleOrigin.y+visibleSize.height/2));
91 _editPassword->setFontColor(Color3B::GREEN);
92 _editPassword->setPlaceHolder("Password:");
93 _editPassword->setMaxLength(6);
94 _editPassword->setInputFlag(ui::EditBox::InputFlag::PASSWORD);
95 _editPassword->setInputMode(ui::EditBox::InputMode::SINGLE_LINE);
96 _editPassword->setFontSize((int)editBoxSize.height/2);
97 _editPassword->setDelegate(this);
98 _editPassword->setVisible(true);
99 addChild(_editPassword);
100
101 auto buttonPassword = (ui::Button*)button->clone();
102 buttonPassword->setTitleText("Multiline");
103 buttonPassword->setPosition(_editPassword->getPosition() + Vec2(editBoxSize.width/2 + buttonSize.width/2, 0.0f));
104 buttonPassword->addClickEventListener([=](Ref* ref){
105 _editPassword->setInputMode(ui::EditBox::InputMode::ANY);
106 });
107 addChild(buttonPassword);
108
109 // bottom
110 // Add an intermediate Node to test scaling and content size relative to world
111 _editEmailParent = Node::create();
112// _editEmailParent->setScale(0.5);
113 _editEmailParent->setPosition(Vec2(visibleOrigin.x+visibleSize.width/2-50, visibleOrigin.y+visibleSize.height/4));
114 addChild(_editEmailParent);
115
116 auto bottomButtonSize = Size(editBoxSize.width, editBoxSize.height + 10);
117 _editEmail = ui::EditBox::create(bottomButtonSize, "extensions/yellow_edit.png");
118 _editEmail->setPlaceHolder("Email:");
119 _editEmail->setInputMode(ui::EditBox::InputMode::EMAIL_ADDRESS);
120 _editEmail->setDelegate(this);
121 _editEmail->setVisible(true);
122 _editEmailParent->addChild(_editEmail);
123 //It is required to use setFontSize and setContentSize after adding it to the hierarchy, so that native EditBox get the right size
124 _editEmail->setFontSize(30);
125 _editEmail->setContentSize(bottomButtonSize);
126
127 auto buttonEmail = (ui::Button*)button->clone();
128 buttonEmail->setTitleText("Multiline");
129 buttonEmail->setPosition(_editEmailParent->getPosition() + Vec2(editBoxSize.width/2 + buttonSize.width/2, 0.0f));
130 buttonEmail->addClickEventListener([=](Ref* ref){
131 _editEmail->setInputMode(ui::EditBox::InputMode::ANY);
132 });
133 addChild(buttonEmail);
134
135 return true;
136 }
137 return false;
138}
cocos2d::Node * _editEmailParent
Definition: UIEditBoxTest.h:51
virtual bool init() override
Definition: UIScene.cpp:46

引用了 _editEmail, _editEmailParent, _editName, _editPassword, _TTFShowEditReturn , 以及 UIScene::init().

+ 函数调用图:

类成员变量说明

◆ _editEmail

cocos2d::ui::EditBox* UIEditBoxTest::_editEmail
protected

在文件 UIEditBoxTest.h50 行定义.

被这些函数引用 editBoxReturn() , 以及 init().

◆ _editEmailParent

cocos2d::Node* UIEditBoxTest::_editEmailParent
protected

在文件 UIEditBoxTest.h51 行定义.

被这些函数引用 init().

◆ _editName

cocos2d::ui::EditBox* UIEditBoxTest::_editName
protected

在文件 UIEditBoxTest.h48 行定义.

被这些函数引用 editBoxReturn() , 以及 init().

◆ _editPassword

cocos2d::ui::EditBox* UIEditBoxTest::_editPassword
protected

在文件 UIEditBoxTest.h49 行定义.

被这些函数引用 editBoxReturn() , 以及 init().

◆ _TTFShowEditReturn

cocos2d::Label* UIEditBoxTest::_TTFShowEditReturn
protected

在文件 UIEditBoxTest.h47 行定义.

被这些函数引用 editBoxReturn() , 以及 init().


该类的文档由以下文件生成: