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;
}
Example #4
0
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);
    }
  }
}