axmol/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UISliderTest/UISliderTest_Editor.cpp

146 lines
4.4 KiB
C++
Raw Normal View History

2014-03-04 16:51:35 +08:00
#include "UISliderTest_Editor.h"
// UISliderTest_Editor
UISliderTest_Editor::UISliderTest_Editor()
: _displayValueLabel(nullptr)
2014-03-04 16:51:35 +08:00
{
}
UISliderTest_Editor::~UISliderTest_Editor()
{
}
2014-07-01 15:47:40 +08:00
void UISliderTest_Editor::switchLoadMethod(cocos2d::Ref *pSender)
2014-03-04 16:51:35 +08:00
{
2014-07-01 15:47:40 +08:00
MenuItemToggle *item = (MenuItemToggle*)pSender;
switch (item->getSelectedIndex())
{
case 0:
{
_layout->removeFromParentAndCleanup(true);
2014-10-18 14:48:27 +08:00
_layout = static_cast<Layout*>(cocostudio::GUIReader::getInstance()->widgetFromJsonFile("cocosui/UIEditorTest/UISlider/windows_ui_slider_editor_1.json"));
_touchGroup->addChild(_layout);
this->configureGUIScene();
break;
}
case 1:
{
_layout->removeFromParentAndCleanup(true);
2014-10-18 14:48:27 +08:00
_layout = static_cast<Layout*>(cocostudio::GUIReader::getInstance()->widgetFromBinaryFile("cocosui/UIEditorTest/UISlider/windows_ui_slider_editor_1.csb"));
_touchGroup->addChild(_layout);
this->configureGUIScene();
break;
}
case 2:
{
_layout->removeFromParentAndCleanup(true);
2014-10-18 14:48:27 +08:00
Node* node = CSLoader::createNode("cocosui/UIEditorTest/UISlider/crossplatform_UISlider_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);
2014-10-18 14:48:27 +08:00
Node* node = CSLoader::createNode("cocosui/UIEditorTest/UISlider/crossplatform_UISlider_Editor_1.csb");
Node* child = node->getChildByTag(5);
child->removeFromParent();
_layout = static_cast<Layout*>(child);
_touchGroup->addChild(_layout);
this->configureGUIScene();
break;
}
default:
break;
2014-07-01 15:47:40 +08:00
}
}
void UISliderTest_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(CC_CALLBACK_2(UIScene_Editor::toGUIEditorTestScene, this));
_sceneTitle = static_cast<Text*>(Helper::seekWidgetByName(root, "UItest"));
Slider* slider = static_cast<Slider*>(Helper::seekWidgetByName(root, "Slider_738"));
slider->addEventListener(CC_CALLBACK_2(UISliderTest_Editor::sliderEvent, this));
}
bool UISliderTest_Editor::init()
{
if (UIScene_Editor::init())
{
2014-10-18 14:48:27 +08:00
Node* node = CSLoader::createNode("cocosui/UIEditorTest/UISlider/crossplatform_UISlider_Editor_1.csb");
Node* child = node->getChildByTag(5);
child->removeFromParent();
_layout = static_cast<Layout*>(child);
2014-07-01 15:47:40 +08:00
_touchGroup->addChild(_layout);
2014-07-01 15:47:40 +08:00
this->configureGUIScene();
2014-03-04 16:51:35 +08:00
_displayValueLabel = Text::create();
_displayValueLabel->setFontName("fonts/Marker Felt.ttf");
2014-03-04 16:51:35 +08:00
_displayValueLabel->setFontSize(30);
2014-05-14 15:26:14 +08:00
_displayValueLabel->setString("No event");
2014-06-20 11:18:53 +08:00
_displayValueLabel->setPosition(Vec2(_layout->getContentSize().width / 2,
_layout->getContentSize().height - _displayValueLabel->getContentSize().height * 1.75f));
2014-07-01 15:47:40 +08:00
_touchGroup->addChild(_displayValueLabel, 20);
2014-03-04 16:51:35 +08:00
return true;
}
return false;
}
2014-05-12 11:17:06 +08:00
void UISliderTest_Editor::sliderEvent(Ref *pSender, Slider::EventType type)
2014-03-04 16:51:35 +08:00
{
switch (type)
{
2014-05-12 11:17:06 +08:00
case Slider::EventType::ON_PERCENTAGE_CHANGED:
2014-03-04 16:51:35 +08:00
{
Slider* slider = static_cast<Slider*>(pSender);
2014-05-14 15:26:14 +08:00
_displayValueLabel->setString(CCString::createWithFormat("percent %d", slider->getPercent())->getCString());
2014-03-04 16:51:35 +08:00
}
break;
default:
break;
}
}