reman3/Rayman_X/cpa/public/CTL/Data/CTL_LDat.hpp

83 lines
3.1 KiB
C++

/* Header for the definition of a characteristic type*/
/*//////////////////////////////////////////////////////*/
/* A characteristic type is an abstract class which defines*/
/* some common functions of specific characteristics (like Booleans,*/
/* numerical values, aso)*/
/* Every specific type of characteristic will inherit of this class*/
/*/////////////////////////////////////////////////////////////////////*/
#ifndef _CTL_LIST_OF_DATA_
#define _CTL_LIST_OF_DATA_
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000*/
#include <afxtempl.h>
#include "CTL_Dat.hpp"
/*###################################################################*/
/* Definition of the class for the list of characteristics*/
class CPA_EXPORT CTL_Editor_DataList : public CList<CTL_Editor_Data *, CTL_Editor_Data *>
{
public:
CTL_Editor_DataList();
~CTL_Editor_DataList();
/*Members*/
private:
/*List of OwnerData*/
CTL_ListOfOwnerData m_pri_clListOfOwnerData;
/*Functions*/
public:
/*Owner Data*/
CTL_OwnerData *m_pub_fn_pclAddOwnerData(void *_pvDataPtr,
CString _csName);
CTL_OwnerData *m_pub_fn_pclAddOwnerData(long _lData,
CString _csName);
CTL_OwnerData *m_pub_fn_pclGetOwnerDataWithName(CString _csSearchedName);
/*------------------------------------------------------------------------------------------*/
/*To add a specific data*/
CTL_Editor_Data *m_fn_pclAddBooleanData(CString csScriptName,
CTL_Editor_Data *pclCurrentBaseData = NULL);
CTL_Editor_Data *m_fn_pclAddBitFieldBooleanData(tdBitFieldCoder,
CString csScriptName,
CTL_Editor_Data *pclCurrentBaseData = NULL);
CTL_Editor_Data *m_fn_pclAddMaskedData( CTL_Editor_MaskDescriptor *_pclMaskDescriptor,
CString csScriptName,
CTL_Editor_Data *pclCurrentBaseData = NULL);
CTL_Editor_Data *m_fn_pclAddIntegerData(char,
BOOL,
CString csScriptName,
CTL_Editor_Data *pclCurrentBaseData = NULL);
CTL_Editor_Data *m_fn_pclAddDecimalData(char,
CString csScriptName,
CTL_Editor_Data *pclCurrentBaseData = NULL);
CTL_Editor_Data *m_fn_pclAddEnumData( CTL_Editor_EnumDescriptor *,
CString csScriptName,
CTL_Editor_Data *pclCurrentBaseData = NULL);
CTL_Editor_Data *m_fn_pclAddTextData( CString csScriptName,
CTL_Editor_Data *pclCurrentBaseData = NULL);
CTL_Editor_Data *m_fn_pclAddVectorData( char,
CString csScriptName,
CTL_Editor_Data *pclCurrentBaseData = NULL);
/*------------------------------------------------------------------------------------------*/
/*To add a user defined data*/
void m_pub_fn_vAddData(CTL_Editor_Data *_pclDataToAdd);
/*------------------------------------------------------------------------------------------*/
/*To get a data from its Name*/
CTL_Editor_Data *m_fn_pclGetDataFromName(CString csName);
private:
void *m_pri_p_vDataPtr;
private:
void m_fn_vEmptyList();
};
#endif /*_CTL_LIST_OF_DATA_*/