Skip to content

Commit 4f386a4

Browse files
kapladminggo
authored andcommitted
18572 PR amends & override warning fix (cocos2d#18580)
1 parent 42c2ff2 commit 4f386a4

File tree

4 files changed

+37
-70
lines changed

4 files changed

+37
-70
lines changed

cocos/ui/UIEditBox/UIEditBoxImpl-android.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ class EditBoxImplAndroid : public EditBoxImplCommon
6363
virtual void setNativeInputMode(EditBox::InputMode inputMode) override;
6464
virtual void setNativeInputFlag(EditBox::InputFlag inputFlag) override;
6565
virtual void setNativeReturnType(EditBox::KeyboardReturnType returnType)override;
66-
virtual void setNativeTextHorizontalAlignment(cocos2d::TextHAlignment alignment);
66+
virtual void setNativeTextHorizontalAlignment(cocos2d::TextHAlignment alignment) override;
6767
virtual void setNativeText(const char* pText) override;
6868
virtual void setNativePlaceHolder(const char* pText) override;
6969
virtual void setNativeVisible(bool visible) override;

cocos/ui/UIEditBox/UIEditBoxImpl-common.cpp

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@
3434

3535
static const int CC_EDIT_BOX_PADDING = 5;
3636

37+
static cocos2d::Size applyPadding(const cocos2d::Size& sizeToCorrect) {
38+
return cocos2d::Size(sizeToCorrect.width - CC_EDIT_BOX_PADDING * 2, sizeToCorrect.height);
39+
}
40+
3741
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WINRT || CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)
3842
#define PASSWORD_CHAR "*"
3943
#else
@@ -144,8 +148,7 @@ void EditBoxImplCommon::setInactiveText(const char* pText)
144148
_label->setString(pText);
145149
}
146150
// Clip the text width to fit to the text box
147-
const auto& editBoxSize = _editBox->getContentSize();
148-
const auto maxSize = applyPadding(cocos2d::Size(editBoxSize.width, editBoxSize.height));
151+
const auto maxSize = applyPadding(_editBox->getContentSize());
149152
Size labelSize = _label->getContentSize();
150153
if(labelSize.width > maxSize.width || labelSize.height > maxSize.height)
151154
{
@@ -214,6 +217,7 @@ void EditBoxImplCommon::setTextHorizontalAlignment(cocos2d::TextHAlignment align
214217
{
215218
_alignment = alignment;
216219
this->setNativeTextHorizontalAlignment(alignment);
220+
refreshLabelAlignment();
217221
}
218222

219223
void EditBoxImplCommon::setInputFlag(EditBox::InputFlag inputFlag)
@@ -413,11 +417,6 @@ void EditBoxImplCommon::editBoxEditingChanged(const std::string& text)
413417

414418
}
415419

416-
Size ui::EditBoxImplCommon::applyPadding(const Size& sizeToCorrect) const {
417-
constexpr auto paddingLeftRight = CC_EDIT_BOX_PADDING * 2;
418-
return Size(sizeToCorrect.width - paddingLeftRight, sizeToCorrect.height);
419-
}
420-
421420
NS_CC_END
422421

423422

cocos/ui/UIEditBox/UIEditBoxImpl-common.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,8 +135,6 @@ class CC_GUI_DLL EditBoxImplCommon : public EditBoxImpl
135135
void refreshLabelAlignment();
136136
void placeInactiveLabels(const Size& size);
137137
virtual void doAnimationWhenKeyboardMove(float duration, float distance)override {};
138-
139-
Size applyPadding(const Size& size) const;
140138

141139
Label* _label;
142140
Label* _labelPlaceHolder;

tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UIEditBoxTest.cpp

Lines changed: 30 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -307,65 +307,35 @@ void UIEditBoxTestToggleVisibility::editBoxReturn(ui::EditBox* editBox)
307307

308308
// UIEditBoxTestTextHorizontalAlignment
309309

310-
bool UIEditBoxTestTextHorizontalAlignment::init()
311-
{
312-
if (UIScene::init())
313-
{
314-
auto glview = Director::getInstance()->getOpenGLView();
315-
auto visibleOrigin = glview->getVisibleOrigin();
316-
auto visibleSize = glview->getVisibleSize();
317-
318-
auto pBg = Sprite::create("Images/HelloWorld.png");
319-
pBg->setPosition(Vec2(visibleOrigin.x+visibleSize.width/2, visibleOrigin.y+visibleSize.height/2));
320-
addChild(pBg);
321-
322-
auto editBoxSize = Size(visibleSize.width - 100, visibleSize.height * 0.1);
323-
324-
// top
325-
std::string pNormalSprite = "extensions/green_edit.png";
326-
ui::EditBox* editName = ui::EditBox::create(editBoxSize + Size(0,40), ui::Scale9Sprite::create(pNormalSprite));
327-
editName->setPosition(Vec2(visibleOrigin.x+visibleSize.width/2-50, visibleOrigin.y+visibleSize.height*3/4));
328-
editName->setFontColor(Color3B::RED);
329-
editName->setPlaceHolder("Name:");
330-
editName->setPlaceholderFontColor(Color3B::WHITE);
331-
editName->setMaxLength(8);
332-
editName->setFontSize(editBoxSize.height/2);
333-
editName->setTextHorizontalAlignment(TextHAlignment::LEFT);
334-
editName->setText("v👐👊💝");
335-
editName->setReturnType(ui::EditBox::KeyboardReturnType::DONE);
336-
addChild(editName);
337-
338-
// middle
339-
ui::EditBox* editPassword = ui::EditBox::create(editBoxSize, "extensions/orange_edit.png");
340-
editPassword->setPosition(Vec2(visibleOrigin.x+visibleSize.width/2-50, visibleOrigin.y+visibleSize.height/2));
341-
editPassword->setFontColor(Color3B::GREEN);
342-
editPassword->setPlaceHolder("Password:");
343-
editPassword->setMaxLength(6);
344-
editPassword->setInputFlag(ui::EditBox::InputFlag::PASSWORD);
345-
editPassword->setInputMode(ui::EditBox::InputMode::SINGLE_LINE);
346-
editPassword->setFontSize(editBoxSize.height/2);
347-
editPassword->setTextHorizontalAlignment(TextHAlignment::CENTER);
348-
addChild(editPassword);
349-
350-
// bottom
351-
// Add an intermediate Node to test scaling and content size relative to world
352-
Node* editEmailParent = Node::create();
353-
// _editEmailParent->setScale(0.5);
354-
editEmailParent->setPosition(Vec2(visibleOrigin.x+visibleSize.width/2-50, visibleOrigin.y+visibleSize.height/4));
355-
addChild(editEmailParent);
356-
357-
auto bottomButtonSize = Size(editBoxSize.width, editBoxSize.height + 10);
358-
ui::EditBox* editEmail = ui::EditBox::create(bottomButtonSize, "extensions/yellow_edit.png");
359-
editEmail->setPlaceHolder("Email:");
360-
editEmail->setInputMode(ui::EditBox::InputMode::EMAIL_ADDRESS);
361-
editEmail->setVisible(true);
362-
editEmailParent->addChild(editEmail);
363-
//It is required to use setFontSize and setContentSize after adding it to the hierarchy, so that native EditBox get the right size
364-
editEmail->setFontSize(30);
365-
editEmail->setContentSize(bottomButtonSize);
366-
editEmail->setTextHorizontalAlignment(TextHAlignment::RIGHT);
367-
368-
return true;
310+
bool UIEditBoxTestTextHorizontalAlignment::init() {
311+
if (!UIScene::init()) {
312+
return false;
369313
}
370-
return false;
314+
315+
const auto glview = Director::getInstance()->getOpenGLView();
316+
const auto visibleOrigin = glview->getVisibleOrigin();
317+
const auto visibleSize = glview->getVisibleSize();
318+
const auto editBoxSize = Size(visibleSize.width - 100, visibleSize.height * 0.1);
319+
320+
const auto createEditBox = [this, editBoxSize, visibleOrigin, visibleSize](const std::string& text,
321+
const TextHAlignment alignment,
322+
const int position_y) {
323+
ui::EditBox* editbox = ui::EditBox::create(editBoxSize + Size(0,40), ui::Scale9Sprite::create("extensions/green_edit.png"));
324+
editbox->setPosition(Vec2(visibleOrigin.x+visibleSize.width/2-50, position_y));
325+
editbox->setFontColor(Color3B::RED);
326+
editbox->setPlaceHolder(text.c_str());
327+
editbox->setPlaceholderFontColor(Color3B::WHITE);
328+
editbox->setMaxLength(8);
329+
editbox->setFontSize(editBoxSize.height/2);
330+
editbox->setText(text.c_str());
331+
editbox->setTextHorizontalAlignment(alignment);
332+
editbox->setReturnType(ui::EditBox::KeyboardReturnType::DONE);
333+
addChild(editbox);
334+
};
335+
336+
createEditBox("left alignment", TextHAlignment::LEFT, visibleOrigin.y+visibleSize.height*3/4);
337+
createEditBox("center alignment", TextHAlignment::CENTER, visibleOrigin.y+visibleSize.height/2);
338+
createEditBox("right alignment", TextHAlignment::RIGHT, visibleOrigin.y+visibleSize.height/4);
339+
340+
return true;
371341
}

0 commit comments

Comments
 (0)