PuzzleSDK
UITextFieldTest_LineWrap类 参考

#include <UITextFieldTest.h>

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

Public 成员函数

 CREATE_FUNC (UITextFieldTest_LineWrap)
 
 UITextFieldTest_LineWrap ()
 
 ~UITextFieldTest_LineWrap ()
 
virtual bool init () override
 
void textFieldEvent (cocos2d::Ref *sender, cocos2d::ui::TextField::EventType type)
 
- 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::ui::Text * _displayValueLabel
 
- 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
 

详细描述

在文件 UITextFieldTest.h78 行定义.

构造及析构函数说明

◆ UITextFieldTest_LineWrap()

UITextFieldTest_LineWrap::UITextFieldTest_LineWrap ( )

在文件 UITextFieldTest.cpp283 行定义.

284: _displayValueLabel(nullptr)
285{
286
287}
cocos2d::ui::Text * _displayValueLabel

◆ ~UITextFieldTest_LineWrap()

UITextFieldTest_LineWrap::~UITextFieldTest_LineWrap ( )

在文件 UITextFieldTest.cpp289 行定义.

290{
291}

成员函数说明

◆ CREATE_FUNC()

UITextFieldTest_LineWrap::CREATE_FUNC ( UITextFieldTest_LineWrap  )

◆ init()

bool UITextFieldTest_LineWrap::init ( )
overridevirtual

重载 UIScene .

在文件 UITextFieldTest.cpp293 行定义.

294{
295 if (UIScene::init())
296 {
297 Size widgetSize = _widget->getContentSize();
298
299 // Add a label in which the textfield events will be displayed
300 _displayValueLabel = Text::create("No Event","fonts/Marker Felt.ttf",30);
301 _displayValueLabel->setAnchorPoint(Vec2(0.5f, -1.0f));
302 _displayValueLabel->setPosition(Vec2(widgetSize.width / 2.0f, widgetSize.height / 2.0f + _displayValueLabel->getContentSize().height * 1.5));
303 _uiLayer->addChild(_displayValueLabel);
304
305 // Add the alert
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));
309 _uiLayer->addChild(alert);
310
311 // Create the textfield
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));
320 textField->addEventListener(CC_CALLBACK_2(UITextFieldTest_LineWrap::textFieldEvent, this));
321 _uiLayer->addChild(textField);
322
323 return true;
324 }
325 return false;
326}
cocos2d::Layer * _uiLayer
Definition: UIScene.h:44
virtual bool init() override
Definition: UIScene.cpp:46
cocos2d::ui::Layout * _widget
Definition: UIScene.h:45
void textFieldEvent(cocos2d::Ref *sender, cocos2d::ui::TextField::EventType type)

引用了 _displayValueLabel, UIScene::_uiLayer, UIScene::_widget, UIScene::init() , 以及 textFieldEvent().

+ 函数调用图:

◆ textFieldEvent()

void UITextFieldTest_LineWrap::textFieldEvent ( cocos2d::Ref *  sender,
cocos2d::ui::TextField::EventType  type 
)

在文件 UITextFieldTest.cpp328 行定义.

329{
330 switch (type)
331 {
332 case TextField::EventType::ATTACH_WITH_IME:
333 {
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)));
338 _displayValueLabel->setString(StringUtils::format("attach with IME"));
339 }
340 break;
341
342 case TextField::EventType::DETACH_WITH_IME:
343 {
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);
349
350 _displayValueLabel->setString(StringUtils::format("detach with IME"));
351 }
352 break;
353
354 case TextField::EventType::INSERT_TEXT:
355 _displayValueLabel->setString(StringUtils::format("insert words"));
356 break;
357
358 case TextField::EventType::DELETE_BACKWARD:
359 _displayValueLabel->setString(StringUtils::format("delete word"));
360 break;
361
362 default:
363 break;
364 }
365}

引用了 _displayValueLabel , 以及 UIScene::_widget.

被这些函数引用 init().

+ 这是这个函数的调用关系图:

类成员变量说明

◆ _displayValueLabel

cocos2d::ui::Text* UITextFieldTest_LineWrap::_displayValueLabel
protected

在文件 UITextFieldTest.h90 行定义.

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


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