void ScreenNetSelectBase::Init() { ScreenWithMenuElements::Init(); // Chat boxes m_sprChatInputBox.Load( THEME->GetPathG( m_sName, "ChatInputBox" ) ); m_sprChatInputBox->SetName( "ChatInputBox" ); LOAD_ALL_COMMANDS_AND_SET_XY_AND_ON_COMMAND( m_sprChatInputBox ); this->AddChild( m_sprChatInputBox ); m_sprChatOutputBox.Load( THEME->GetPathG( m_sName, "ChatOutputBox" ) ); m_sprChatOutputBox->SetName( "ChatOutputBox" ); LOAD_ALL_COMMANDS_AND_SET_XY_AND_ON_COMMAND( m_sprChatOutputBox ); this->AddChild( m_sprChatOutputBox ); m_textChatInput.LoadFromFont( THEME->GetPathF(m_sName,"chat") ); m_textChatInput.SetName( "ChatInput" ); m_textChatInput.SetWrapWidthPixels( (int)(CHAT_TEXT_INPUT_WIDTH) ); LOAD_ALL_COMMANDS_AND_SET_XY_AND_ON_COMMAND( m_textChatInput ); this->AddChild( &m_textChatInput ); m_textChatOutput.LoadFromFont( THEME->GetPathF(m_sName,"chat") ); m_textChatOutput.SetName( "ChatOutput" ); m_textChatOutput.SetWrapWidthPixels( (int)(CHAT_TEXT_OUTPUT_WIDTH) ); LOAD_ALL_COMMANDS_AND_SET_XY_AND_ON_COMMAND( m_textChatOutput ); this->AddChild( &m_textChatOutput ); m_textChatOutput.SetText( NSMAN->m_sChatText ); m_textChatOutput.SetMaxLines( SHOW_CHAT_LINES, 1 ); //Display users list UpdateUsers(); return; }
void ScreenNetSelectBase::HandleScreenMessage( const ScreenMessage SM ) { if( SM == SM_GoToNextScreen ) SOUND->StopMusic(); else if( SM == SM_AddToChat ) { m_textChatOutput.SetText( NSMAN->m_sChatText ); m_textChatOutput.SetMaxLines( SHOW_CHAT_LINES, 1 ); } else if( SM == SM_UsersUpdate ) { UpdateUsers(); } ScreenWithMenuElements::HandleScreenMessage( SM ); }
void ScreenNetSelectBase::Init() { ScreenWithMenuElements::Init(); //ChatBox m_sprChatInputBox.SetName( "ChatInputBox" ); m_sprChatInputBox.Load( THEME->GetPathG( m_sName, "ChatInputBox" ) ); m_sprChatInputBox.SetWidth( CHATINPUT_WIDTH ); m_sprChatInputBox.SetHeight( CHATINPUT_HEIGHT ); LOAD_ALL_COMMANDS_AND_SET_XY_AND_ON_COMMAND( m_sprChatInputBox ); this->AddChild( &m_sprChatInputBox ); m_sprChatOutputBox.SetName( "ChatOutputBox" ); m_sprChatOutputBox.Load( THEME->GetPathG( m_sName, "ChatOutputBox" ) ); m_sprChatOutputBox.SetWidth( CHATOUTPUT_WIDTH ); m_sprChatOutputBox.SetHeight( CHATOUTPUT_HEIGHT ); LOAD_ALL_COMMANDS_AND_SET_XY_AND_ON_COMMAND( m_sprChatOutputBox ); this->AddChild( &m_sprChatOutputBox ); m_textChatInput.LoadFromFont( THEME->GetPathF(m_sName,"chat") ); m_textChatInput.SetHorizAlign( align_left ); m_textChatInput.SetVertAlign( align_top ); m_textChatInput.SetShadowLength( 0 ); m_textChatInput.SetName( "ChatInput" ); m_textChatInput.SetWrapWidthPixels( (int)(CHAT_TEXT_INPUT_WIDTH) ); LOAD_ALL_COMMANDS_AND_SET_XY_AND_ON_COMMAND( m_textChatInput ); this->AddChild( &m_textChatInput ); m_textChatOutput.LoadFromFont( THEME->GetPathF(m_sName,"chat") ); m_textChatOutput.SetWrapWidthPixels( (int)(CHAT_TEXT_OUTPUT_WIDTH) ); m_textChatOutput.SetHorizAlign( align_left ); m_textChatOutput.SetVertAlign( align_bottom ); m_textChatOutput.SetShadowLength( 0 ); m_textChatOutput.SetName( "ChatOutput" ); LOAD_ALL_COMMANDS_AND_SET_XY_AND_ON_COMMAND( m_textChatOutput ); this->AddChild( &m_textChatOutput ); m_textChatOutput.SetText( NSMAN->m_sChatText ); m_textChatOutput.SetMaxLines( SHOW_CHAT_LINES, 1 ); //Display users list UpdateUsers(); return; }
void C4ChatControl::ChatSheet::Update(bool fLock) { // lock IRC client data if desired if (fLock) { CStdLock Lock(pChatControl->getIRCClient()->getCSec()); Update(false); return; } // only channels need updates if (eType == CS_Channel) { C4Network2IRCChannel *pIRCChan = pChatControl->getIRCClient()->getChannel(GetIdent()); if (pIRCChan) { // update user list (if not locked, becuase it's being received) if (!pIRCChan->isUsersLocked()) UpdateUsers(pIRCChan->getUsers()); // update topic const char *szTopic = pIRCChan->getTopic(); sChatTitle.Format("%s%s%s", sIdent.getData(), szTopic ? ": " : "", szTopic ? szTopic : ""); convUTF8toWindows(sChatTitle); } } }