bool CFileSystemDialogImp::OnItemDblClicked( const CEGUI::EventArgs& e ) {GUCE_TRACE; // Test if this was a left mouse click const CEGUI::MouseEventArgs& eData = static_cast< const CEGUI::MouseEventArgs& >( e ); if ( eData.button == CEGUI::LeftButton ) { // Get some easy access to data CGridViewImp* fsView = static_cast< CGridViewImp* >( GetFileSystemGridView() ); CEGUI::MultiColumnList* fsViewWidget = fsView->GetImplementationWidget(); UInt32 columnIndex = 0; UInt32 rowIndex = 0; if ( fsView->TestForItemHit( eData.position.d_x , eData.position.d_y , columnIndex , rowIndex ) ) { CEGUI::ListboxItem* listItem = fsViewWidget->getItemAtGridReference( CEGUI::MCLGridRef( rowIndex, columnIndex ) ); if ( NULL != listItem ) { if ( listItem->getText() == ".." ) { // ".." means go up one dir m_currentPath = GUCEF::CORE::StripLastSubDir( m_currentPath ); RefreshView(); } else if ( IsItemADirectory( listItem->getText().c_str() ) ) { GUCEF::CORE::AppendToPath( m_currentPath, listItem->getText().c_str() ); RefreshView(); } else if ( IsItemAnArchive( listItem->getText().c_str() ) ) { CString itemName( listItem->getText().c_str() ); CString realName = itemName.CutChars( 3, true ); GUCEF::CORE::AppendToPath( m_currentPath, realName ); RefreshView(); } } } } return true; }
_MEMBER_FUNCTION_IMPL(GUIMultiColumnList, getItem) { CEGUI::MultiColumnList * pWindow = sq_getinstance<CEGUI::MultiColumnList *>(pVM); if(!pWindow) { sq_pushbool(pVM, false); return 1; } SQInteger sqiRow; SQInteger sqiColumn; sq_getinteger(pVM, -2, &sqiRow); sq_getinteger(pVM, -1, &sqiColumn); try { CEGUI::MCLGridRef grid_ref(sqiRow, sqiColumn); CEGUI::ListboxItem* pItem = pWindow->getItemAtGridReference(grid_ref); sq_pushstring(pVM, pItem->getText().c_str(), -1); } catch(...) { sq_pushbool(pVM, false); } return 1; }
char* CGUIGridList_Impl::GetItemText ( int iRow, int hColumn ) { try { // Grab the item at the chosen row / column CEGUI::ListboxItem* pItem = reinterpret_cast < CEGUI::MultiColumnList* > ( m_pWindow ) -> getItemAtGridReference ( CEGUI::MCLGridRef ( iRow, GetColumnIndex ( hColumn ) ) ); if ( pItem ) { char *szRet = const_cast < char* > ( pItem->getText().c_str () ); if ( !m_bIgnoreTextSpacer ) { unsigned char ucSpacerSize = (unsigned char)(strlen ( CGUIGRIDLIST_SPACER )); if ( hColumn == 1 ) { // Make sure there is a spacer to skip if ( strncmp ( szRet, CGUIGRIDLIST_SPACER, strlen ( CGUIGRIDLIST_SPACER ) ) == 0 ) szRet += ucSpacerSize; } } return szRet; } } catch ( CEGUI::Exception ) { return ""; } return ""; }
bool FileWindow::onSelect(const CEGUI::EventArgs& e) { CEGUI::ListboxItem* item = _pFileList->getFirstSelectedItem(); if (item == NULL) { return true; } intptr_t data = reinterpret_cast< intptr_t >(item->getUserData()); if (data == 0) { //file _pSelectBox->setText(item->getText()); _pOkButton->setEnabled(true); } else if (data == 1) { //dir TCHAR* name = ::bootes::lib::util::TChar::C2T(item->getText().c_str()); tc_string dir = _cwd + _T('\\') + name; delete name; list(dir.c_str()); } return true; }
bool cBonusBox :: Editor_Item_Select( const CEGUI::EventArgs &event ) { const CEGUI::WindowEventArgs &windowEventArgs = static_cast<const CEGUI::WindowEventArgs&>( event ); CEGUI::ListboxItem *item = static_cast<CEGUI::Combobox *>( windowEventArgs.window )->getSelectedItem(); if( item->getText().compare( UTF8_("Mushroom") ) == 0 ) { Set_Bonus_Type( TYPE_MUSHROOM_DEFAULT ); } else if( item->getText().compare( UTF8_("Fireplant") ) == 0 ) { Set_Bonus_Type( TYPE_FIREPLANT ); } else if( item->getText().compare( UTF8_("Mushroom Blue") ) == 0 ) { Set_Bonus_Type( TYPE_MUSHROOM_BLUE ); } else if( item->getText().compare( UTF8_("Mushroom Ghost") ) == 0 ) { Set_Bonus_Type( TYPE_MUSHROOM_GHOST ); } else if( item->getText().compare( UTF8_("Mushroom 1-UP") ) == 0 ) { Set_Bonus_Type( TYPE_MUSHROOM_LIVE_1 ); } else if( item->getText().compare( UTF8_("Star") ) == 0 ) { Set_Bonus_Type( TYPE_STAR ); } else if( item->getText().compare( UTF8_("Goldpiece") ) == 0 ) { Set_Bonus_Type( TYPE_GOLDPIECE ); } else if( item->getText().compare( UTF8_("Mushroom Poison") ) == 0 ) { Set_Bonus_Type( TYPE_MUSHROOM_POISON ); } else if( item->getText().compare( UTF8_("Random") ) == 0 ) { Set_Bonus_Type( TYPE_POWERUP ); } else { Set_Bonus_Type( TYPE_UNDEFINED ); } Editor_State_Update(); return 1; }
bool cRokko::Editor_Direction_Select(const CEGUI::EventArgs& event) { const CEGUI::WindowEventArgs& windowEventArgs = static_cast<const CEGUI::WindowEventArgs&>(event); CEGUI::ListboxItem* item = static_cast<CEGUI::Combobox*>(windowEventArgs.window)->getSelectedItem(); Set_Direction(Get_Direction_Id(item->getText().c_str())); return 1; }
bool cBonusBox::Editor_Gold_Color_Select(const CEGUI::EventArgs& event) { const CEGUI::WindowEventArgs& windowEventArgs = static_cast<const CEGUI::WindowEventArgs&>(event); CEGUI::ListboxItem* item = static_cast<CEGUI::Combobox*>(windowEventArgs.window)->getSelectedItem(); Set_Goldcolor(Get_Color_Id(item->getText().c_str())); return 1; }
bool WidgetDemo::getWidgetType(CEGUI::String &widgetName, CEGUI::String &widgetTypeString) { //Retrieving the Strings for the selections CEGUI::ListboxItem* widgetListboxItem = d_widgetSelectorListbox->getFirstSelectedItem(); CEGUI::ListboxItem* skinListboxItem = d_skinSelectionCombobox->getSelectedItem(); if(!skinListboxItem || !widgetListboxItem) return false; //Recreate the widget's type as String widgetName = widgetListboxItem->getText(); if(skinListboxItem->getText().compare("No Skin") != 0) widgetTypeString= skinListboxItem->getText() + "/"; widgetTypeString += widgetName; return true; }
bool cBonusBox::Editor_Force_best_item_Select(const CEGUI::EventArgs& event) { const CEGUI::WindowEventArgs& windowEventArgs = static_cast<const CEGUI::WindowEventArgs&>(event); CEGUI::ListboxItem* item = static_cast<CEGUI::Combobox*>(windowEventArgs.window)->getSelectedItem(); if (item->getText().compare(UTF8_("Enabled")) == 0) { Set_Force_Best_Item(1); } else { Set_Force_Best_Item(0); } return 1; }
bool CServerBrowser::OnConnectButtonClick(const CEGUI::EventArgs &eventArgs) { CEGUI::MultiColumnList * pMultiColumnList = (CEGUI::MultiColumnList *)m_GUIElements.pServerMultiColumnList; CEGUI::ListboxItem * pHostname = pMultiColumnList->getFirstSelectedItem(); CEGUI::ListboxItem * pHost = pMultiColumnList->getNextSelected(pHostname); CEGUI::ListboxItem * pPlayerCount = pMultiColumnList->getNextSelected(pHost); CEGUI::ListboxItem * pMaxPlayers = pMultiColumnList->getNextSelected(pPlayerCount); CEGUI::ListboxItem * pPing = pMultiColumnList->getNextSelected(pMaxPlayers); CEGUI::ListboxItem * pPassworded = pMultiColumnList->getNextSelected(pPing); // Get the host and port String strHost; unsigned short usPort; if(!CMainMenu::GetHostAndPort(pHost->getText().c_str(), strHost, usPort)) { g_pClient->GetGUI()->ShowMessageBox("You must enter a valid host and port!", "Error!"); return false; } // Hide the server browser window SetVisible(false); // Does this server require a password? if(pPassworded->getText() == "yes") { // TODO: Show password entry window } else { // Call the connect function CMainMenu::GetSingleton()->OnConnect(strHost, usPort, ""); } return true; }
bool cStaticEnemy :: Editor_Fire_Resistant_Select( const CEGUI::EventArgs &event ) { const CEGUI::WindowEventArgs &windowEventArgs = static_cast<const CEGUI::WindowEventArgs&>( event ); CEGUI::ListboxItem *item = static_cast<CEGUI::Combobox *>( windowEventArgs.window )->getSelectedItem(); if( item->getText().compare( UTF8_("Enabled") ) == 0 ) { m_fire_resistant = 1; } else { m_fire_resistant = 0; } return 1; }
bool CComboboxImp::GetListItems( TStringVector& items ) const {GUCE_TRACE; if ( NULL != m_combobox ) { CEGUI::ListboxItem* item = NULL; size_t itemCount = m_combobox->getItemCount(); for ( size_t i=0; i<itemCount; ++i ) { item = m_combobox->getListboxItemFromIndex( i ); items.push_back( item->getText().c_str() ); } return true; } return false; }
void FontDemo::changeFontSelectorFontSelection(const CEGUI::String& font) { while(d_fontSelector->getFirstSelectedItem()) { d_fontSelector->setItemSelectState(d_fontSelector->getFirstSelectedItem(), false); } unsigned int itemCount = d_fontSelector->getItemCount(); for(unsigned int i = 0; i < itemCount; ++i) { CEGUI::ListboxItem* item = d_fontSelector->getListboxItemFromIndex(i); CEGUI::String itemFontName = item->getText(); if(itemFontName.compare(font) == 0) { d_fontSelector->setItemSelectState(item, true); return; } } }
void CServerBrowser::ServerQueryHandler(String strHost, unsigned short usPort, String strQuery, CBitStream * pReply) { // Read the query type char cQueryType; if(!pReply->Read(cQueryType)) return; // Get the server host and port String strHostAndPort("%s:%d", strHost.Get(), usPort); if(cQueryType == 'p') // Ping { // Get the start time from the ping map unsigned long ulStartTime = serverPingStartMap[strHostAndPort]; // Do we have a valid start time? if(ulStartTime > 0) { // Calculate the round trip time unsigned long ulPing = (SharedUtility::GetTime() - ulStartTime); // Set the server ping in the multi column list CEGUI::MultiColumnList * pMultiColumnList = (CEGUI::MultiColumnList *)CServerBrowser::GetSingleton()->m_GUIElements.pServerMultiColumnList; for(unsigned int i = 0; i < pMultiColumnList->getRowCount(); i++) { CEGUI::ListboxItem * pHost = pMultiColumnList->getItemAtGridReference(CEGUI::MCLGridRef(i, 1)); if(!strHostAndPort.Compare(pHost->getText().c_str())) { CEGUI::ListboxItem * pPing = pMultiColumnList->getItemAtGridReference(CEGUI::MCLGridRef(i, 3)); if(pPing) { char szTempBuf[64]; pPing->setText(itoa(ulPing, szTempBuf, 10)); pMultiColumnList->invalidate(); break; } } } } } else { // Check if we have a valid stream if(!pReply || cQueryType != 'i') return; // Read the host name String strHostName; int iPlayerCount; int iMaxPlayers; bool bPassworded; pReply->Read(strHostName); pReply->Read(iPlayerCount); pReply->Read(iMaxPlayers); pReply->Read(bPassworded); // Add the server to the multi column list CEGUI::MultiColumnList * pMultiColumnList = (CEGUI::MultiColumnList *)CServerBrowser::GetSingleton()->m_GUIElements.pServerMultiColumnList; unsigned int iRowIndex = pMultiColumnList->addRow(); pMultiColumnList->setItem(new ServerBrowserListItem(strHostName.Get()), 0, iRowIndex); pMultiColumnList->setItem(new ServerBrowserListItem(strHostAndPort.Get()), 1, iRowIndex); char szPlayerCount[9]; sprintf(szPlayerCount, "%s/%s", iPlayerCount, iMaxPlayers); pMultiColumnList->setItem(new ServerBrowserListItem(szPlayerCount), 2, iRowIndex); pMultiColumnList->setItem(new ServerBrowserListItem("9999"), 3, iRowIndex); pMultiColumnList->setItem(new ServerBrowserListItem(bPassworded ? "Yes" : "No"), 4, iRowIndex); pMultiColumnList->invalidate(); // Save the current time to the ping map serverPingStartMap[strHostAndPort] = SharedUtility::GetTime(); // Send a ping query to the server CServerBrowser::GetSingleton()->m_pServerQuery->Query(strHost, usPort, "p"); } }