axmol/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UILoadingBarTest/UILoadingBarTest_Editor.cpp

161 lines
4.8 KiB
C++
Raw Normal View History

2014-03-04 16:51:35 +08:00
#include "UILoadingBarTest_Editor.h"
// UILoadingBarTest_Editor
UILoadingBarTest_Editor::UILoadingBarTest_Editor()
2014-07-04 11:48:55 +08:00
:_count(0)
2014-03-04 16:51:35 +08:00
{
}
UILoadingBarTest_Editor::~UILoadingBarTest_Editor()
{
}
void UILoadingBarTest_Editor::switchLoadMethod(cocos2d::Ref *pSender)
2014-03-04 16:51:35 +08:00
{
MenuItemToggle *item = (MenuItemToggle*)pSender;
_count = 0;
switch (item->getSelectedIndex())
{
case 0:
{
_layout->removeFromParentAndCleanup(true);
_layout = static_cast<Layout*>(cocostudio::GUIReader::getInstance()->widgetFromJsonFile("cocosui/UIEditorTest/UILoadingBar_Editor/windows_ui_loadingbar_editor_1.json"));
_touchGroup->addChild(_layout);
this->configureGUIScene();
break;
}
case 1:
{
_layout->removeFromParentAndCleanup(true);
_layout = static_cast<Layout*>(cocostudio::GUIReader::getInstance()->widgetFromBinaryFile("cocosui/UIEditorTest/UILoadingBar_Editor/windows_ui_loadingbar_editor_1.csb"));
_touchGroup->addChild(_layout);
this->configureGUIScene();
break;
}
case 2:
{
_layout->removeFromParentAndCleanup(true);
Node* node = CSLoader::createNode("cocosui/UIEditorTest/UILoadingBar_Editor/crossplatform_UILoadingBar_Editor_1.ExportJson");
Node* child = node->getChildByTag(5);
child->removeFromParent();
_layout = static_cast<Layout*>(child);
_touchGroup->addChild(_layout);
this->configureGUIScene();
break;
}
case 3:
{
_layout->removeFromParentAndCleanup(true);
Node* node = CSLoader::createNode("cocosui/UIEditorTest/UILoadingBar_Editor/crossplatform_UILoadingBar_Editor_1.csb");
Node* child = node->getChildByTag(5);
child->removeFromParent();
_layout = static_cast<Layout*>(child);
_touchGroup->addChild(_layout);
this->configureGUIScene();
break;
}
default:
break;
}
}
void UILoadingBarTest_Editor::configureGUIScene()
{
Size screenSize = CCDirector::getInstance()->getWinSize();
Size rootSize = _layout->getContentSize();
_touchGroup->setPosition(Vec2((screenSize.width - rootSize.width) / 2,
(screenSize.height - rootSize.height) / 2));
Layout* root = static_cast<Layout*>(_layout->getChildByName("root_Panel"));
Text* back_label = static_cast<Text*>(Helper::seekWidgetByName(root, "back"));
// back_label->addTouchEventListener(this, toucheventselector(UIScene_Editor::toGUIEditorTestScene));
back_label->addTouchEventListener(CC_CALLBACK_2(UIScene_Editor::toGUIEditorTestScene, this));
_sceneTitle = static_cast<Text*>(Helper::seekWidgetByName(root, "UItest"));
LoadingBar* loadingBar_left_to_right = dynamic_cast<LoadingBar*>(Helper::seekWidgetByName(root, "LoadingBar_856"));
loadingBar_left_to_right->setPercent(0);
LoadingBar* loadingBar_right_to_left = dynamic_cast<LoadingBar*>(Helper::seekWidgetByName(root, "LoadingBar_857"));
loadingBar_right_to_left->setPercent(0);
}
bool UILoadingBarTest_Editor::init()
{
if (UIScene_Editor::init())
{
scheduleUpdate();
2014-03-04 16:51:35 +08:00
Node* node = CSLoader::createNode("cocosui/UIEditorTest/UILoadingBar_Editor/crossplatform_UILoadingBar_Editor_1.csb");
Node* child = node->getChildByTag(5);
child->removeFromParent();
_layout = static_cast<Layout*>(child);
_touchGroup->addChild(_layout);
this->configureGUIScene();
2014-03-04 16:51:35 +08:00
return true;
}
return false;
}
void UILoadingBarTest_Editor::update(float delta)
{
_count++;
if (_count > 100)
{
_count = 0;
}
Layout* root = static_cast<Layout*>(_layout->getChildByName("root_Panel"));
LoadingBar* loadingBar_left_to_right = dynamic_cast<LoadingBar*>(Helper::seekWidgetByName(root, "LoadingBar_856"));
loadingBar_left_to_right->setPercent(_count);
LoadingBar* loadingBar_right_to_left = dynamic_cast<LoadingBar*>(Helper::seekWidgetByName(root, "LoadingBar_857"));
loadingBar_right_to_left->setPercent(_count);
}
void UILoadingBarTest_Editor::toCocosGUITestScene(Ref* sender, Widget::TouchEventType event)
2014-03-04 16:51:35 +08:00
{
2014-05-09 11:52:51 +08:00
switch (event)
2014-03-04 16:51:35 +08:00
{
2014-05-09 11:52:51 +08:00
case Widget::TouchEventType::ENDED:
2014-03-04 16:51:35 +08:00
{
unscheduleUpdate();
UIScene_Editor::toGUIEditorTestScene(sender, event);
2014-03-04 16:51:35 +08:00
}
break;
default:
break;
}
2014-03-11 17:13:54 +08:00
}