/////////////////// <RANGE CONTROL> void PropertyGridManager::buildRangeControl(MyGUI::Widget *const control, PropertyGridProperty *const property) { int left = insertPropertyIdLabel(control, property) ; // scrollbar in between int width = control->getWidth() - left - WIDGET_SPACING * 2; MyGUI::IntCoord coord(left + WIDGET_SPACING, 1, width, control->getHeight() - 2); MyGUI::ScrollBar *scrollBar = (MyGUI::ScrollBar *)control->createWidget<MyGUI::ScrollBar>("SliderH", coord, MyGUI::Align::Left | MyGUI::Align::Top, "ScrollBar"); scrollBar->setEnabled(!property->isReadOnly()); MyGUIUtils::expandWidgetCoord(control, 0, 0, 0, 2); scrollBar->setScrollRange(100); scrollBar->setUserData(property); static_cast<MyGUI::ScrollBar *>(scrollBar)->eventScrollChangePosition += MyGUI::newDelegate(this, &PropertyGridManager::onMyGUIScrollChangePosition); MyGUI::TextBox *labelPtr; // label for min value left = insertLabel(control, "minLabel", "0.000", scrollBar->getLeft() + WIDGET_SPACING, labelPtr); labelPtr->setAlign(MyGUI::Align::Left | MyGUI::Align::VCenter); labelPtr->setNeedMouseFocus(false); labelPtr->setTextAlign(MyGUI::Align::Left); labelPtr->setTextColour(MyGUI::Colour::Black); // label for max value insertLabel(control, "maxLabel", "0.000", scrollBar->getRight() - labelPtr->getWidth() - WIDGET_SPACING, labelPtr); // built right after the minLabel labelPtr->setAlign(MyGUI::Align::Right | MyGUI::Align::VCenter); labelPtr->setNeedMouseFocus(false); labelPtr->setTextAlign(MyGUI::Align::Right); labelPtr->setTextColour(MyGUI::Colour::Black); // label for value insertLabel(control, "valueLabel", "0.000", (scrollBar->getLeft() + scrollBar->getRight()) / 2, labelPtr); // built right after the minLabel labelPtr->setAlign(MyGUI::Align::Center); labelPtr->setNeedMouseFocus(false); labelPtr->setTextAlign(MyGUI::Align::Center); labelPtr->setTextColour(MyGUI::Colour::Black); }
void DemoKeeper::notifyEventAction(MainPanel::TypeEvents _action, size_t _index) { if (_action == MainPanel::EventQuit) { quit(); } else if (_action == MainPanel::EventNew) { removeRenderBoxes(); destroyWindows(); mEditorWindow->clearView(); } else if (_action == MainPanel::EventLoad) { createWindows(); } else if (_action == MainPanel::EventCreate) { MyGUI::Widget* view = mEditorWindow->getView(); const MyGUI::IntCoord& coord = view->getClientCoord(); if (_index == 0) { const MyGUI::IntSize size(80, 80); MyGUI::Window* window = view->createWidget<MyGUI::Window>(MyGUI::WidgetStyle::Overlapped, "WindowCS", MyGUI::IntCoord(getRand(0, coord.width - size.width), getRand(0, coord.height - size.height), size.width, size.height), MyGUI::Align::Default); window->setCaption("Frame"); window->setMinSize(size); } else if (_index == 1) { const MyGUI::IntSize size(180, 15); MyGUI::ScrollBar* scroll = view->createWidget<MyGUI::ScrollBar>("ScrollBarH", MyGUI::IntCoord(getRand(0, coord.width - size.width), getRand(0, coord.height - size.height), size.width, size.height), MyGUI::Align::Default); scroll->setScrollRange(200); scroll->setScrollPosition(10); scroll->setScrollPage(1); scroll->setScrollViewPage(20); } else if (_index == 2) { const MyGUI::IntSize size(15, 180); MyGUI::ScrollBar* scroll = view->createWidget<MyGUI::ScrollBar>("ScrollBarV", MyGUI::IntCoord(getRand(0, coord.width - size.width), getRand(0, coord.height - size.height), size.width, size.height), MyGUI::Align::Default); scroll->setScrollRange(200); scroll->setScrollPosition(10); scroll->setScrollPage(1); scroll->setScrollViewPage(20); } else if (_index == 3) { const MyGUI::IntSize size(80, 26); MyGUI::TextBox* text = view->createWidget<MyGUI::TextBox>("TextBox", MyGUI::IntCoord(getRand(0, coord.width - size.width), getRand(0, coord.height - size.height), size.width, size.height), MyGUI::Align::Default); text->setCaption("TextBox"); } else if (_index == 4) { const MyGUI::IntSize size(50, 50); MyGUI::ImageBox* image = view->createWidget<MyGUI::ImageBox>("ImageBox", MyGUI::IntCoord(getRand(0, coord.width - size.width), getRand(0, coord.height - size.height), size.width, size.height), MyGUI::Align::Default); image->setImageTexture("HelpIcon.png"); } else if (_index == 5) { const MyGUI::IntSize size(150, 150); MyGUI::Window* window = view->createWidget<MyGUI::Window>(MyGUI::WidgetStyle::Overlapped, "WindowC", MyGUI::IntCoord(getRand(0, coord.width - size.width), getRand(0, coord.height - size.height), size.width, size.height), MyGUI::Align::Default); window->setCaption("Render"); MyGUI::Canvas* canvas = window->createWidget<MyGUI::Canvas>("Canvas", MyGUI::IntCoord(0, 0, window->getClientCoord().width, window->getClientCoord().height), MyGUI::Align::Stretch); createRenderBox(canvas); } } }
void DemoKeeper::notifyEventAction(MainPanel::TypeEvents _action, size_t _index) { static MyGUI::IVertexBuffer* vbo = nullptr; if (_action == MainPanel::EventQuit) { if (vbo) MyGUI::RenderManager::getInstance().destroyVertexBuffer(vbo); quit(); } else if (_action == MainPanel::EventNew) { //cocos2d::extension::CCNotificationCenter::sharedNotificationCenter()->postNotification(EVENT_COME_TO_BACKGROUND); //cocos2d::CCNotificationCenter::sharedNotificationCenter()->postNotification(EVNET_COME_TO_FOREGROUND); //removeRenderBoxes(); //destroyWindows(); //mEditorWindow->clearView(); //MyGUI::Widget *tempWindow = mEditorWindow->getView()->findWidget("tempWindow"); //if (tempWindow) // MyGUI::Gui::getInstance().destroyWidget(tempWindow); if (vbo) { MyGUI::RenderManager::getInstance().destroyVertexBuffer(vbo); vbo = nullptr; } } else if (_action == MainPanel::EventLoad) { //mEditorWindow->getView()->createWidget<MyGUI::Window>( // MyGUI::WidgetStyle::Overlapped, "WindowCSX", // MyGUI::IntCoord(10, 10, 100, 100), // MyGUI::Align::Default, "", "tempWindow"); if (!vbo) { vbo = MyGUI::RenderManager::getInstance().createVertexBuffer(); } for (unsigned i = 2; i < 2048; i += 4) { vbo->setVertexCount(i); vbo->lock(); vbo->unlock(); } //createWindows(); } else if (_action == MainPanel::EventCreate) { MyGUI::Widget* view = mEditorWindow->getView(); const MyGUI::IntCoord& coord = view->getClientCoord(); if (_index == 0) { const MyGUI::IntSize size(80, 80); MyGUI::Window* window = view->createWidget<MyGUI::Window>(MyGUI::WidgetStyle::Overlapped, "WindowCS", MyGUI::IntCoord(getRand(0, coord.width - size.width), getRand(0, coord.height - size.height), size.width, size.height), MyGUI::Align::Default); window->setCaption("Frame"); window->setMinSize(size); } else if (_index == 1) { const MyGUI::IntSize size(180, 15); MyGUI::ScrollBar* scroll = view->createWidget<MyGUI::ScrollBar>("ScrollBarH", MyGUI::IntCoord(getRand(0, coord.width - size.width), getRand(0, coord.height - size.height), size.width, size.height), MyGUI::Align::Default); scroll->setScrollRange(200); scroll->setScrollPosition(10); scroll->setScrollPage(1); scroll->setScrollViewPage(20); } else if (_index == 2) { const MyGUI::IntSize size(15, 180); MyGUI::ScrollBar* scroll = view->createWidget<MyGUI::ScrollBar>("ScrollBarV", MyGUI::IntCoord(getRand(0, coord.width - size.width), getRand(0, coord.height - size.height), size.width, size.height), MyGUI::Align::Default); scroll->setScrollRange(200); scroll->setScrollPosition(10); scroll->setScrollPage(1); scroll->setScrollViewPage(20); } else if (_index == 3) { const MyGUI::IntSize size(80, 26); MyGUI::TextBox* text = view->createWidget<MyGUI::TextBox>("TextBox", MyGUI::IntCoord(getRand(0, coord.width - size.width), getRand(0, coord.height - size.height), size.width, size.height), MyGUI::Align::Default); text->setCaption("TextBox"); } else if (_index == 4) { const MyGUI::IntSize size(50, 50); MyGUI::ImageBox* image = view->createWidget<MyGUI::ImageBox>("ImageBox", MyGUI::IntCoord(getRand(0, coord.width - size.width), getRand(0, coord.height - size.height), size.width, size.height), MyGUI::Align::Default); image->setImageTexture("HelpIcon.png"); } else if (_index == 5) { const MyGUI::IntSize size(480, 320); MyGUI::Window* window = view->createWidget<MyGUI::Window>(MyGUI::WidgetStyle::Overlapped, "WindowCSX", MyGUI::IntCoord(getRand(0, coord.width - size.width), getRand(0, coord.height - size.height), size.width, size.height), MyGUI::Align::Default); window->setCaption("Render"); MyGUI::Canvas* canvas = window->createWidget<MyGUI::Canvas>("Canvas", MyGUI::IntCoord(0, 0, window->getClientCoord().width, window->getClientCoord().height), MyGUI::Align::Stretch); createRenderBox(canvas); } } }