예제 #1
0
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();
}
예제 #2
0
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);
		}
	}
}
예제 #3
0
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);
	}