bool UpdateCanSaleMCLDate(const CEGUI::EventArgs& e) { AHdata& ah = GetInst(AHdata); AHdata::vecOrderRaw listOR = ah.m_CanSaleOrder;//可出售列表 CEGUI::MultiColumnList* mcl = WMCL(WEArgs(e).window); if(!mcl) return false; mcl->resetList(); AHdata::vecOrderRaw::iterator it = listOR.begin(); for (uint i = 0 ; i < listOR.size() ; ++i,++it) { mcl->addRow(); CEGUI::ListboxTextItem* lti = new CEGUI::ListboxTextItem(ToCEGUIString(AppFrame::GetText("AU_104")),it->id);//第二个参数与订单ID关联 lti->setSelectionBrushImage(IMAGES_FILE_NAME,BRUSH_NAME); mcl->setItem(lti,0,i); lti = new CEGUI::ListboxTextItem(CEGUI::PropertyHelper::intToString(it->price)); lti->setSelectionBrushImage(IMAGES_FILE_NAME,BRUSH_NAME); mcl->setItem(lti,1,i); lti = new CEGUI::ListboxTextItem(CEGUI::PropertyHelper::intToString(it->cnt)); lti->setSelectionBrushImage(IMAGES_FILE_NAME,BRUSH_NAME); mcl->setItem(lti,2,i); } return true; }
bool UpdatePerMCLDate(const CEGUI::EventArgs& e) { AHdata& ah = GetInst(AHdata); //AHdata::listSubOrderRaw listSubOR = ah.m_AgentOrder; AHdata::MapSubOrderRaw mapSubOR = ah.m_AgentOrder; CEGUI::MultiColumnList* mcl = WMCL(WEArgs(e).window); if(!mcl) return false; mcl->resetList(); AHdata::MapSubOrderRaw::iterator it = mapSubOR.begin(); for (int i = 0 ; it != mapSubOR.end(); ++it,++i) { mcl->addRow(); CEGUI::ListboxTextItem* lti = NULL; lti = new CEGUI::ListboxTextItem(CEGUI::PropertyHelper::intToString(it->first),it->first);//控件ID与订单ID关联 lti->setSelectionBrushImage(IMAGES_FILE_NAME,BRUSH_NAME); mcl->setItem(lti,0,i); AH::SubOrderRaw& mapOr = it->second; if(mapOr.type == AH::OT_BUY) lti = new CEGUI::ListboxTextItem(ToCEGUIString(AppFrame::GetText("AU_104"))); else if(mapOr.type == AH::OT_SELL) lti = new CEGUI::ListboxTextItem(ToCEGUIString(AppFrame::GetText("AU_105"))); lti->setSelectionBrushImage(IMAGES_FILE_NAME,BRUSH_NAME); mcl->setItem(lti,1,i); lti = new CEGUI::ListboxTextItem(CEGUI::PropertyHelper::intToString(mapOr.cnt)); lti->setSelectionBrushImage(IMAGES_FILE_NAME,BRUSH_NAME); mcl->setItem(lti,2,i); lti = new CEGUI::ListboxTextItem(CEGUI::PropertyHelper::intToString(mapOr.price)); lti->setSelectionBrushImage(IMAGES_FILE_NAME,BRUSH_NAME); mcl->setItem(lti,3,i); ///////////////////////////////////////////////// // zhaohang 2010/5/12 // 时间UI未处理 ///////////////////////////////////////////////// uint subtime = mapOr.gentime / 60 / 60; lti = new CEGUI::ListboxTextItem(CEGUI::PropertyHelper::intToString(subtime)); lti->setSelectionBrushImage(IMAGES_FILE_NAME,BRUSH_NAME); mcl->setItem(lti,4,i); } return false; }
_MEMBER_FUNCTION_IMPL(GUIMultiColumnList, addRow) { CEGUI::MultiColumnList * pWindow = sq_getinstance<CEGUI::MultiColumnList *>(pVM); if(!pWindow) { sq_pushbool(pVM, false); return 1; } // Add row or insert at index if(sq_gettop(pVM) > 1) { SQInteger sqiInsert = 0; sq_getinteger(pVM, -1, &sqiInsert); sq_pushinteger(pVM, pWindow->insertRow(sqiInsert)); } else sq_pushinteger(pVM, pWindow->addRow()); return 1; }
void t_chessGui::initServer() { CEGUI::FrameWindow *server = static_cast<CEGUI::FrameWindow *>(wmgr->loadWindowLayout("server.layout")); myRoot->addChildWindow(server); server->subscribeEvent(CEGUI::FrameWindow::EventCloseClicked,CEGUI::Event::Subscriber(boost::bind(closeServer,server,_1))); CEGUI::MenuItem *serverItem = static_cast<CEGUI::MenuItem *>(wmgr->getWindow("Root/FrameWindow/Menubar/File/New")); serverItem->subscribeEvent(CEGUI::MenuItem::EventClicked,CEGUI::Event::Subscriber(boost::bind(openServer,server,_1))); CEGUI::MultiColumnList *testing = static_cast<CEGUI::MultiColumnList *>(wmgr->getWindow("Lols3")); testing->addColumn("Names",0,CEGUI::UDim(.25,0)); testing->addColumn("Action",1,CEGUI::UDim(.25,0)); testing->addColumn("Wins",2,CEGUI::UDim(.25,0)); testing->addColumn("Losses",3,CEGUI::UDim(.25,0)); testing->addRow(); testing->addRow(); testing->setItem(new CEGUI::ListboxTextItem("What, wow,"),0u,0u); server->hide(); }
void PropertiesWindow::addPropertyArray(const Property& prop, const CeGuiString& key) { // Create the new MultiColumnList with two columns // Type and Value and set tab text to key int tabCount = mTabPane->getTabCount(); CEGUI::MultiColumnList* newTable = static_cast<CEGUI::MultiColumnList*> (CEGUI::WindowManager::getSingleton().createWindow("RastullahLook/MultiColumnList", "PropertiesWindow/PropertiesTabControl/" + key)); // Set table properties newTable->setText(key); newTable->setPosition(CEGUI::UVector2( CEGUI::UDim(0,0), CEGUI::UDim(0,0))); newTable->setSize(CEGUI::UVector2( CEGUI::UDim(1,0), CEGUI::UDim(1,0))); newTable->setUserSortControlEnabled(false); newTable->setFont("Vera Serif-8"); newTable->addColumn("Type", 0, cegui_reldim(0.3)); newTable->addColumn("Value", 1, cegui_reldim(0.7)); // Add the MultiColumnList to the tab pane mTabPane->addTab(newTable); // Get access to the vector PropertyArray vProp = prop.toArray(); // Iterate through the vector entries and add them // to the table for(PropertyArray::const_iterator it = vProp.begin(); it != vProp.end(); it++) { // Check for Int if (it->isInt() ) { addPropertyInt(*it, newTable); } // Check for IntPair else if (it->isIntPair() ) { addPropertyIntPair(*it, newTable); int rowCount = newTable->getRowCount(); newTable->addRow(rowCount); newTable->setItem(new ListboxTextItem(""), 0, rowCount); } // Check for IntTriple else if (it->isIntTriple() ) { addPropertyIntTriple(*it, newTable); int rowCount = newTable->getRowCount(); newTable->addRow(rowCount); newTable->setItem(new ListboxTextItem(""), 0, rowCount); } // Check for String else if (it->isString() ) { addPropertyString(*it, newTable); } // Check for Bool else if (it->isBool() ) { addPropertyBool(*it, newTable); } // Check for Real else if (it->isReal() ) { addPropertyReal(*it, newTable); } // Check for Vector3 else if (it->isVector3() ) { addPropertyArray3(*it, newTable); int rowCount = newTable->getRowCount(); newTable->addRow(rowCount); newTable->setItem(new ListboxTextItem(""), 0, rowCount); } // Check for Quaternion else if (it->isQuaternion() ) { addPropertyQuaternion(*it, newTable); int rowCount = newTable->getRowCount(); newTable->addRow(rowCount); newTable->setItem(new ListboxTextItem(""), 0, rowCount); } } newTable->autoSizeColumnHeader(0); newTable->autoSizeColumnHeader(1); }
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"); } }
void sge::cegui::toolbox::append_row( CEGUI::MultiColumnList &_list, sge::cegui::toolbox::row const &_mapper ) { FCPPT_ASSERT_PRE( static_cast< sge::cegui::toolbox::row::size_type >( _list.getColumnCount() ) == _mapper.size() ); FCPPT_ASSERT_PRE( !_mapper.empty() ); CEGUI::uint const index( _list.addRow( new CEGUI::ListboxTextItem( _mapper[ 0 ], 0, nullptr ), 0 ) ); for( sge::cegui::toolbox::row::size_type const cur : fcppt::make_int_range( fcppt::literal< sge::cegui::toolbox::row::size_type >( 1u ), _mapper.size() ) ) _list.setItem( new CEGUI::ListboxTextItem( _mapper[ cur ], 0, nullptr ), static_cast< CEGUI::uint >( cur ), index ); }