// 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; }