void UserProfileHandler::initializeCurrentUserProfile() { //JRT-XXX RecursiveMutex::ScopedLock lock(_mutex); //VOXOX - JRT - 2009.09.22 - Prevent COE initEventHandlers(); LOG_DEBUG("Initializing IMFactories"); Config & config = ConfigManager::getInstance().getCurrentConfig(); initExtLibraries(File::convertPathSeparators(config.getConfigDir() + "profiles/") + _currentUserProfile->getName()); _currentUserProfile->init(); }
void Client::initEventHandlers(MyGUI::Widget* pRootWidget) { MyGUI::EnumeratorWidgetPtr enumerator = pRootWidget->getEnumerator(); while (enumerator.next()) { // buttons MyGUI::Widget* pCurrentElement = enumerator.current(); const std::string widgetName = enumerator.current()->getName(); if (widgetName.find("Button") != std::string::npos) { pCurrentElement->eventMouseButtonClick += MyGUI::newDelegate(this, &Client::button_handler); } // editboxes else if (widgetName.find("EditBox") != std::string::npos) { pCurrentElement->castType<MyGUI::EditBox>()->eventKeyButtonPressed += MyGUI::newDelegate(this, &Client::editBox_handler); } // sliders else if (widgetName.find("Slider") != std::string::npos) { pCurrentElement->castType<MyGUI::ScrollBar>()->eventScrollChangePosition += MyGUI::newDelegate(this, &Client::scrollChangePosition_handler); } // comboboxes else if (widgetName.find("ComboBox") != std::string::npos) { pCurrentElement->castType<MyGUI::ComboBox>()->eventComboChangePosition += MyGUI::newDelegate(this, &Client::comboBox_handler); } // checkboxes else if (widgetName.find("CheckBox") != std::string::npos) { pCurrentElement->eventMouseButtonClick += MyGUI::newDelegate(this, &Client::button_handler); } else if (pCurrentElement->getChildCount() > 0) { initEventHandlers(pCurrentElement); } } }
void Client::initGameGui() { m_isGuiOpened = false; // release old layouts if (!m_guiRoot.empty()) { MyGUI::LayoutManager::getInstance().unloadLayout(m_guiRoot); } // load in-game layout m_guiRoot = MyGUI::LayoutManager::getInstance().loadLayout( CONST_STR("GUI::ClientGameplayLayout") ); m_guiGameWidgets["mainmenuWindow"] = m_guiRoot.at(0); m_guiGameWidgets["chatPanel"] = m_guiRoot.at(1); m_guiGameWidgets["optionsWindow"] = m_guiRoot.at(2); ForEach(MyGUI::MapWidgetPtr, m_guiGameWidgets, it) { initEventHandlers(it->second); }