28using namespace cocos2d::ui;
30UITextFieldTests::UITextFieldTests()
43: _displayValueLabel(nullptr)
56 Size widgetSize =
_widget->getContentSize();
65 Text* alert = Text::create(
"TextField",
"fonts/Marker Felt.ttf",30);
66 alert->setColor(Color3B(159, 168, 176));
67 alert->setPosition(Vec2(widgetSize.width / 2.0f, widgetSize.height / 2.0f - alert->getContentSize().height * 3.075f));
71 TextField* textField = TextField::create(
"input words here",
"Arial",30);
73 textField->setPosition(Vec2(widgetSize.width / 2.0f, widgetSize.height / 2.0f));
87 case TextField::EventType::ATTACH_WITH_IME:
89 TextField* textField =
dynamic_cast<TextField*
>(pSender);
90 Size screenSize = Director::getInstance()->getWinSize();
91 textField->runAction(MoveTo::create(0.225f,
92 Vec2(screenSize.width / 2.0f, screenSize.height / 2.0f + textField->getContentSize().height / 2.0f)));
97 case TextField::EventType::DETACH_WITH_IME:
99 TextField* textField =
dynamic_cast<TextField*
>(pSender);
100 Size screenSize = Director::getInstance()->getWinSize();
101 textField->runAction(MoveTo::create(0.175f, Vec2(screenSize.width / 2.0f, screenSize.height / 2.0f)));
106 case TextField::EventType::INSERT_TEXT:
110 case TextField::EventType::DELETE_BACKWARD:
121: _displayValueLabel(nullptr)
134 Size screenSize = Director::getInstance()->getWinSize();
143 Text *alert = Text::create(
"TextField max length",
"fonts/Marker Felt.ttf",30);
144 alert->setColor(Color3B(159, 168, 176));
145 alert->setPosition(Vec2(screenSize.width / 2.0f, screenSize.height / 2.0f - alert->getContentSize().height * 3.075f));
149 TextField* textField = TextField::create(
"input words here",
"Arial",30);
150 textField->setMaxLengthEnabled(
true);
151 textField->setMaxLength(3);
152 textField->setPosition(Vec2(screenSize.width / 2.0f, screenSize.height / 2.0f));
165 case TextField::EventType::ATTACH_WITH_IME:
167 TextField* textField =
dynamic_cast<TextField*
>(pSender);
168 Size screenSize = Director::getInstance()->getWinSize();
169 textField->runAction(MoveTo::create(0.225f,
170 Vec2(screenSize.width / 2.0f, screenSize.height / 2.0f + textField->getContentSize().height / 2.0f)));
171 _displayValueLabel->setString(StringUtils::format(
"attach with IME max length %d", textField->getMaxLength()));
175 case TextField::EventType::DETACH_WITH_IME:
177 TextField* textField =
dynamic_cast<TextField*
>(pSender);
178 Size screenSize = Director::getInstance()->getWinSize();
179 textField->runAction(MoveTo::create(0.175f, Vec2(screenSize.width / 2.0f, screenSize.height / 2.0f)));
180 _displayValueLabel->setString(StringUtils::format(
"detach with IME max length %d", textField->getMaxLength()));
184 case TextField::EventType::INSERT_TEXT:
186 TextField* textField =
dynamic_cast<TextField*
>(pSender);
187 _displayValueLabel->setString(StringUtils::format(
"insert words max length %d", textField->getMaxLength()));
191 case TextField::EventType::DELETE_BACKWARD:
193 TextField* textField =
dynamic_cast<TextField*
>(pSender);
194 _displayValueLabel->setString(StringUtils::format(
"delete word max length %d", textField->getMaxLength()));
205: _displayValueLabel(nullptr)
218 Size screenSize = Director::getInstance()->getWinSize();
227 Text *alert = Text::create(
"TextField password",
"fonts/Marker Felt.ttf",30);
228 alert->setColor(Color3B(159, 168, 176));
229 alert->setPosition(Vec2(screenSize.width / 2.0f, screenSize.height / 2.0f - alert->getContentSize().height * 3.075f));
233 TextField* textField = TextField::create(
"input password here",
"Arial",30);
234 textField->setPasswordEnabled(
true);
235 textField->setPasswordStyleText(
"*");
236 textField->setPosition(Vec2(screenSize.width / 2.0f, screenSize.height / 2.0f));
249 case TextField::EventType::ATTACH_WITH_IME:
251 TextField* textField =
dynamic_cast<TextField*
>(pSender);
252 Size screenSize = Director::getInstance()->getWinSize();
253 textField->runAction(MoveTo::create(0.225f,
254 Vec2(screenSize.width / 2.0f, screenSize.height / 2.0f + textField->getContentSize().height / 2.0f)));
259 case TextField::EventType::DETACH_WITH_IME:
261 TextField* textField =
dynamic_cast<TextField*
>(pSender);
262 Size screenSize = Director::getInstance()->getWinSize();
263 textField->runAction(MoveTo::create(0.175f, Vec2(screenSize.width / 2.0f, screenSize.height / 2.0f)));
268 case TextField::EventType::INSERT_TEXT:
272 case TextField::EventType::DELETE_BACKWARD:
284: _displayValueLabel(nullptr)
297 Size widgetSize =
_widget->getContentSize();
306 Text *alert = Text::create(
"TextField line wrap",
"fonts/Marker Felt.ttf",30);
307 alert->setColor(Color3B(159, 168, 176));
308 alert->setPosition(Vec2(widgetSize.width / 2.0f, widgetSize.height / 2.0f - alert->getContentSize().height * 3.075));
312 TextField* textField = TextField::create(
"input words here",
"fonts/Marker Felt.ttf",30);
313 textField->ignoreContentAdaptWithSize(
false);
314 ((Label*)(textField->getVirtualRenderer()))->setLineBreakWithoutSpace(
true);
315 textField->setContentSize(Size(240.0f, 170.0f));
316 textField->setString(
"input words here");
317 textField->setTextHorizontalAlignment(TextHAlignment::CENTER);
318 textField->setTextVerticalAlignment(TextVAlignment::CENTER);
319 textField->setPosition(Vec2(widgetSize.width / 2.0f, widgetSize.height / 2.0f));
332 case TextField::EventType::ATTACH_WITH_IME:
334 TextField* textField =
dynamic_cast<TextField*
>(pSender);
335 Size widgetSize =
_widget->getContentSize();
336 textField->runAction(MoveTo::create(0.225f,
337 Vec2(widgetSize.width / 2.0f, widgetSize.height / 2.0f + 30)));
342 case TextField::EventType::DETACH_WITH_IME:
344 TextField* textField =
dynamic_cast<TextField*
>(pSender);
345 Size screenSize = Director::getInstance()->getWinSize();
346 textField->runAction(MoveTo::create(0.175f, Vec2(screenSize.width / 2.0f, screenSize.height / 2.0f)));
347 textField->setTextHorizontalAlignment(TextHAlignment::CENTER);
348 textField->setTextVerticalAlignment(TextVAlignment::CENTER);
354 case TextField::EventType::INSERT_TEXT:
358 case TextField::EventType::DELETE_BACKWARD:
369: _displayValueLabel(nullptr)
382 Size widgetSize =
_widget->getContentSize();
385 _displayValueLabel = Text::create(
"True Type Font Test - No Event",
"fonts/Marker Felt.ttf",32);
391 Text* alert = Text::create(
"TextField",
"fonts/Marker Felt.ttf",30);
392 alert->setPosition(Vec2(widgetSize.width / 2.0f, widgetSize.height / 2.0f - alert->getContentSize().height * 3.075f));
396 TextField* textField = TextField::create(
"input words here",
"fonts/A Damn Mess.ttf",30);
398 textField->setPosition(Vec2(widgetSize.width / 2.0f, widgetSize.height / 2.0f));
412 case TextField::EventType::ATTACH_WITH_IME:
414 TextField* textField =
dynamic_cast<TextField*
>(pSender);
415 Size screenSize = Director::getInstance()->getWinSize();
416 textField->runAction(MoveTo::create(0.225f,
417 Vec2(screenSize.width / 2.0f, screenSize.height / 2.0f + textField->getContentSize().height / 2.0f)));
422 case TextField::EventType::DETACH_WITH_IME:
424 TextField* textField =
dynamic_cast<TextField*
>(pSender);
425 Size screenSize = Director::getInstance()->getWinSize();
426 textField->runAction(MoveTo::create(0.175f, Vec2(screenSize.width / 2.0f, screenSize.height / 2.0f)));
431 case TextField::EventType::INSERT_TEXT:
435 case TextField::EventType::DELETE_BACKWARD:
446: _displayValueLabel(nullptr)
459 Size widgetSize =
_widget->getContentSize();
462 _displayValueLabel = Text::create(
"BMFont Test - No Event",
"fonts/Marker Felt.ttf",32);
468 Text* alert = Text::create(
"TextField",
"fonts/Marker Felt.ttf",30);
469 alert->setPosition(Vec2(widgetSize.width / 2.0f, widgetSize.height / 2.0f - alert->getContentSize().height * 3.075f));
473 TextField* textField = TextField::create(
"BMFont Text",
"fonts/bitmapFontTest3.fnt",30);
474 textField->setCursorEnabled(
true);
475 textField->setPosition(Vec2(widgetSize.width / 2.0f, widgetSize.height / 2.0f));
488 case TextField::EventType::ATTACH_WITH_IME:
490 TextField* textField =
dynamic_cast<TextField*
>(pSender);
491 Size screenSize = Director::getInstance()->getWinSize();
492 textField->runAction(MoveTo::create(0.225f,
493 Vec2(screenSize.width / 2.0f, screenSize.height / 2.0f + textField->getContentSize().height / 2.0f)));
498 case TextField::EventType::DETACH_WITH_IME:
500 TextField* textField =
dynamic_cast<TextField*
>(pSender);
501 Size screenSize = Director::getInstance()->getWinSize();
502 textField->runAction(MoveTo::create(0.175f, Vec2(screenSize.width / 2.0f, screenSize.height / 2.0f)));
507 case TextField::EventType::INSERT_TEXT:
511 case TextField::EventType::DELETE_BACKWARD:
522: _displayValueLabel(nullptr)
535 Size widgetSize =
_widget->getContentSize();
538 _displayValueLabel = Text::create(
"You should see 16.50000, 34.0000 in the output window the first time you type",
"fonts/Marker Felt.ttf",12);
544 Text* alert = Text::create(
"TextField",
"fonts/Marker Felt.ttf",30);
545 alert->setPosition(Vec2(widgetSize.width / 2.0f, widgetSize.height / 2.0f - alert->getContentSize().height * 3.075f));
549 TextField* textField = TextField::create(
"input words here",
"Arial",30);
550 textField->setPlaceHolder(
"input text here");
551 textField->setPlaceHolderColor(Color4B::GREEN);
552 textField->setTextColor(Color4B::RED);
553 textField->setPosition(Vec2(widgetSize.width / 2.0f, widgetSize.height / 2.0f));
565 case TextField::EventType::ATTACH_WITH_IME:
567 TextField* textField =
dynamic_cast<TextField*
>(pSender);
568 Size screenSize = Director::getInstance()->getWinSize();
569 textField->runAction(MoveTo::create(0.225f,
570 Vec2(screenSize.width / 2.0f, screenSize.height / 2.0f + textField->getContentSize().height / 2.0f)));
575 case TextField::EventType::DETACH_WITH_IME:
577 TextField* textField =
dynamic_cast<TextField*
>(pSender);
578 Size screenSize = Director::getInstance()->getWinSize();
579 textField->runAction(MoveTo::create(0.175f, Vec2(screenSize.width / 2.0f, screenSize.height / 2.0f)));
584 case TextField::EventType::INSERT_TEXT:
587 CCLOG(
"%f, %f",
dynamic_cast<TextField*
>(pSender)->getContentSize().width,
dynamic_cast<TextField*
>(pSender)->getContentSize().height);
591 case TextField::EventType::DELETE_BACKWARD:
#define ADD_TEST_CASE(__className__)
cocos2d::Layer * _uiLayer
virtual bool init() override
cocos2d::ui::Layout * _widget
cocos2d::ui::Text * _displayValueLabel
virtual bool init() override
void textFieldEvent(cocos2d::Ref *sender, cocos2d::ui::TextField::EventType type)
~UITextFieldTest_BMFont()
cocos2d::ui::Text * _displayValueLabel
virtual bool init() override
void textFieldEvent(cocos2d::Ref *sender, cocos2d::ui::TextField::EventType type)
UITextFieldTest_LineWrap()
~UITextFieldTest_LineWrap()
virtual bool init() override
void textFieldEvent(cocos2d::Ref *sender, cocos2d::ui::TextField::EventType type)
UITextFieldTest_MaxLength()
cocos2d::ui::Text * _displayValueLabel
~UITextFieldTest_MaxLength()
UITextFieldTest_Password()
void textFieldEvent(cocos2d::Ref *sender, cocos2d::ui::TextField::EventType type)
~UITextFieldTest_Password()
virtual bool init() override
cocos2d::ui::Text * _displayValueLabel
~UITextFieldTest_PlaceHolderColor()
virtual bool init() override
void textFieldEvent(cocos2d::Ref *sender, cocos2d::ui::TextField::EventType type)
UITextFieldTest_PlaceHolderColor()
cocos2d::ui::Text * _displayValueLabel
virtual bool init() override
~UITextFieldTest_TrueTypeFont()
void textFieldEvent(cocos2d::Ref *sender, cocos2d::ui::TextField::EventType type)
UITextFieldTest_TrueTypeFont()
cocos2d::ui::Text * _displayValueLabel
cocos2d::ui::Text * _displayValueLabel
virtual bool init() override
void textFieldEvent(cocos2d::Ref *sender, cocos2d::ui::TextField::EventType type)