bool UpdatePickUPUIDate(const CEGUI::EventArgs& e) { CEGUI::Window* pageWnd = WEArgs(e).window; CEGUI::Editbox* edb = WEditBox(pageWnd->getChildRecursive("Auction/Pickup/EditGold")); AHdata& ah = GetInst(AHdata); edb->setText(CEGUI::PropertyHelper::intToString(ah.GetNumGoldCanPickUp())); edb = WEditBox(pageWnd->getChildRecursive("Auction/Pickup/EditWeimian")); edb->setText(CEGUI::PropertyHelper::intToString(ah.GetNumWeimianCanPickUp())); return true; }
void GuiChat::historiqueHaut() { CEGUI::Editbox* editbox = static_cast<CEGUI::Editbox*>(chatWindow->getChild("Editbox")); d_historyPos = ceguimax(d_historyPos - 1, -1); if (d_historyPos >= 0) { editbox->setText(d_history[d_historyPos]); editbox->setCaretIndex(static_cast<size_t>(-1)); } else { editbox->setText(""); } editbox->activate(); }
void GuiChat::historiqueBas() { CEGUI::Editbox* editbox = static_cast<CEGUI::Editbox*>(chatWindow->getChild("Editbox")); d_historyPos = ceguimin(d_historyPos + 1, static_cast<int>(d_history.size())); if (d_historyPos < static_cast<int>(d_history.size())) { editbox->setText(d_history[d_historyPos]); editbox->setCaretIndex(static_cast<size_t>(-1)); } else { editbox->setText(""); } editbox->activate(); }
void cRokko::Editor_Activate(void) { CEGUI::WindowManager& wmgr = CEGUI::WindowManager::getSingleton(); // direction CEGUI::Combobox* combobox = static_cast<CEGUI::Combobox*>(wmgr.createWindow("TaharezLook/Combobox", "editor_rokko_direction")); Editor_Add(UTF8_("Direction"), UTF8_("Direction it moves into."), combobox, 100, 110); combobox->addItem(new CEGUI::ListboxTextItem("left")); combobox->addItem(new CEGUI::ListboxTextItem("right")); combobox->addItem(new CEGUI::ListboxTextItem("up")); combobox->addItem(new CEGUI::ListboxTextItem("down")); combobox->setText(Get_Direction_Name(m_start_direction)); combobox->subscribeEvent(CEGUI::Combobox::EventListSelectionAccepted, CEGUI::Event::Subscriber(&cRokko::Editor_Direction_Select, this)); // speed CEGUI::Editbox* editbox = static_cast<CEGUI::Editbox*>(wmgr.createWindow("TaharezLook/Editbox", "editor_rokko_speed")); Editor_Add(UTF8_("Speed"), UTF8_("Speed when activated"), editbox, 120); editbox->setValidationString("[+]?[0-9]*\\.?[0-9]*"); editbox->setText(float_to_string(m_speed, 6, 0)); editbox->subscribeEvent(CEGUI::Editbox::EventTextChanged, CEGUI::Event::Subscriber(&cRokko::Editor_Speed_Text_Changed, this)); // init Editor_Init(); }
void LoginEvent::OnPageOpen(GamePage *pPage) { CEGUI::Window *pLoginWindow = pPage->GetPageWindow(); //设置账号编辑框并得到焦点 CEGUI::Editbox *pIDEdit = static_cast<CEGUI::Editbox*>(pLoginWindow->getChild("LoginPage/Account")); ///////////////////////////////////////////////// // zhaohang 2010/3/29 // //读cdkey ifstream stream2; stream2.open("setup/cdkey.ini"); if (stream2.is_open()) { bool bRememberCdkey=false; stream2 >> bRememberCdkey; if (bRememberCdkey) { string str; stream2 >> str; pIDEdit->setText(str.c_str()); //m_pRememberCdkey->SetSelected(true); } stream2.close(); }
void Chat::effaceSaisi() { // get the text entry editbox CEGUI::Editbox* editbox = static_cast<CEGUI::Editbox*>(d_root->getChild("Editbox")); editbox->setText(""); editbox->deactivate(); }
void cFlyon::Editor_Activate(void) { // get window manager CEGUI::WindowManager& wmgr = CEGUI::WindowManager::getSingleton(); // direction CEGUI::Combobox* combobox = static_cast<CEGUI::Combobox*>(wmgr.createWindow("TaharezLook/Combobox", "editor_flyon_direction")); Editor_Add(UTF8_("Direction"), UTF8_("Direction it moves into."), combobox, 100, 110); combobox->addItem(new CEGUI::ListboxTextItem("up")); combobox->addItem(new CEGUI::ListboxTextItem("down")); combobox->addItem(new CEGUI::ListboxTextItem("left")); combobox->addItem(new CEGUI::ListboxTextItem("right")); combobox->setText(Get_Direction_Name(m_start_direction)); combobox->subscribeEvent(CEGUI::Combobox::EventListSelectionAccepted, CEGUI::Event::Subscriber(&cFlyon::Editor_Direction_Select, this)); // image dir CEGUI::Editbox* editbox = static_cast<CEGUI::Editbox*>(wmgr.createWindow("TaharezLook/Editbox", "editor_flyon_image_dir")); Editor_Add(UTF8_("Image directory"), UTF8_("Directory containing the images"), editbox, 200); editbox->setText(path_to_utf8(m_img_dir).c_str()); editbox->subscribeEvent(CEGUI::Editbox::EventTextChanged, CEGUI::Event::Subscriber(&cFlyon::Editor_Image_Dir_Text_Changed, this)); // max distance editbox = static_cast<CEGUI::Editbox*>(wmgr.createWindow("TaharezLook/Editbox", "editor_flyon_max_distance")); Editor_Add(UTF8_("Distance"), _("Movable Distance into its direction"), editbox, 90); editbox->setValidationString("^[+]?\\d*$"); editbox->setText(int_to_string(static_cast<int>(m_max_distance))); editbox->subscribeEvent(CEGUI::Editbox::EventTextChanged, CEGUI::Event::Subscriber(&cFlyon::Editor_Max_Distance_Text_Changed, this)); // speed editbox = static_cast<CEGUI::Editbox*>(wmgr.createWindow("TaharezLook/Editbox", "editor_flyon_speed")); Editor_Add(UTF8_("Speed"), UTF8_("Initial speed when jumping out"), editbox, 120); editbox->setValidationString("[+]?[0-9]*\\.?[0-9]*"); editbox->setText(float_to_string(m_speed, 6, 0)); editbox->subscribeEvent(CEGUI::Editbox::EventTextChanged, CEGUI::Event::Subscriber(&cFlyon::Editor_Speed_Text_Changed, this)); // init Editor_Init(); }
/*********************************************************************** Handle timer refresh ***********************************************************************/ bool MinesweeperSample::handleUpdateTimer(const CEGUI::EventArgs&) { if (d_gameStarted) { clock_t time = ::clock(); time -= d_timerStartTime; if (time != d_timerValue) { d_timer->setText(CEGUI::PropertyHelper<CEGUI::uint>::toString(time / CLOCKS_PER_SEC)); d_timerValue = time; } } return true; }
/************************************************************************* Handle new game started event *************************************************************************/ bool MinesweeperSample::handleGameStartClicked(const CEGUI::EventArgs&) { d_result->setVisible(false); boardReset(); boardPositionMines(); for (size_t i = 0 ; i < MinesweeperSize ; ++i) { for(size_t j = 0 ; j < MinesweeperSize ; ++j) { d_buttons[i][j]->setProperty("DisabledTextColour", "FF000000"); d_buttons[i][j]->setText(""); d_buttons[i][j]->setEnabled(true); } } d_counter->setText(CEGUI::PropertyHelper<CEGUI::uint>::toString(MineCount)); // Handle timer d_timerStartTime = ::clock(); d_timerValue = 0; d_timer->setText("0"); d_gameStarted = true; d_alarm->start(); return true; }
void cLayer_Line_Point_Start :: Editor_Activate( void ) { // get window manager CEGUI::WindowManager &wmgr = CEGUI::WindowManager::getSingleton(); // origin CEGUI::Editbox *editbox = static_cast<CEGUI::Editbox *>(wmgr.createWindow( "TaharezLook/Editbox", "layer_line_origin" )); Editor_Add( UTF8_("Waypoint origin"), UTF8_("Waypoint origin"), editbox, 100 ); editbox->setValidationString( "^[+]?\\d*$" ); editbox->setText( int_to_string( m_origin ) ); editbox->subscribeEvent( CEGUI::Editbox::EventTextChanged, CEGUI::Event::Subscriber( &cLayer_Line_Point_Start::Editor_Origin_Text_Changed, this ) ); // init Editor_Init(); }
void GameState::showHighScoreEntryDialog() { CEGUI::WindowManager& winMgr = CEGUI::WindowManager::getSingleton(); _highScoreEntryDialog = winMgr.loadWindowLayout( "highScoreEntry.layout" ); CEGUI::Window* text = static_cast<CEGUI::Window*>(winMgr.getWindow("StaticText")); CEGUI::PushButton* btnOk = static_cast<CEGUI::PushButton*>(winMgr.getWindow("btnOk")); CEGUI::PushButton* btnCancel = static_cast<CEGUI::PushButton*>(winMgr.getWindow("btnCancel")); CEGUI::Editbox* editbox = static_cast<CEGUI::Editbox*>(winMgr.getWindow("Editbox")); text->setText(std::string("New HighScore!\n")+boost::lexical_cast<std::string,int>((int)_playerScore)); btnOk->subscribeEvent(CEGUI::PushButton::EventClicked, CEGUI::Event::Subscriber(&GameState::enterHighScore,this) ); btnCancel->subscribeEvent(CEGUI::PushButton::EventClicked, CEGUI::Event::Subscriber(&GameState::skipHighScore,this) ); editbox->setText("Unknown"); editbox->setMaxTextLength(7); editbox->setValidationString("^\\w*$"); CEGUI::System::getSingleton().setGUISheet( _highScoreEntryDialog ); }
/*********************************************************** handle connect button event ***********************************************************/ bool LoginGUI::HandleConnect(const CEGUI::EventArgs& e) { try { CEGUI::WindowManager::getSingleton().getWindow("DisplayLoginErrorFrame")->hide(); CEGUI::Editbox * lt = static_cast<CEGUI::Editbox *> ( CEGUI::WindowManager::getSingleton().getWindow("LoginText")); CEGUI::Editbox * pt = static_cast<CEGUI::Editbox *> ( CEGUI::WindowManager::getSingleton().getWindow("PasswordText")); CEGUI::Checkbox * cbl = static_cast<CEGUI::Checkbox *> ( CEGUI::WindowManager::getSingleton().getWindow("LoginPlayLocalCb")); if(lt && pt && cbl) { bool seleplaylo = cbl->isSelected(); std::string txtl = lt->getText().c_str(); std::string txtt = pt->getText().c_str(); if((txtl != "") && (txtl.size() <= 20) && (txtt.size() <= 20)) { std::string samples = "Data/Samples/lba2launcherblob.wav"; MusicHandler::getInstance()->PlaySample(samples, 0); ConfigurationManager::GetInstance()->SetString("Player.Name", txtl); pt->setText(""); ThreadSafeWorkpile::getInstance()->AddEvent(new LoginEvent(txtl, txtt, seleplaylo)); } } } catch(CEGUI::Exception &ex) { LogHandler::getInstance()->LogToFile(std::string("Exception trying to get connection info from the gui: ") + ex.getMessage().c_str()); return false; } return true; }
/*********************************************************** init function ***********************************************************/ void LoginGUI::Initialize(const std::string &clientversion) { try { _root = CEGUI::WindowManager::getSingleton().loadWindowLayout( "LoginWindow.layout" ); static_cast<CEGUI::PushButton *> ( CEGUI::WindowManager::getSingleton().getWindow("ConnectB"))->subscribeEvent ( CEGUI::PushButton::EventClicked, CEGUI::Event::Subscriber (&LoginGUI::HandleConnect, this)); static_cast<CEGUI::PushButton *> ( CEGUI::WindowManager::getSingleton().getWindow("CancelB"))->subscribeEvent ( CEGUI::PushButton::EventClicked, CEGUI::Event::Subscriber (&LoginGUI::HandleCancel, this)); static_cast<CEGUI::PushButton *> ( CEGUI::WindowManager::getSingleton().getWindow("LoginWindowPlayerFrame/plus"))->subscribeEvent ( CEGUI::PushButton::EventClicked, CEGUI::Event::Subscriber (&LoginGUI::Handlebplus, this)); static_cast<CEGUI::PushButton *> ( CEGUI::WindowManager::getSingleton().getWindow("LoginWindowPlayerFrame/minus"))->subscribeEvent ( CEGUI::PushButton::EventClicked, CEGUI::Event::Subscriber (&LoginGUI::Handlebminus, this)); static_cast<CEGUI::PushButton *> ( CEGUI::WindowManager::getSingleton().getWindow("LoginWindowPlayerFrame/cplus"))->subscribeEvent ( CEGUI::PushButton::EventClicked, CEGUI::Event::Subscriber (&LoginGUI::Handlecplus, this)); static_cast<CEGUI::PushButton *> ( CEGUI::WindowManager::getSingleton().getWindow("LoginWindowPlayerFrame/cminus"))->subscribeEvent ( CEGUI::PushButton::EventClicked, CEGUI::Event::Subscriber (&LoginGUI::Handlecminus, this)); CEGUI::WindowManager::getSingleton().getWindow("LBaNetLogo")->disable(); CEGUI::WindowManager::getSingleton().getWindow("LBaNetLogoCenter")->disable(); CEGUI::Editbox * pt = static_cast<CEGUI::Editbox *> ( CEGUI::WindowManager::getSingleton().getWindow("PasswordText")); if(pt) pt->setTextMasked(true); std::string name; ConfigurationManager::GetInstance()->GetString("Player.Name", name); CEGUI::Editbox * lt = static_cast<CEGUI::Editbox *> ( CEGUI::WindowManager::getSingleton().getWindow("LoginText")); lt->setText(name); CEGUI::WindowManager::getSingleton().getWindow("DisplayLoginErrorFrame")->hide(); static_cast<CEGUI::FrameWindow *>( CEGUI::WindowManager::getSingleton().getWindow("LoginWindowPlayerFrame"))->setDragMovingEnabled(false); static_cast<CEGUI::FrameWindow *>( CEGUI::WindowManager::getSingleton().getWindow("LoginWindowPlayerFrame"))->setRollupEnabled(false); static_cast<CEGUI::FrameWindow *>( CEGUI::WindowManager::getSingleton().getWindow("LoginWIndowFrame"))->setDragMovingEnabled(false); static_cast<CEGUI::FrameWindow *>( CEGUI::WindowManager::getSingleton().getWindow("LoginWIndowFrame"))->setRollupEnabled(false); static_cast<CEGUI::PushButton *> (CEGUI::WindowManager::getSingleton().getWindow("DisplayLoginErrorFrame/bok"))->subscribeEvent ( CEGUI::PushButton::EventClicked, CEGUI::Event::Subscriber (&LoginGUI::HandleCloseTextClicked, this)); CEGUI::FrameWindow * frw = static_cast<CEGUI::FrameWindow *> ( CEGUI::WindowManager::getSingleton().getWindow("DisplayLoginErrorFrame")); frw->subscribeEvent (CEGUI::FrameWindow::EventCloseClicked, CEGUI::Event::Subscriber (&LoginGUI::HandleCloseTextClicked, this)); CEGUI::WindowManager::getSingleton().getWindow("ClientVersionText")->setText(clientversion); CEGUI::WindowManager::getSingleton().getWindow("PasswordText")->subscribeEvent(CEGUI::Window::EventKeyDown, CEGUI::Event::Subscriber (&LoginGUI::HandleEnterKey, this)); } catch(CEGUI::Exception &ex) { LogHandler::getInstance()->LogToFile(std::string("Exception init login gui: ") + ex.getMessage().c_str()); _root = NULL; } }
void cStaticEnemy :: Editor_Activate( void ) { // get window manager CEGUI::WindowManager &wmgr = CEGUI::WindowManager::getSingleton(); // image CEGUI::Editbox *editbox = static_cast<CEGUI::Editbox *>(wmgr.createWindow( "TaharezLook/Editbox", "editor_static_enemy_image" )); Editor_Add( UTF8_("Image"), UTF8_("Image filename"), editbox, 200 ); editbox->setText( m_img_filename.c_str() ); editbox->subscribeEvent( CEGUI::Editbox::EventTextChanged, CEGUI::Event::Subscriber( &cStaticEnemy::Editor_Image_Text_Changed, this ) ); // rotation speed editbox = static_cast<CEGUI::Editbox *>(wmgr.createWindow( "TaharezLook/Editbox", "editor_static_enemy_rotation_speed" )); Editor_Add( UTF8_("Rotation Speed"), UTF8_("Rotation Speed"), editbox, 120 ); editbox->setValidationString( "[-+]?[0-9]*\\.?[0-9]*" ); editbox->setText( float_to_string( m_rotation_speed ) ); editbox->subscribeEvent( CEGUI::Editbox::EventTextChanged, CEGUI::Event::Subscriber( &cStaticEnemy::Editor_Rotation_Speed_Text_Changed, this ) ); // path editbox = static_cast<CEGUI::Editbox *>(wmgr.createWindow( "TaharezLook/Editbox", "editor_static_enemy_path_identifier" )); Editor_Add( UTF8_("Path Identifier"), UTF8_("Name of the Path to move along."), editbox, 120 ); editbox->setText( m_path_state.m_path_identifier.c_str() ); editbox->subscribeEvent( CEGUI::Editbox::EventTextChanged, CEGUI::Event::Subscriber( &cStaticEnemy::Editor_Path_Identifier_Text_Changed, this ) ); // speed editbox = static_cast<CEGUI::Editbox *>(wmgr.createWindow( "TaharezLook/Editbox", "editor_static_enemy_speed" )); Editor_Add( UTF8_("Speed"), UTF8_("Maximum speed"), editbox, 120 ); editbox->setValidationString( "[-+]?[0-9]*\\.?[0-9]*" ); editbox->setText( float_to_string( m_speed ) ); editbox->subscribeEvent( CEGUI::Editbox::EventTextChanged, CEGUI::Event::Subscriber( &cStaticEnemy::Editor_Speed_Text_Changed, this ) ); // fire resistant CEGUI::Combobox *combobox = static_cast<CEGUI::Combobox *>(wmgr.createWindow( "TaharezLook/Combobox", "editor_static_enemy_fire_resistant" )); Editor_Add( UTF8_("Fire Resistant"), UTF8_("If it is resistant against fire"), combobox, 120, 80 ); combobox->addItem( new CEGUI::ListboxTextItem( UTF8_("Enabled") ) ); combobox->addItem( new CEGUI::ListboxTextItem( UTF8_("Disabled") ) ); if( m_fire_resistant ) { combobox->setText( UTF8_("Enabled") ); } else { combobox->setText( UTF8_("Disabled") ); } combobox->subscribeEvent( CEGUI::Combobox::EventListSelectionAccepted, CEGUI::Event::Subscriber( &cStaticEnemy::Editor_Fire_Resistant_Select, this ) ); // ice resistance editbox = static_cast<CEGUI::Editbox *>(wmgr.createWindow( "TaharezLook/Editbox", "editor_static_enemy_ice_resistance" )); Editor_Add( UTF8_("Ice Resistance"), UTF8_("Resistance against Ice (0.0-1.0)"), editbox, 120 ); editbox->setValidationString( "[+]?[0-9]*\\.?[0-9]*" ); editbox->setText( float_to_string( m_ice_resistance ) ); editbox->subscribeEvent( CEGUI::Editbox::EventTextChanged, CEGUI::Event::Subscriber( &cStaticEnemy::Editor_Ice_Resistance_Text_Changed, this ) ); // init Editor_Init(); }
void SetInitializedAHUIProperty(CEGUI::Window* pageWnd) { //第一次打开窗口,默认可见 pageWnd->setVisible(false); CEGUI::Window* tab1 = pageWnd->getChildRecursive("Auction/Tab/BuySale"); tab1->setVisible(true);//默认Tab1可见 CEGUI::Editbox* editbox = WEditBox(pageWnd->getChildRecursive("Auction/Pickup/EditGold"));//金币提取编辑框只能为数字 editbox->setText(""); editbox->setReadOnly(true); //editbox->setMaxTextLength(10); //只能输入数字 editbox->setValidationString("[0-9]*"); editbox = WEditBox(pageWnd->getChildRecursive("Auction/Pickup/EditWeimian"));//位面提取编辑框只能为数字 editbox->setText(""); editbox->setReadOnly(true); editbox->setValidationString("[0-9]*"); //editbox->setMaxTextLength(10); CEGUI::MultiColumnList* mcl = WMCL(pageWnd->getChildRecursive("Auction/Tab/BuySale/SaleMCL")); mcl->setUserColumnDraggingEnabled(false);//列不可拖动 mcl->setUserSortControlEnabled(false);//列不可排序 mcl->setUserColumnSizingEnabled(false);//列不可调整宽度 mcl = WMCL(pageWnd->getChildRecursive("Auction/Tab/BuySale/BuyMCL")); mcl->setUserColumnDraggingEnabled(false);//列不可拖动 mcl->setUserSortControlEnabled(false);//列不可排序 mcl->setUserColumnSizingEnabled(false);//列不可调整宽度 CEGUI::Window* wnd = pageWnd->getChildRecursive("Auction/SaleWnd"); wnd->setVisible(false);//出售界面默认不可见 editbox = WEditBox(pageWnd->getChildRecursive("Auction/SaleWnd/saleNum"));//出售界面编辑框只能输入数字 editbox->setText(""); editbox->setMaxTextLength(10); //editbox->setReadOnly(false); editbox->setValidationString("[0-9]*"); editbox = WEditBox(pageWnd->getChildRecursive("Auction/SaleWnd/Text6"));//出售界面交易文本提示 editbox->setText(""); editbox = WEditBox(pageWnd->getChildRecursive("Auction/SaleWnd/Text61"));// editbox->setText(""); wnd = pageWnd->getChildRecursive("Auction/BuyWnd"); wnd->setVisible(false);//购买界面默认不可见 editbox = WEditBox(pageWnd->getChildRecursive("Auction/Buy/buyNum"));//购买界面编辑框只能输入数字 editbox->setText(""); //editbox->setReadOnly(false); editbox->setValidationString("[0-9]*"); editbox->setMaxTextLength(4); editbox = WEditBox(pageWnd->getChildRecursive("Auction/Buy/Text6"));//购买界面交易文本提示 editbox->setText(""); editbox = WEditBox(pageWnd->getChildRecursive("Auction/Buy/Text61")); editbox->setText(""); mcl = WMCL(pageWnd->getChildRecursive("Auction/Tab/Query/MCL"));//个人查询MCL属性 mcl->setUserColumnDraggingEnabled(false);//列不可拖动 mcl->setUserSortControlEnabled(false);//列不可排序 mcl->setUserColumnSizingEnabled(false);//列不可调整宽度 editbox = WEditBox(pageWnd->getChildRecursive("Auction/Tab/Agent/sale/EditNum"));//编辑框只能输入数字 editbox->setText(""); //editbox->setReadOnly(false); editbox->setValidationString("[0-9]*"); editbox->setMaxTextLength(5); editbox = WEditBox(pageWnd->getChildRecursive("Auction/Tab/Agent/sale/EditPrice"));//编辑框只能输入数字 editbox->setText(""); //editbox->setReadOnly(false); editbox->setValidationString("[0-9]*"); editbox->setMaxTextLength(5); editbox = WEditBox(pageWnd->getChildRecursive("Auction/Tab/Agent/Buy/EditNum"));//编辑框只能输入数字 editbox->setText(""); //editbox->setReadOnly(false); editbox->setValidationString("[0-9]*"); editbox->setMaxTextLength(5); editbox = WEditBox(pageWnd->getChildRecursive("Auction/Tab/Agent/Buy/EditPrice"));//编辑框只能输入数字 editbox->setText(""); //editbox->setReadOnly(false); editbox->setValidationString("[0-9]*"); editbox->setMaxTextLength(5); ////////////////////////////////////////////////// //委托页面支付提示 wnd = pageWnd->getChildRecursive("Auction/Tab/Agent/sale/subNum");// wnd->setText(""); wnd = pageWnd->getChildRecursive("Auction/Tab/Agent/sale/subGold");// wnd->setText(""); wnd = pageWnd->getChildRecursive("Auction/Tab/Agent/Buy/subNum"); wnd->setText(""); wnd = pageWnd->getChildRecursive("Auction/Tab/Agent/Buy/subGold"); wnd->setText(""); wnd = pageWnd->getChildRecursive("Auction/Tab/Agent/Buy/Text"); wnd->setText(""); //////////////////////////////////////////////////// ///////////////////////////////////////////////// // zhaohang 2010/5/14 // 刷新按钮屏蔽 wnd = pageWnd->getChildRecursive("Auction/Tab/BuySale/RefreshSale"); wnd->setVisible(false); wnd = pageWnd->getChildRecursive("Auction/Tab/BuySale/RefreshBuy"); wnd->setVisible(false); wnd = pageWnd->getChildRecursive("Auction/Tab/Query/Refresh"); wnd->setVisible(false); ///////////////////////////////////////////////// }
bool GUI_Copy_To_Clipboard( bool cut ) { CEGUI::Window *sheet = CEGUI::System::getSingleton().getGUISheet(); // no sheet if( !sheet ) { return 0; } CEGUI::Window *window_active = sheet->getActiveChild(); // no active window if( !window_active ) { return 0; } CEGUI::String sel_text; const CEGUI::String &type = window_active->getType(); // MultiLineEditbox if( type.find( "/MultiLineEditbox" ) != CEGUI::String::npos ) { CEGUI::MultiLineEditbox *editbox = static_cast<CEGUI::MultiLineEditbox*>(window_active); CEGUI::String::size_type beg = editbox->getSelectionStartIndex(); CEGUI::String::size_type len = editbox->getSelectionLength(); sel_text = editbox->getText().substr( beg, len ).c_str(); // if cutting if( cut ) { if( editbox->isReadOnly() ) { return 0; } CEGUI::String new_text = editbox->getText(); editbox->setText( new_text.erase( beg, len ) ); } } // Editbox else if( type.find( "/Editbox" ) != CEGUI::String::npos ) { CEGUI::Editbox *editbox = static_cast<CEGUI::Editbox*>(window_active); CEGUI::String::size_type beg = editbox->getSelectionStartIndex(); CEGUI::String::size_type len = editbox->getSelectionLength(); sel_text = editbox->getText().substr( beg, len ).c_str(); // if cutting if( cut ) { if( editbox->isReadOnly() ) { return 0; } CEGUI::String new_text = editbox->getText(); editbox->setText( new_text.erase( beg, len ) ); } } else { return 0; } Set_Clipboard_Content( sel_text.c_str() ); return 1; }
bool GUI_Paste_From_Clipboard( void ) { CEGUI::Window *sheet = CEGUI::System::getSingleton().getGUISheet(); // no sheet if( !sheet ) { return 0; } CEGUI::Window *window_active = sheet->getActiveChild(); // no active window if( !window_active ) { return 0; } const CEGUI::String &type = window_active->getType(); // MultiLineEditbox if( type.find( "/MultiLineEditbox" ) != CEGUI::String::npos ) { CEGUI::MultiLineEditbox *editbox = static_cast<CEGUI::MultiLineEditbox*>(window_active); if( editbox->isReadOnly() ) { return 0; } CEGUI::String::size_type beg = editbox->getSelectionStartIndex(); CEGUI::String::size_type len = editbox->getSelectionLength(); CEGUI::String new_text = editbox->getText(); // erase selected text new_text.erase( beg, len ); // get clipboard text CEGUI::String clipboard_text = reinterpret_cast<const CEGUI::utf8*>(Get_Clipboard_Content().c_str()); // set new text editbox->setText( new_text.insert( beg, clipboard_text ) ); // set new carat index editbox->setCaratIndex( editbox->getCaratIndex() + clipboard_text.length() ); } // Editbox else if( type.find( "/Editbox" ) != CEGUI::String::npos ) { CEGUI::Editbox *editbox = static_cast<CEGUI::Editbox*>(window_active); if( editbox->isReadOnly() ) { return 0; } CEGUI::String::size_type beg = editbox->getSelectionStartIndex(); CEGUI::String::size_type len = editbox->getSelectionLength(); CEGUI::String new_text = editbox->getText(); // erase selected text new_text.erase( beg, len ); // get clipboard text CEGUI::String clipboard_text = reinterpret_cast<const CEGUI::utf8*>(Get_Clipboard_Content().c_str()); // set new text editbox->setText( new_text.insert( beg, clipboard_text ) ); // set new carat index editbox->setCaratIndex( editbox->getCaratIndex() + clipboard_text.length() ); } else { return 0; } return 1; }
/*********************************************************** handle send button event ***********************************************************/ bool ChatBox::HandleEnterKey (const CEGUI::EventArgs& e) { const CEGUI::KeyEventArgs& we = static_cast<const CEGUI::KeyEventArgs&>(e); const CEGUI::WindowEventArgs& wine = static_cast<const CEGUI::WindowEventArgs&>(e); if(we.scancode == CEGUI::Key::LeftControl || we.scancode == CEGUI::Key::RightControl) { _control_key_on = true; return true; } if(we.scancode == CEGUI::Key::LeftShift || we.scancode == CEGUI::Key::RightShift) { _shift_key_on = true; return true; } if(we.scancode == CEGUI::Key::LeftAlt || we.scancode == CEGUI::Key::RightAlt) { return true; } if(wine.window->getName() == "Chat/edit") { if(we.scancode == CEGUI::Key::Return) { HandleSend (e); CEGUI::Editbox * bed = static_cast<CEGUI::Editbox *> (CEGUI::WindowManager::getSingleton().getWindow("Chat/edit")); bed->deactivate(); return true; } if(we.scancode == CEGUI::Key::ArrowUp) { if(_itltext == _lasttexts.end()) _itltext = _lasttexts.begin(); else { std::list<std::string>::iterator ittmp = _itltext; ++ittmp; if(ittmp != _lasttexts.end()) ++_itltext; } try { CEGUI::Window *windowchat = CEGUI::WindowManager::getSingleton().getWindow("Chat/edit"); std::string text = ""; if(_itltext != _lasttexts.end()) text = *_itltext; if(windowchat) windowchat->setText((const unsigned char *)text.c_str()); } catch(...){} //++_currSelectedch; //if(_currSelectedch >= (int)_channels.size()) // --_currSelectedch; //else //{ // std::list<std::string>::const_iterator it = _channels.begin(); // std::list<std::string>::const_iterator end = _channels.end(); // for(int cc=0; cc<_currSelectedch && it != end; ++it, ++cc); // CEGUI::PushButton * bch = static_cast<CEGUI::PushButton *> // (CEGUI::WindowManager::getSingleton().getWindow("Chat/bChannel")); // bch->setProperty("Text", *it); //} return true; } if(we.scancode == CEGUI::Key::ArrowDown) { if(_itltext != _lasttexts.end()) { if(_itltext != _lasttexts.begin()) --_itltext; else _itltext = _lasttexts.end(); } CEGUI::Window *windowchat = CEGUI::WindowManager::getSingleton().getWindow("Chat/edit"); std::string text = ""; if(_itltext != _lasttexts.end()) text = *_itltext; if(windowchat) windowchat->setText((const unsigned char *)text.c_str()); //--_currSelectedch; //if(_currSelectedch < 0) // ++_currSelectedch; //else //{ // std::list<std::string>::const_iterator it = _channels.begin(); // std::list<std::string>::const_iterator end = _channels.end(); // for(int cc=0; cc<_currSelectedch && it != end; ++it, ++cc); // CEGUI::PushButton * bch = static_cast<CEGUI::PushButton *> // (CEGUI::WindowManager::getSingleton().getWindow("Chat/bChannel")); // bch->setProperty("Text", *it); //} return true; } if(we.scancode == CEGUI::Key::ArrowUp || we.scancode == CEGUI::Key::ArrowDown) return true; // paste text if(we.scancode == CEGUI::Key::V && _control_key_on) { CEGUI::Editbox * bed = static_cast<CEGUI::Editbox *> (CEGUI::WindowManager::getSingleton().getWindow("Chat/edit")); if(bed && bed->isActive()) { if(_text_copyed != "") { size_t selB = bed->getSelectionStartIndex(); size_t selE = bed->getSelectionLength(); CEGUI::String str = bed->getText(); if(selE > 0) { str = str.erase(selB, selE); } if(str.size() + _text_copyed.size() < bed->getMaxTextLength()) { size_t idx = bed->getCaratIndex(); str = str.insert(idx, (unsigned char *)_text_copyed.c_str()); bed->setText(str); bed->setCaratIndex(idx + _text_copyed.size()); } } return true; } } } // copy text if(we.scancode == CEGUI::Key::C && _control_key_on) { CEGUI::Window * actw = _myChat->getActiveChild(); if(actw != NULL) { if(actw->getName() == "Chat/edit") { CEGUI::Editbox * bed = static_cast<CEGUI::Editbox *> (actw); size_t selB = bed->getSelectionStartIndex(); size_t selE = bed->getSelectionLength(); if(selE > 0) { CEGUI::String str = bed->getText().substr(selB, selE); _text_copyed = str.c_str(); } return true; } else { CEGUI::MultiLineEditbox* txt = static_cast<CEGUI::MultiLineEditbox *>(actw); size_t selB = txt->getSelectionStartIndex(); size_t selE = txt->getSelectionLength(); if(selE > 0) { CEGUI::String str = txt->getText().substr(selB, selE); _text_copyed = str.c_str(); } return true; } } } return false; }
/*********************************************************** handle send button event ***********************************************************/ bool ChatBox::HandleEnterKey (const CEGUI::EventArgs& e) { const CEGUI::KeyEventArgs& we = static_cast<const CEGUI::KeyEventArgs&>(e); const CEGUI::WindowEventArgs& wine = static_cast<const CEGUI::WindowEventArgs&>(e); if(we.scancode == CEGUI::Key::LeftControl || we.scancode == CEGUI::Key::RightControl) { _control_key_on = true; return true; } if(we.scancode == CEGUI::Key::LeftShift || we.scancode == CEGUI::Key::RightShift) { _shift_key_on = true; return true; } if(wine.window->getName() == "Chat/edit") { if(we.scancode == CEGUI::Key::Return) { HandleSend (e); CEGUI::Editbox * bed = static_cast<CEGUI::Editbox *> (CEGUI::WindowManager::getSingleton().getWindow("Chat/edit")); bed->deactivate(); return true; } if(we.scancode == CEGUI::Key::ArrowUp) { if(_itltext == _lasttexts.end()) _itltext = _lasttexts.begin(); else { std::list<std::string>::iterator ittmp = _itltext; ++ittmp; if(ittmp != _lasttexts.end()) ++_itltext; } try { if(_itltext != _lasttexts.end()) { CEGUI::WindowManager::getSingleton().getWindow("Chat/edit")->setText( (const unsigned char *)_itltext->c_str()); } else { CEGUI::WindowManager::getSingleton().getWindow("Chat/edit")->setText(""); } } catch(...){} return true; } if(we.scancode == CEGUI::Key::ArrowDown) { if(_itltext != _lasttexts.end()) { if(_itltext != _lasttexts.begin()) --_itltext; else _itltext = _lasttexts.end(); } if(_itltext != _lasttexts.end()) { CEGUI::WindowManager::getSingleton().getWindow("Chat/edit")->setText( (const unsigned char *)_itltext->c_str()); } else { CEGUI::WindowManager::getSingleton().getWindow("Chat/edit")->setText(""); } return true; } if(we.scancode == CEGUI::Key::ArrowUp || we.scancode == CEGUI::Key::ArrowDown) return true; // paste text if(we.scancode == CEGUI::Key::V && _control_key_on) { CEGUI::Editbox * bed = static_cast<CEGUI::Editbox *> (CEGUI::WindowManager::getSingleton().getWindow("Chat/edit")); if(bed->isActive()) { if(_text_copyed != "") { size_t selB = bed->getSelectionStartIndex(); size_t selE = bed->getSelectionLength(); CEGUI::String str = bed->getText(); if(selE > 0) { str = str.erase(selB, selE); } if(str.size() + _text_copyed.size() < bed->getMaxTextLength()) { size_t idx = bed->getCaratIndex(); str = str.insert(idx, (unsigned char *)_text_copyed.c_str()); bed->setText(str); bed->setCaratIndex(idx + _text_copyed.size()); } } return true; } } } // copy text if(we.scancode == CEGUI::Key::C && _control_key_on) { CEGUI::Window * actw = _myChat->getActiveChild(); if(actw != NULL) { if(actw->getName() == "Chat/edit") { CEGUI::Editbox * bed = static_cast<CEGUI::Editbox *> (actw); size_t selB = bed->getSelectionStartIndex(); size_t selE = bed->getSelectionLength(); if(selE > 0) { CEGUI::String str = bed->getText().substr(selB, selE); _text_copyed = str.c_str(); } return true; } else { CEGUI::MultiLineEditbox* txt = static_cast<CEGUI::MultiLineEditbox *>(actw); size_t selB = txt->getSelectionStartIndex(); size_t selE = txt->getSelectionLength(); if(selE > 0) { CEGUI::String str = txt->getText().substr(selB, selE); _text_copyed = str.c_str(); } return true; } } } return false; }
void cRandom_Sound::Editor_Activate(void) { CEGUI::WindowManager& wmgr = CEGUI::WindowManager::getSingleton(); // filename CEGUI::Editbox* editbox = static_cast<CEGUI::Editbox*>(wmgr.createWindow("TaharezLook/Editbox", "editor_sound_filename")); Editor_Add(UTF8_("Filename"), UTF8_("Sound filename"), editbox, 200); editbox->setText(m_filename.c_str()); editbox->subscribeEvent(CEGUI::Editbox::EventTextChanged, CEGUI::Event::Subscriber(&cRandom_Sound::Editor_Filename_Text_Changed, this)); // continuous CEGUI::Checkbox* checkbox = static_cast<CEGUI::Checkbox*>(wmgr.createWindow("TaharezLook/Checkbox", "editor_sound_continuous")); Editor_Add(UTF8_("Continuous"), UTF8_("Check if the sound should be played continuously instead of randomly"), checkbox, 50); checkbox->setSelected(m_continuous); checkbox->subscribeEvent(CEGUI::Checkbox::EventCheckStateChanged, CEGUI::Event::Subscriber(&cRandom_Sound::Editor_Continuous_Changed, this)); // delay min editbox = static_cast<CEGUI::Editbox*>(wmgr.createWindow("TaharezLook/Editbox", "editor_sound_delay_min")); Editor_Add(UTF8_("Delay Minimum"), UTF8_("Minimal delay until played again"), editbox, 90); editbox->setValidationString("^[+]?\\d*$"); editbox->setText(int_to_string(m_delay_min)); editbox->subscribeEvent(CEGUI::Editbox::EventTextChanged, CEGUI::Event::Subscriber(&cRandom_Sound::Editor_Delay_Min_Text_Changed, this)); // delay max editbox = static_cast<CEGUI::Editbox*>(wmgr.createWindow("TaharezLook/Editbox", "editor_sound_delay_max")); Editor_Add(UTF8_("Maximum"), UTF8_("Maximal delay until played again"), editbox, 90, 28, 0); editbox->setValidationString("^[+]?\\d*$"); editbox->setText(int_to_string(m_delay_max)); editbox->subscribeEvent(CEGUI::Editbox::EventTextChanged, CEGUI::Event::Subscriber(&cRandom_Sound::Editor_Delay_Max_Text_Changed, this)); // volume min editbox = static_cast<CEGUI::Editbox*>(wmgr.createWindow("TaharezLook/Editbox", "editor_sound_volume_min")); Editor_Add(UTF8_("Volume Minimum"), UTF8_("Minimal random volume for each play"), editbox, 90); editbox->setValidationString("^[+]?\\d*$"); editbox->setText(int_to_string(static_cast<int>(m_volume_min))); editbox->subscribeEvent(CEGUI::Editbox::EventTextChanged, CEGUI::Event::Subscriber(&cRandom_Sound::Editor_Volume_Min_Text_Changed, this)); // volume max editbox = static_cast<CEGUI::Editbox*>(wmgr.createWindow("TaharezLook/Editbox", "editor_sound_volume_max")); Editor_Add(UTF8_("Maximum"), UTF8_("Maximal random volume for each play"), editbox, 90, 28, 0); editbox->setValidationString("^[+]?\\d*$"); editbox->setText(int_to_string(static_cast<int>(m_volume_max))); editbox->subscribeEvent(CEGUI::Editbox::EventTextChanged, CEGUI::Event::Subscriber(&cRandom_Sound::Editor_Volume_Max_Text_Changed, this)); // volume reduction begin editbox = static_cast<CEGUI::Editbox*>(wmgr.createWindow("TaharezLook/Editbox", "editor_sound_volume_reduction_begin")); Editor_Add(UTF8_("Volume Reduction Begin"), UTF8_("Volume reduction begins gradually at this distance"), editbox, 90); editbox->setValidationString("^[+]?\\d*$"); editbox->setText(int_to_string(static_cast<int>(m_volume_reduction_begin))); editbox->subscribeEvent(CEGUI::Editbox::EventTextChanged, CEGUI::Event::Subscriber(&cRandom_Sound::Editor_Volume_Reduction_Begin_Text_Changed, this)); // volume reduction end editbox = static_cast<CEGUI::Editbox*>(wmgr.createWindow("TaharezLook/Editbox", "editor_sound_volume_reduction_end")); Editor_Add(UTF8_("End"), UTF8_("Volume reduction ends at this distance. Sound is not played beyond this."), editbox, 90, 28, 0); editbox->setValidationString("^[+]?\\d*$"); editbox->setText(int_to_string(static_cast<int>(m_volume_reduction_end))); editbox->subscribeEvent(CEGUI::Editbox::EventTextChanged, CEGUI::Event::Subscriber(&cRandom_Sound::Editor_Volume_Reduction_End_Text_Changed, this)); // init Editor_Init(); }
/************************************************************************* Sample specific initialisation goes here. *************************************************************************/ bool MinesweeperSample::initialise(CEGUI::GUIContext* guiContext) { using namespace CEGUI; d_usedFiles = CEGUI::String(__FILE__); // Register Timer Window WindowFactoryManager::getSingleton().addFactory( &getTimerFactory() ); // load font and setup default if not loaded via scheme Font& defaultFont = FontManager::getSingleton().createFromFile("DejaVuSans-12.font"); // Set default font for the gui context guiContext->setDefaultFont(&defaultFont); d_gameStarted = false; // Get window manager which we wil use for a few jobs here. WindowManager& winMgr = WindowManager::getSingleton(); // Load the scheme to initialse the VanillaSkin which we use in this sample SchemeManager::getSingleton().createFromFile("VanillaSkin.scheme"); SchemeManager::getSingleton().createFromFile("TaharezLook.scheme"); guiContext->setDefaultTooltipType("TaharezLook/Tooltip"); // set default mouse image guiContext->getMouseCursor().setDefaultImage("Vanilla-Images/MouseArrow"); // load an image to use as a background if( !ImageManager::getSingleton().isDefined("SpaceBackgroundImage") ) ImageManager::getSingleton().addFromImageFile("SpaceBackgroundImage", "SpaceBackground.jpg"); // here we will use a StaticImage as the root, then we can use it to place a background image Window* background = winMgr.createWindow("Vanilla/StaticImage"); // set area rectangle background->setArea(URect(cegui_reldim(0), cegui_reldim(0), cegui_reldim(1), cegui_reldim(1))); // disable frame and standard background background->setProperty("FrameEnabled", "false"); background->setProperty("BackgroundEnabled", "false"); // set the background image background->setProperty("Image", "SpaceBackgroundImage"); // install this as the root GUI sheet guiContext->setRootWindow(background); d_alarm = (Timer*)winMgr.createWindow("Timer"); background->addChild(d_alarm); d_alarm->setDelay(0.5); // Tick each 0.5 seconds // create the game frame Window* frame = winMgr.createWindow("Vanilla/FrameWindow"); d_alarm->addChild(frame); frame->setXPosition(UDim(0.3f, 0.0f)); frame->setYPosition(UDim(0.15f, 0.0f)); frame->setWidth(UDim(0.4f, 0.0f)); frame->setHeight(UDim(0.7f, 0.0f)); frame->setText("CEGUI Minesweeper"); // create the action panel Window* action = winMgr.createWindow("DefaultWindow"); frame->addChild(action); action->setXPosition(UDim(0.03f, 0.0f)); action->setYPosition(UDim(0.10f, 0.0f)); action->setWidth(UDim(0.94f, 0.0f)); action->setHeight(UDim(0.1f, 0.0f)); d_counter = (Editbox*)winMgr.createWindow("Vanilla/Editbox", "mine_counter"); action->addChild(d_counter); d_counter->setText("0"); d_counter->setTooltipText("Number of mine"); d_counter->setReadOnly(true); d_counter->setXPosition(UDim(0.0f, 0.0f)); d_counter->setYPosition(UDim(0.0f, 0.0f)); d_counter->setWidth(UDim(0.3f, 0.0f)); d_counter->setHeight(UDim(1.0f, 0.0f)); Window* newGame = winMgr.createWindow("Vanilla/Button", "new_game"); action->addChild(newGame); newGame->setText("Start"); newGame->setTooltipText("Start a new game"); newGame->setXPosition(UDim(0.35f, 0.0f)); newGame->setYPosition(UDim(0.0f, 0.0f)); newGame->setWidth(UDim(0.3f, 0.0f)); newGame->setHeight(UDim(1.0f, 0.0f)); newGame->subscribeEvent(PushButton::EventClicked, Event::Subscriber(&MinesweeperSample::handleGameStartClicked, this)); d_timer = (Editbox*)winMgr.createWindow("Vanilla/Editbox", "timer"); action->addChild(d_timer); d_timer->setText("0"); d_timer->setTooltipText("Time elapsed"); d_timer->setReadOnly(true); d_timer->setXPosition(UDim(0.7f, 0.0f)); d_timer->setYPosition(UDim(0.0f, 0.0f)); d_timer->setWidth(UDim(0.3f, 0.0f)); d_timer->setHeight(UDim(1.0f, 0.0f)); d_alarm->subscribeEvent(Timer::EventTimerAlarm, Event::Subscriber(&MinesweeperSample::handleUpdateTimer, this)); // Board button grid Window* grid = winMgr.createWindow("DefaultWindow"); frame->addChild(grid); grid->setXPosition(UDim(0.03f, 0.0f)); grid->setYPosition(UDim(0.23f, 0.0f)); grid->setWidth( UDim(0.94f, 0.0f)); grid->setHeight( UDim(0.74f, 0.0f)); const float d_inc = 1.0f / MinesweeperSize; for(size_t i = 0 ; i < MinesweeperSize ; ++i) { // create a container for each row Window* row = winMgr.createWindow("DefaultWindow"); row->setArea(URect(UDim(0,0), UDim(d_inc * i, 0), UDim(1,0), UDim(d_inc * (i + 1), 0))); grid->addChild(row); for(size_t j = 0 ; j < MinesweeperSize ; ++j) { // Initialize buttons coordinate d_buttonsMapping[i][j].d_col = j; d_buttonsMapping[i][j].d_row = i; d_buttons[i][j] = (PushButton*)winMgr.createWindow("Vanilla/Button"); row->addChild(d_buttons[i][j]); d_buttons[i][j]->setArea(URect(UDim(d_inc * j, 0), UDim(0,0), UDim(d_inc * (j + 1), 0), UDim(1,0))); d_buttons[i][j]->setEnabled(false); // Associate user data d_buttons[i][j]->setUserData(&(d_buttonsMapping[i][j])); d_buttons[i][j]->setID(0); // Connect event handlers d_buttons[i][j]->subscribeEvent(PushButton::EventClicked, Event::Subscriber(&MinesweeperSample::handleMineButtonClicked, this)); d_buttons[i][j]->subscribeEvent(Window::EventMouseButtonDown, Event::Subscriber(&MinesweeperSample::handleMineButtonDown, this)); } } d_result = winMgr.createWindow("Vanilla/StaticText"); grid->addChild(d_result); d_result->setXPosition(UDim(0.0, 0.0)); d_result->setYPosition(UDim(0.0, 0.0)); d_result->setWidth(UDim(1.0, 0.0)); d_result->setHeight(UDim(1.0, 0.0)); d_result->setAlwaysOnTop(true); d_result->setProperty("HorzFormatting", "HorzCentred"); d_result->setVisible(false); d_result->setAlpha(0.67f); // activate the background window background->activate(); // success! return true; }