void GUIManager::addButtons(TiXmlNode* buttons_node, float* values, MyGUI::Window* w) { for(TiXmlNode* button_node = buttons_node->FirstChild("button"); button_node; button_node = button_node->NextSibling()) { std::string name_text = GameManager::textFromChildNode(button_node, "name"); std::string caption_text = GameManager::textFromChildNode(button_node, "caption"); std::string skin_text = GameManager::textFromChildNode(button_node, "skin"); std::string position_text = GameManager::textFromChildNode(button_node, "position"); GameManager::parseFloats(position_text, values); uint32 left = (uint32) values[0]; uint32 top = (uint32) values[1]; std::string size_text = GameManager::textFromChildNode(button_node, "size"); GameManager::parseFloats(size_text, values); uint32 width = (uint32) values[0]; uint32 height = (uint32) values[1]; std::string file_name_text = GameManager::textFromChildNode(button_node, "file_name"); std::string script_name_text = GameManager::textFromChildNode(button_node, "script_name"); std::string font_size_text = GameManager::textFromChildNode(button_node, "font"); uint32 font_size = (uint32) GameManager::parseFloat(font_size_text); MyGUI::Button* b = w->createWidget<MyGUI::Button>(skin_text, left, top, width, height, MyGUI::Align::Default, name_text); b->setCaption(caption_text); b->setFontHeight(font_size); b->setTextColour(MyGUI::Colour(0,0,0)); b->eventMouseButtonPressed += newDelegate(this, &GUIManager::buttonGUIDelegate); GUIWidgetScript* widget_script = new GUIWidgetScript(b, name_text); widget_script->setFileName(file_name_text); widget_script->setScriptName(script_name_text); all_widgets->tableInsert(widget_script); } }