212 lines
7.2 KiB
C++
212 lines
7.2 KiB
C++
// Implementation file for the definition of a characteristic base type
|
|
////////////////////////////////////////////////////////////////////////
|
|
#include "StdAfx.h"
|
|
|
|
#include "Data\CTL_LDat.hpp"
|
|
|
|
#include "Data\CTL_DatB.hpp"
|
|
#include "Data\CTL_DatI.hpp"
|
|
#include "Data\CTL_DatF.hpp"
|
|
#include "Data\CTL_DatE.hpp"
|
|
#include "Data\CTL_DatT.hpp"
|
|
#include "Data\CTL_DatV.hpp"
|
|
#include "Data\CTL_DatM.hpp"
|
|
|
|
//External Modules
|
|
#include "CTL_ErO.hpp"
|
|
//End of External Modules
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
|
|
//**************************************************************************************
|
|
CTL_Editor_DataList::CTL_Editor_DataList()
|
|
{
|
|
|
|
}
|
|
|
|
//**************************************************************************************
|
|
CTL_Editor_DataList::~CTL_Editor_DataList()
|
|
{
|
|
m_fn_vEmptyList();
|
|
}
|
|
|
|
//**************************************************************************************
|
|
void CTL_Editor_DataList::m_fn_vEmptyList()
|
|
{
|
|
POSITION pos = GetHeadPosition();
|
|
while ( pos != NULL )
|
|
delete GetNext(pos);
|
|
|
|
RemoveAll();
|
|
}
|
|
|
|
//*********************************************************************************
|
|
CTL_OwnerData *CTL_Editor_DataList::m_pub_fn_pclAddOwnerData(void *_pvDataPtr,
|
|
CString _csName)
|
|
{
|
|
return m_pri_clListOfOwnerData.m_pub_fn_pclAddOwnerData(_pvDataPtr, _csName);
|
|
}
|
|
|
|
//*********************************************************************************
|
|
CTL_OwnerData *CTL_Editor_DataList::m_pub_fn_pclAddOwnerData(long _lData,
|
|
CString _csName)
|
|
{
|
|
return m_pri_clListOfOwnerData.m_pub_fn_pclAddOwnerData(_lData, _csName);
|
|
}
|
|
|
|
//*********************************************************************************
|
|
CTL_OwnerData *CTL_Editor_DataList::m_pub_fn_pclGetOwnerDataWithName(CString _csSearchedName)
|
|
{
|
|
return m_pri_clListOfOwnerData.m_pub_fn_pclFindOwnerDataWithName(_csSearchedName);
|
|
}
|
|
|
|
//**************************************************************************************
|
|
//**************************************************************************************
|
|
//**************************************************************************************
|
|
//**************************************************************************************
|
|
CTL_Editor_Data * CTL_Editor_DataList::m_fn_pclAddBooleanData(CString csScriptName,
|
|
CTL_Editor_Data *pclCurrentBaseData /*= NULL*/)
|
|
{
|
|
CTL_Editor_BooleanData *pclNewData = new CTL_Editor_BooleanData(csScriptName,
|
|
this,
|
|
pclCurrentBaseData);
|
|
|
|
AddTail(pclNewData);
|
|
|
|
return pclNewData;
|
|
}
|
|
|
|
//**************************************************************************************
|
|
CTL_Editor_Data * CTL_Editor_DataList::m_fn_pclAddBitFieldBooleanData(tdBitFieldCoder tdBFCoder,
|
|
CString csScriptName,
|
|
CTL_Editor_Data *pclCurrentBaseData /*= NULL*/)
|
|
{
|
|
CTL_Editor_BooleanData *pclNewData = new CTL_Editor_BooleanData(tdBFCoder,
|
|
csScriptName,
|
|
this,
|
|
pclCurrentBaseData);
|
|
|
|
AddTail(pclNewData);
|
|
|
|
return pclNewData;
|
|
}
|
|
|
|
//**************************************************************************************
|
|
CTL_Editor_Data * CTL_Editor_DataList::m_fn_pclAddMaskedData(CTL_Editor_MaskDescriptor *_pclMaskDescriptor,
|
|
CString csScriptName,
|
|
CTL_Editor_Data *pclCurrentBaseData /*= NULL*/)
|
|
{
|
|
CTL_Editor_MaskedData *pclNewData = new CTL_Editor_MaskedData(_pclMaskDescriptor,
|
|
csScriptName,
|
|
this,
|
|
pclCurrentBaseData);
|
|
|
|
AddTail(pclNewData);
|
|
|
|
return pclNewData;
|
|
}
|
|
|
|
//**************************************************************************************
|
|
CTL_Editor_Data * CTL_Editor_DataList::m_fn_pclAddIntegerData(char cDataLength,
|
|
BOOL bSigned,
|
|
CString csScriptName,
|
|
CTL_Editor_Data *pclCurrentBaseData /*= NULL*/)
|
|
{
|
|
CTL_Editor_IntegerData *pclNewData = new CTL_Editor_IntegerData(cDataLength,
|
|
bSigned,
|
|
csScriptName,
|
|
this,
|
|
pclCurrentBaseData);
|
|
|
|
AddTail(pclNewData);
|
|
|
|
return pclNewData;
|
|
}
|
|
|
|
//**************************************************************************************
|
|
CTL_Editor_Data * CTL_Editor_DataList::m_fn_pclAddDecimalData(char cDataLength,
|
|
CString csScriptName,
|
|
CTL_Editor_Data *pclCurrentBaseData /*= NULL*/)
|
|
{
|
|
CTL_Editor_DecimalData *pclNewData = new CTL_Editor_DecimalData(cDataLength,
|
|
csScriptName,
|
|
this,
|
|
pclCurrentBaseData);
|
|
|
|
AddTail(pclNewData);
|
|
|
|
return pclNewData;
|
|
}
|
|
|
|
//**************************************************************************************
|
|
CTL_Editor_Data * CTL_Editor_DataList::m_fn_pclAddEnumData(CTL_Editor_EnumDescriptor *pclEnumDescriptor,
|
|
CString csScriptName,
|
|
CTL_Editor_Data *pclCurrentBaseData /*= NULL*/)
|
|
{
|
|
CTL_Editor_EnumData *pclNewData = new CTL_Editor_EnumData(pclEnumDescriptor,
|
|
csScriptName,
|
|
this,
|
|
pclCurrentBaseData);
|
|
|
|
AddTail(pclNewData);
|
|
|
|
return pclNewData;
|
|
}
|
|
|
|
//**************************************************************************************
|
|
CTL_Editor_Data * CTL_Editor_DataList::m_fn_pclAddTextData(CString csScriptName,
|
|
CTL_Editor_Data *pclCurrentBaseData /*= NULL*/)
|
|
{
|
|
CTL_Editor_TextData *pclNewData = new CTL_Editor_TextData(csScriptName,
|
|
this,
|
|
pclCurrentBaseData);
|
|
|
|
AddTail(pclNewData);
|
|
|
|
return pclNewData;
|
|
}
|
|
|
|
//**************************************************************************************
|
|
CTL_Editor_Data * CTL_Editor_DataList::m_fn_pclAddVectorData(char cDataLength,
|
|
CString csScriptName,
|
|
CTL_Editor_Data *pclCurrentBaseData /*= NULL*/)
|
|
{
|
|
CTL_Editor_VectorData *pclNewData = new CTL_Editor_VectorData(cDataLength,
|
|
csScriptName,
|
|
this,
|
|
pclCurrentBaseData);
|
|
|
|
AddTail(pclNewData);
|
|
|
|
return pclNewData;
|
|
}
|
|
|
|
//**************************************************************************************
|
|
//To add a user defined data
|
|
void CTL_Editor_DataList::m_pub_fn_vAddData(CTL_Editor_Data *_pclDataToAdd)
|
|
{
|
|
AddTail(_pclDataToAdd);
|
|
}
|
|
|
|
//**************************************************************************************
|
|
CTL_Editor_Data * CTL_Editor_DataList::m_fn_pclGetDataFromName(CString csName)
|
|
{
|
|
POSITION pos=GetHeadPosition();
|
|
CTL_Editor_Data *pclData=NULL;
|
|
while((pos!=NULL) && (pclData==NULL))
|
|
{
|
|
CTL_Editor_Data *pclCurrentData=GetNext(pos);
|
|
|
|
if(csName.CompareNoCase(pclCurrentData->m_pub_fn_csGetDataName())==0)
|
|
pclData=pclCurrentData;
|
|
}
|
|
|
|
return pclData;
|
|
}
|
|
|