89 lines
2.5 KiB
C++
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;
|
|
}
|
|
|