207 lines
4.2 KiB
C++
207 lines
4.2 KiB
C++
|
|
||
|
// CompositeChat.cpp
|
||
|
|
||
|
// Implements the cCompositeChat class used to wrap a chat message with multiple parts (text, url, cmd)
|
||
|
|
||
|
#include "Globals.h"
|
||
|
#include "CompositeChat.h"
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
|
// cCompositeChat:
|
||
|
|
||
|
cCompositeChat::cCompositeChat(void) :
|
||
|
m_MessageType(mtCustom)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
cCompositeChat::cCompositeChat(const AString & a_ParseText) :
|
||
|
m_MessageType(mtCustom)
|
||
|
{
|
||
|
ParseText(a_ParseText);
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
cCompositeChat::~cCompositeChat()
|
||
|
{
|
||
|
Clear();
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
void cCompositeChat::Clear(void)
|
||
|
{
|
||
|
for (cParts::iterator itr = m_Parts.begin(), end = m_Parts.end(); itr != end; ++itr)
|
||
|
{
|
||
|
delete *itr;
|
||
|
} // for itr - m_Parts[]
|
||
|
m_Parts.clear();
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
void cCompositeChat::AddTextPart(const AString & a_Message, const AString & a_Style)
|
||
|
{
|
||
|
m_Parts.push_back(new cTextPart(a_Message, a_Style));
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
void cCompositeChat::AddClientTranslatedPart(const AString & a_TranslationID, const AStringVector & a_Parameters, const AString & a_Style)
|
||
|
{
|
||
|
m_Parts.push_back(new cClientTranslatedPart(a_TranslationID, a_Parameters, a_Style));
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
void cCompositeChat::AddUrlPart(const AString & a_Text, const AString & a_Url, const AString & a_Style)
|
||
|
{
|
||
|
m_Parts.push_back(new cUrlPart(a_Text, a_Url, a_Style));
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
void cCompositeChat::AddRunCommandPart(const AString & a_Text, const AString & a_Command, const AString & a_Style)
|
||
|
{
|
||
|
m_Parts.push_back(new cRunCommandPart(a_Text, a_Command, a_Style));
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
void cCompositeChat::AddSuggestCommandPart(const AString & a_Text, const AString & a_SuggestedCommand, const AString & a_Style)
|
||
|
{
|
||
|
m_Parts.push_back(new cSuggestCommandPart(a_Text, a_SuggestedCommand, a_Style));
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
void cCompositeChat::ParseText(const AString & a_ParseText)
|
||
|
{
|
||
|
// TODO
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
void cCompositeChat::SetMessageType(eMessageType a_MessageType)
|
||
|
{
|
||
|
m_MessageType = a_MessageType;
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
|
// cCompositeChat::cBasePart:
|
||
|
|
||
|
cCompositeChat::cBasePart::cBasePart(cCompositeChat::ePartType a_PartType, const AString & a_Text, const AString & a_Style) :
|
||
|
m_PartType(a_PartType),
|
||
|
m_Text(a_Text),
|
||
|
m_Style(a_Style)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
|
// cCompositeChat::cTextPart:
|
||
|
|
||
|
cCompositeChat::cTextPart::cTextPart(const AString & a_Text, const AString &a_Style) :
|
||
|
super(ptText, a_Text, a_Style)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
|
// cCompositeChat::cClientTranslatedPart:
|
||
|
|
||
|
cCompositeChat::cClientTranslatedPart::cClientTranslatedPart(const AString & a_TranslationID, const AStringVector & a_Parameters, const AString & a_Style) :
|
||
|
super(ptClientTranslated, a_TranslationID, a_Style),
|
||
|
m_Parameters(a_Parameters)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
|
// cCompositeChat::cUrlPart:
|
||
|
|
||
|
cCompositeChat::cUrlPart::cUrlPart(const AString & a_Text, const AString & a_Url, const AString & a_Style) :
|
||
|
super(ptUrl, a_Text, a_Style),
|
||
|
m_Url(a_Url)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
|
// cCompositeChat::cCommandPart:
|
||
|
|
||
|
cCompositeChat::cCommandPart::cCommandPart(ePartType a_PartType, const AString & a_Text, const AString & a_Command, const AString & a_Style) :
|
||
|
super(a_PartType, a_Text, a_Style),
|
||
|
m_Command(a_Command)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
|
// cCompositeChat::cRunCommandPart:
|
||
|
|
||
|
cCompositeChat::cRunCommandPart::cRunCommandPart(const AString & a_Text, const AString & a_Command, const AString & a_Style) :
|
||
|
super(ptRunCommand, a_Text, a_Command, a_Style)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
|
// cCompositeChat::cSuggestCommandPart:
|
||
|
|
||
|
cCompositeChat::cSuggestCommandPart::cSuggestCommandPart(const AString & a_Text, const AString & a_Command, const AString & a_Style) :
|
||
|
super(ptSuggestCommand, a_Text, a_Command, a_Style)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|