reman3/Rayman_X/cpa/tempgrp/Ctl/Src/Data/CTL_LDat.cpp

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