void LoginEvent::OnPageLoad(GamePage *pPage) { pPage->LoadPageWindow(); CEGUI::Window *pLoginWindow = pPage->GetPageWindow(); ///////////////////////////////////////////////// // zhaohang 2010/6/4 // 添加选服的修改 //首次打开显示选择登陆服务器界面 FireUIEvent("SelectLS",EVENT_OPEN); //设置密码编辑框掩码 CEGUI::Editbox *pPwdEdit = static_cast<CEGUI::Editbox*>(pLoginWindow->getChild("LoginPage/PassWord")); pPwdEdit->setTextMasked(true); pPwdEdit->subscribeEvent(CEGUI::Editbox::EventTextAccepted ,CEGUI::Event::Subscriber(&LoginEvent::HandleLogin, this)); //设置相应事件处理函数 CEGUI::PushButton *pEnterBtn = static_cast<CEGUI::PushButton*>(pLoginWindow->getChild("LoginPage/Enter")); pEnterBtn->setText(ToCEGUIString(AppFrame::GetText("Login_1"))); //pEnterBtn->setText(ToCEGUIString("[ROLL Speed:1 Dir:Left Text:nihao]")); pEnterBtn->subscribeEvent(CEGUI::PushButton::EventClicked,CEGUI::Event::Subscriber(&LoginEvent::HandleLogin, this)); CEGUI::PushButton *pExitBtn = static_cast<CEGUI::PushButton*>(pLoginWindow->getChild("LoginPage/Exit")); pExitBtn->setText(ToCEGUIString(AppFrame::GetText("Login_2"))); pExitBtn->subscribeEvent(CEGUI::PushButton::EventClicked,CEGUI::Event::Subscriber(&LoginEvent::HandleExitBtn, this)); CEGUI::PushButton *pRegistBtn = static_cast<CEGUI::PushButton*>(pLoginWindow->getChild("LoginPage/Register")); pRegistBtn->setText(ToCEGUIString(AppFrame::GetText("Login_3"))); CEGUI::PushButton *pForgetPwdBtn = static_cast<CEGUI::PushButton*>(pLoginWindow->getChild("LoginPage/ForgetPwd")); pForgetPwdBtn->setText(ToCEGUIString(AppFrame::GetText("Login_4"))); CEGUI::PushButton* serverInfo = static_cast<CEGUI::PushButton*>(pLoginWindow->getChild("Login/ServerInfo")); serverInfo->setText(ToCEGUIString(AppFrame::GetText("Login_5"))); serverInfo->subscribeEvent(CEGUI::PushButton::EventClicked,CEGUI::Event::Subscriber(HandleEnterSelectLS)); }
/*********************************************************** 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; } }