reman3/Rayman_X/cpa/tempgrp/Ctl/Src/Others/CTL_TTT.cpp

89 lines
2.5 KiB
C++

// Implementation for the class CMyDocument
//
// YB
//
/////////////////////////////////////////////
#include "StdAfx.h"
#include "Others\CTL_TTT.hpp"
//==================================================================================================
//==================================================================================================
tdoTTTData &CTL_ToolTipTextDatabase::operator [](unsigned int uiControlId)
{
POSITION xPos;
tdoTTTData *p_stData;
//look in the list for an existing association
xPos = m_oDataList.GetHeadPosition();
while ( xPos && (p_stData = m_oDataList.GetNext(xPos)) )
if ( p_stData->m_uiId() == uiControlId )
return *p_stData;
//none were found, add a dummy one
p_stData = new tdoTTTData();
p_stData->m_roSet(""); //bbb 17/03/97
p_stData->m_uiId(uiControlId); //bbb 17/03/97
m_oDataList.AddTail(p_stData);
return *p_stData;
}
//==================================================================================================
CTL_ToolTipTextDatabase::~CTL_ToolTipTextDatabase()
{
while ( !m_oDataList.IsEmpty() )
{
tdoTTTData *p_stData = m_oDataList.GetHead();
m_oDataList.RemoveHead();
delete p_stData;
}
}
//==================================================================================================
//==================================================================================================
tdoTTTData::~tdoTTTData()
{ //bbb 17/03/97 tout dedans
m_uiId(-1);
if ( m_pszModelText )
free((void *) m_pszModelText);
if ( m_pszInstanceText )
free((void *) m_pszInstanceText);
}
//==================================================================================================
tdoTTTData::tdoTTTData()
{
m_uiId(-1); //bbb 17/03/97
m_pszModelText = m_pszInstanceText = NULL; //bbb 17/03/97
}
//==================================================================================================
tdoTTTData &tdoTTTData::m_roSet(char *_pszModelText, char *_pszInstanceText)
{ //bbb 17/03/97 tout dedans
ASSERT(_pszModelText);
if ( m_pszModelText )
free((void *) m_pszModelText);
if ( m_pszInstanceText )
free((void *) m_pszInstanceText);
m_pszModelText = strdup(_pszModelText);
m_pszInstanceText = strdup(_pszInstanceText ? _pszInstanceText : _pszModelText);
return *this;
}
//==================================================================================================
const char *tdoTTTData::operator [](BOOL bIsAModel)
{ //bbb 17/03/97 tout dedans
return bIsAModel
? m_pszModelText
: m_pszInstanceText;
}