Add rayman2 source files

This commit is contained in:
2024-09-18 02:33:44 +08:00
parent bcc093f8ed
commit fb036c54fd
14339 changed files with 2596224 additions and 0 deletions

View File

@@ -0,0 +1,243 @@
/* 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_DATA_
#define _CTL_DATA_
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000*/
#include <afxtempl.h>
#include "CTL\Others\CTL_ODat.hpp"
#include "CTL\Others\CTL_ClBk.hpp"
class CTL_Editor_EnumDescriptor;
class CTL_Editor_MaskDescriptor;
class CTL_Editor_Control;
class CTL_Editor_DataList;
/*#########################################################*/
typedef enum CTL_eEditorDataType
{
CTL_DATA_TYPE__INTEGER = 0,
CTL_DATA_TYPE__DECIMAL,
CTL_DATA_TYPE__BOOLEAN,
CTL_DATA_TYPE__MASKED,
CTL_DATA_TYPE__ENUM,
CTL_DATA_TYPE__TEXT,
CTL_DATA_TYPE__VECTOR,
/* BEGIN ROMTEAM Cristi Petrescu 98-11-*/
CTL_DATA_TYPE__ARRAY,
CTL_DATA_TYPE__ARRAY_ENUM,
CTL_DATA_TYPE__ARRAY_VECTOR,
CTL_DATA_TYPE__ARRAY_DECIMAL,
CTL_DATA_TYPE__ARRAY_INTEGER,
/* END ROMTEAM Cristi Petrescu 98-11-*/
CTL_DATA_TYPE__USE_USER_DEFINED_TYPE,
} CTL_tdeEditorDataType;
/*#########################################################*/
typedef enum CTL_eUpdateReason
{
CTL_UPDATE_REASON__NO_REASON_GIVEN = 0,
CTL_UPDATE_REASON__DATA_MODIFIED_BY_USER,
CTL_UPDATE_REASON__DATA_READ_FROM_MOTOR,
CTL_UPDATE_REASON__USE_USER_DEFINED_REASON,
} CTL_tdeUpdateReason;
/*#########################################################*/
/*-----------------------*/
#define D_BIFIELD_ON_CHAR
/*#define D_BIFIELD_ON_SHORT //not enabled yet !!*/
/*#define D_BIFIELD_ON_LONG //not enabled yet !!*/
#ifdef D_BIFIELD_ON_CHAR
typedef unsigned char tdBitFieldCoder;
#endif /*D_BIFIELD_ON_CHAR*/
#ifdef D_BIFIELD_ON_SHORT
typedef unsigned short tdBitFieldCoder; /*not enabled yet !!*/
#endif /*D_BIFIELD_ON_SHORT*/
#ifdef D_BIFIELD_ON_LONG
typedef unsigned long tdBitFieldCoder; /*not enabled yet !!*/
#endif /*D_BIFIELD_ON_LONG*/
/*-----------------------*/
/*#########################################################*/
class CPA_EXPORT CTL_Editor_Data
{
public:
/*Constructor*/
CTL_Editor_Data(CTL_tdeEditorDataType _tdeType,
CString _csDataName,
CTL_Editor_DataList *_pclParentList,
CTL_Editor_Data *_pclCurrentBaseData = NULL,
long _lUSerDefinedDataType = 0);
/* Destructor*/
virtual ~CTL_Editor_Data();
/*Attributes*/
public:
protected:
/*Indicates wether current value is different from the old one or not*/
/* (used during motor run)*/
BOOL m_pro_bDataHasChanged;
/*The Parent Control*/
CTL_Editor_Control *m_pro_pclParentControl;
/*The name*/
CString m_pro_csDataName;
/*The type of the Data*/
CTL_tdeEditorDataType m_pro_tdeDataType;
/*Pointer on motor's data*/
void *m_pro_pvMotorData;
char m_pro_cDataLength;
/*The string list to return and get save datas*/
CStringList m_csStringList;
/*CallBack function : called when edited Data has changed*/
CTL_td_p_fn_vCallBackWhenDataHasChanged m_pro_td_p_fn_vDataHasChangedCallBack;
CTL_td_p_fn_vCallBackWhenDataHasChanged m_pro_td_p_fn_vDataHasChangedSpecialCallBack;
/*Modification Functions*/
CTL_tdp_fn_vDataModificationFunction m_pro_td_p_fn_vDataModifWhenRead;
CTL_tdp_fn_vDataModificationFunction m_pro_td_p_fn_vDataModifWhenWrite;
/*When Data must be Read or Write*/
CTL_td_p_fn_bCallBackWhenDataMustBeReadOrWritten m_pro_td_p_fn_bDataMustBeRead;
CTL_td_p_fn_bCallBackWhenDataMustBeReadOrWritten m_pro_td_p_fn_bDataMustBeWritten;
/*User Defined Data type*/
long m_pro_lUSerDefinedDataType;
private:
/*Link between initial and current Data*/
/*The associated current Data*/
CTL_Editor_Data *m_pclAssociatedCurrentData;
/*The associated Initial Data*/
CTL_Editor_Data *m_pclAssociatedInitialData;
/*List of OwnerData*/
CTL_ListOfOwnerData m_pri_clListOfOwnerData;
/*Parent List of Data*/
CTL_Editor_DataList *m_pri_pclParentList;
/*Member functions*/
public:
/*Returns the name of the Data*/
CString m_pub_fn_csGetDataName();
/*No 'Set' Function (Name is given to constructor)*/
/*Get/Set for the Parent Control*/
CTL_Editor_Control *m_pub_fn_pclGetParentControl();
void m_pub_fn_vSetParentControl(CTL_Editor_Control *_pclParentControl);
/*Get/Set for the pointer on motor's data*/
void *m_pub_fn_pvGetMotorData();
void m_pub_fn_vSetMotorData(void *_p_vMotorData);
/*Indicates wether current value is different from the old one or not*/
/* (used during motor run)*/
BOOL m_pub_fn_bGetDataHasChanged();
void m_pub_fn_vSetDataHasChanged(BOOL _bNewSate);
CTL_tdeEditorDataType m_pub_fn_tdeGetDataType();
/*Link between initial and current Data*/
/*The associated current Data*/
BOOL m_fn_bHasACurrentData();
CTL_Editor_Data *m_fn_pclGetAssociatedCurrentData();
void m_fn_vSetAssociatedCurrentData(CTL_Editor_Data *);
/*The associated Initial Data*/
BOOL m_fn_bHasAnInitialData();
CTL_Editor_Data *m_fn_pclGetAssociatedInitialData();
void m_fn_vSetAssociatedInitialData(CTL_Editor_Data *);
void m_fn_vSetMotorDataPtr(void *p_vMotorData);
void *m_fn_pvGetMotorDataPtr();
/*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);
/*Parent List of Data*/
CTL_Editor_DataList *m_pub_fn_pclGetParentList();
/*User Defined Data type*/
long m_pub_fn_lGetUSerDefinedDataType();
/*CallBack Functions : when data is modifed*/
void m_pub_fn_vSetDataChangedCallBackFunction(CTL_td_p_fn_vCallBackWhenDataHasChanged _td_p_fn_vDataHasChangedCallBack);
void m_pub_fn_vSetDataChangedSpecialCallBackFunction(CTL_td_p_fn_vCallBackWhenDataHasChanged _td_p_fn_vDataHasChangedSpecialCallBack);
/*Modification CallBack Functions*/
void m_pub_fn_vSetModificationFunctionWhenRead(CTL_tdp_fn_vDataModificationFunction p_fn_vDataModifWhenRead);
void m_pub_fn_vSetModificationFunctionWhenWrite(CTL_tdp_fn_vDataModificationFunction p_fn_vDataModifWhenWrite);
/*When Data must be Read or Written*/
void m_pub_fn_vSetDataMustBeRead_CallBack(CTL_td_p_fn_bCallBackWhenDataMustBeReadOrWritten _p_fn_CallBack);
void m_pub_fn_vSetDataMustBeWritten_CallBack(CTL_td_p_fn_bCallBackWhenDataMustBeReadOrWritten _p_fn_CallBack);
/*Function called to get a string representing the value of the data*/
virtual CStringList *m_fn_pcslFormatDataValueString();
/*Function called to set the value of the data acoording to a string representing it*/
/*(This function is pure virtual)*/
virtual void m_fn_vSetValueWithString(CStringList *) = 0;
/*Function called to Init the data*/
virtual void m_fn_vInitData();
/*Function called to read associated motor's data*/
/*(This function is pure virtual)*/
virtual void m_fn_vGetMotorData() = 0;
/*Function called to update associated motor's data*/
/*(This function is pure virtual)*/
virtual void m_fn_vUpdateMotorData(CTL_tdeUpdateReason eReason = CTL_UPDATE_REASON__NO_REASON_GIVEN,
long _lUserDefinedReason = 0) = 0;
/*Function called to update data with another one*/
/*(This function is pure virtual)*/
virtual void m_fn_vUpdateData(CTL_Editor_Data *pclSourceData,
CTL_tdeUpdateReason eReason = CTL_UPDATE_REASON__NO_REASON_GIVEN,
long _lUserDefinedReason = 0) = 0;
/*Function called to look if data has been modified (by motor for example)*/
/*(This function is pure virtual)*/
virtual void m_fn_vLookIfDataHasBeenModified() = 0;
/*CPA2 Stegaru Cristian 98/06/24*/
virtual BOOL mfn_bEqualsModifiedDataOldValue (CTL_Editor_Data *pModifiedData) { return FALSE;}
/*End CPA2 Stegaru Cristian 98/06/24*/
void m_fn_vDataHasBeenChanged(CTL_tdeUpdateReason _eReason,
long _lUserDefinedReason = 0);
protected:
private:
};
#endif /*_CTL_DATA_*/

View File

@@ -0,0 +1,95 @@
/* Header for the definition of a Array Data characteristic */
/*/////////////////////////////////////////////////////////*/
#ifndef _CTL_ARRAY_DATA_
#define _CTL_ARRAY_DATA_
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000*/
/*#include <afxtempl.h>*/
#include "CTL_Dat.hpp"
/*class CTL_Editor_MaskDescriptor;*/
class CPA_EXPORT CTL_Editor_ArrayData : public CTL_Editor_Data
{
public:
/*Constructors*/
CTL_Editor_ArrayData( /* something...*/
CString,
CTL_Editor_DataList *_pclParentList,
CTL_Editor_Data *pclCurrentBaseData = NULL);
/* Destructor*/
~CTL_Editor_ArrayData();
/*Attributes*/
public:
tdstArray m_stCurrentValue;
tdstArray m_stOldValue;
tdstArray m_stKeepedValueForUndo;
protected:
private:
/*CTL_Editor_MaskDescriptor *m_pri_pclMaskdescriptor;*/
/*Member functions*/
public:
/*Function called to get a string representing the value of the data*/
CStringList *m_fn_pcslFormatDataValueString();
/*Function called to set the value of the data acoording to a string representing it*/
void m_fn_vSetValueWithString(CStringList *);
/*Function called to Init the data*/
void m_fn_vInitData();
/*Function called to read associated motor's data*/
void m_fn_vGetMotorData();
/*Function called to update associated motor's data*/
void m_fn_vUpdateMotorData(CTL_tdeUpdateReason eReason = CTL_UPDATE_REASON__NO_REASON_GIVEN,
long _lUserDefinedReason = 0);
/*Function called to update data with another one*/
void m_fn_vUpdateData(CTL_Editor_Data *pclSourceData,
CTL_tdeUpdateReason eReason = CTL_UPDATE_REASON__NO_REASON_GIVEN,
long _lUserDefinedReason = 0);
/*Function called to look if data has been modified (by motor for example)*/
void m_fn_vLookIfDataHasBeenModified();
/*Undo*/
/*Function called to save the current Value (for Undo)*/
void m_fn_vKeepCurrentValue();
/*Function called to validate Undo for the current change*/
void m_fn_vRegisterUndoAction();
virtual BOOL mfn_bEqualsModifiedDataOldValue (CTL_Editor_Data *pModifiedData);
/* this is not quite good ;-)*/
/* TODO*/
tdstArray * mfn_pstSetCurrentValue (tdstArray * pstValue)
{
if (& m_stCurrentValue != pstValue)
{
m_stOldValue = m_stCurrentValue;
m_stCurrentValue = * pstValue;
}
return & m_stOldValue;
}
tdstArray *mfn_pstGetCurrentValue () { return & m_stCurrentValue;}
/*CTL_Editor_MaskDescriptor *m_pub_fn_pclGetMaskdescriptor();*/
protected:
private:
};
#endif /*_CTL_ARRAY_DATA_*/

View File

@@ -0,0 +1,97 @@
/* Header for the definition of a boolean characteristic */
/*/////////////////////////////////////////////////////////*/
#ifndef _CTL_BOOLEAN_DATA_
#define _CTL_BOOLEAN_DATA_
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000*/
#include <afxtempl.h>
#include "CTL_Dat.hpp"
class CPA_EXPORT CTL_Editor_BooleanData : public CTL_Editor_Data
{
public:
/*Constructors*/
/*for a Boolean coded on (at least) a char*/
CTL_Editor_BooleanData(CString,
CTL_Editor_DataList *_pclParentList,
CTL_Editor_Data *pclCurrentBaseData = NULL);
/*for a (one bit sized) bitfield, based on a char*/
CTL_Editor_BooleanData(tdBitFieldCoder tdMask,
CString,
CTL_Editor_DataList *_pclParentList,
CTL_Editor_Data *pclCurrentBaseData = NULL);
/* Destructor*/
~CTL_Editor_BooleanData();
/*Attributes*/
public:
BOOL m_bCurrentState;
BOOL m_bOldState;
BOOL m_bKeepedValueForUndo;
protected:
private:
BOOL m_bISBitFieldCoded;
tdBitFieldCoder m_tdMask;
/*Member functions*/
public:
/*Function called to get a string representing the value of the data*/
CStringList *m_fn_pcslFormatDataValueString();
/*Function called to set the value of the data acoording to a string representing it*/
void m_fn_vSetValueWithString(CStringList *);
/*Function called to Init the data*/
void m_fn_vInitData();
/*Function called to read associated motor's data*/
void m_fn_vGetMotorData();
/*Function called to update associated motor's data*/
void m_fn_vUpdateMotorData(CTL_tdeUpdateReason eReason = CTL_UPDATE_REASON__NO_REASON_GIVEN,
long _lUserDefinedReason = 0);
/*Function called to update data with another one*/
void m_fn_vUpdateData(CTL_Editor_Data *pclSourceData,
CTL_tdeUpdateReason eReason = CTL_UPDATE_REASON__NO_REASON_GIVEN,
long _lUserDefinedReason = 0);
/*Function called to look if data has been modified (by motor for example)*/
void m_fn_vLookIfDataHasBeenModified();
/*Undo*/
/*Function called to save the current Value (for Undo)*/
void m_fn_vKeepCurrentValue();
/*Function called to validate Undo for the current change*/
void m_fn_vRegisterUndoAction();
/*CPA2 Stegaru Cristian 98/06/24*/
virtual BOOL mfn_bEqualsModifiedDataOldValue (CTL_Editor_Data *pModifiedData);
BOOL mfn_bSetCurrentState (BOOL bState)
{
if (m_bCurrentState != bState)
{
m_bOldState = m_bCurrentState;
m_bCurrentState = bState;
}
return m_bOldState;
}
BOOL mfn_bGetCurrentState () { return m_bCurrentState;}
/*End CPA2 Stegaru Cristian 98/06/24*/
protected:
private:
};
#endif /*_CTL_BOOLEAN_DATA_*/

View File

@@ -0,0 +1,94 @@
/* Header for the definition of an enum characteristic */
/*/////////////////////////////////////////////////////////*/
#ifndef _CTL_ENUM_DATA_
#define _CTL_ENUM_DATA_
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000*/
#include "CTL_Dat.hpp"
class CTL_Editor_EnumElement;
class CTL_Editor_EnumDescriptor;
class EdActors_EditorActor;
class CPA_EXPORT CTL_Editor_EnumData : public CTL_Editor_Data
{
/*Constructor / Destructor*/
public:
CTL_Editor_EnumData(CTL_Editor_EnumDescriptor *pclEnumDescriptor,
CString,
CTL_Editor_DataList *_pclParentList,
CTL_Editor_Data *pclCurrentBaseData = NULL);
~CTL_Editor_EnumData();
/*Attributes*/
public:
CTL_Editor_EnumElement *m_pclCurrentValue;
CTL_Editor_EnumElement *m_pclOldValue;
CTL_Editor_EnumElement *m_pclKeepedValueForUndo;
protected:
private:
CTL_Editor_EnumDescriptor *m_pclEnumDescriptor;
/*Member functions*/
public:
/*Function called to get a string representing the value of the data*/
CStringList *m_fn_pcslFormatDataValueString();
/*Function called to set the value of the data acoording to a string representing it*/
void m_fn_vSetValueWithString(CStringList *);
/*Function called to Init the data*/
void m_fn_vInitData();
/*Function called to read associated motor's data*/
void m_fn_vGetMotorData();
/*Function called to update associated motor's data*/
void m_fn_vUpdateMotorData(CTL_tdeUpdateReason eReason = CTL_UPDATE_REASON__NO_REASON_GIVEN,
long _lUserDefinedReason = 0);
/*Function called to update data with another one*/
void m_fn_vUpdateData(CTL_Editor_Data *pclSourceData,
CTL_tdeUpdateReason eReason = CTL_UPDATE_REASON__NO_REASON_GIVEN,
long _lUserDefinedReason = 0);
/*Function called to look if data has been modified (by motor for example)*/
void m_fn_vLookIfDataHasBeenModified();
/*Undo*/
/*Function called to save the current Value (for Undo)*/
void m_fn_vKeepCurrentValue();
/*Function called to validate Undo for the current change*/
void m_fn_vRegisterUndoAction();
/*CPA2 Stegaru Cristian 98/06/24*/
virtual BOOL mfn_bEqualsModifiedDataOldValue (CTL_Editor_Data *pModifiedData);
CTL_Editor_EnumElement *mfn_pSetCurrentValue (CTL_Editor_EnumElement *pEnumValue)
{
if (m_pclCurrentValue != pEnumValue)
{
m_pclOldValue = m_pclCurrentValue;
m_pclCurrentValue = pEnumValue;
}
return m_pclOldValue;
}
CTL_Editor_EnumElement *mfn_pGetCurrentValue () { return m_pclCurrentValue;}
/*End CPA2 Stegaru Cristian 98/06/24*/
/**/
CTL_Editor_EnumDescriptor *m_fn_pclGetEnumDescriptor();
protected:
private:
};
#endif /*_CTL_ENUM_DATA_*/

View File

@@ -0,0 +1,88 @@
/* Header for the definition of a boolean characteristic */
/*/////////////////////////////////////////////////////////*/
#ifndef _CTL_DECIMAL_DATA_
#define _CTL_DECIMAL_DATA_
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000*/
#include "CTL_Dat.hpp"
class CPA_EXPORT CTL_Editor_DecimalData : public CTL_Editor_Data
{
/*Constructor / Destructor*/
public:
CTL_Editor_DecimalData( char cDataSize,
CString,
CTL_Editor_DataList *_pclParentList,
CTL_Editor_Data *pclCurrentBaseData = NULL);
~CTL_Editor_DecimalData();
/*Attributes*/
public:
long double m_ldCurrentValue;
long double m_ldOldValue;
long double m_ldKeepedValueForUndo;
char m_cDataSize;
protected:
private:
/*Member functions*/
public:
/*Function called to get a string representing the value of the data*/
CStringList *m_fn_pcslFormatDataValueString();
/*Function called to set the value of the data acoording to a string representing it*/
void m_fn_vSetValueWithString(CStringList *);
/*Function called to Init the data*/
void m_fn_vInitData();
/*Function called to read associated motor's data*/
void m_fn_vGetMotorData();
/*Function called to update associated motor's data*/
void m_fn_vUpdateMotorData(CTL_tdeUpdateReason eReason = CTL_UPDATE_REASON__NO_REASON_GIVEN,
long _lUserDefinedReason = 0);
/*Function called to update data with another one*/
void m_fn_vUpdateData(CTL_Editor_Data *pclSourceData,
CTL_tdeUpdateReason eReason = CTL_UPDATE_REASON__NO_REASON_GIVEN,
long _lUserDefinedReason = 0);
/*Function called to look if data has been modified (by motor for example)*/
void m_fn_vLookIfDataHasBeenModified();
/*Undo*/
/*Function called to save the current Value (for Undo)*/
void m_fn_vKeepCurrentValue();
/*Function called to validate Undo for the current change*/
void m_fn_vRegisterUndoAction();
/*CPA2 Stegaru Cristian 98/06/24*/
virtual BOOL mfn_bEqualsModifiedDataOldValue (CTL_Editor_Data *pModifiedData);
long double mfn_ldSetCurrentValue (long double ldValue)
{
if (m_ldCurrentValue != ldValue)
{
m_ldOldValue = m_ldCurrentValue;
m_ldCurrentValue = ldValue;
}
return m_ldOldValue;
}
long double mfn_ldGetCurrentValue () { return m_ldCurrentValue;}
/*End CPA2 Stegaru Cristian 98/06/24*/
protected:
private:
};
#endif /*_CTL_DECIMAL_DATA_*/

View File

@@ -0,0 +1,93 @@
/* Header for the definition of a boolean characteristic */
/*/////////////////////////////////////////////////////////*/
#ifndef _CTL_INTEGER_DATA_
#define _CTL_INTEGER_DATA_
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000*/
#include "CTL_Dat.hpp"
class CPA_EXPORT CTL_Editor_IntegerData : public CTL_Editor_Data
{
/*Constructor / Destructor*/
public:
CTL_Editor_IntegerData( char cDataSize,
BOOL bSigned,
CString,
CTL_Editor_DataList *_pclParentList,
CTL_Editor_Data *pclCurrentBaseData = NULL);
~CTL_Editor_IntegerData();
/*Attributes*/
public:
long m_lCurrentValue;
long m_lOldValue; /*To keep value when motor runs*/
long m_lKeepedValueForUndo;
char m_cDataSize;
BOOL m_bSigned;
/* long m_lMaxValue;*/
/* long m_lMinValue;*/
/* BOOL m_bMaxIsChangeable;*/
protected:
private:
/*Member functions*/
public:
/*Function called to get a string representing the value of the data*/
CStringList *m_fn_pcslFormatDataValueString();
/*Function called to set the value of the data acoording to a string representing it*/
void m_fn_vSetValueWithString(CStringList *);
/*Function called to Init the data*/
void m_fn_vInitData();
/*Function called to read associated motor's data*/
void m_fn_vGetMotorData();
/*Function called to update associated motor's data*/
void m_fn_vUpdateMotorData(CTL_tdeUpdateReason eReason = CTL_UPDATE_REASON__NO_REASON_GIVEN,
long _lUserDefinedReason = 0);
/*Function called to update data with another one*/
void m_fn_vUpdateData(CTL_Editor_Data *pclSourceData,
CTL_tdeUpdateReason eReason = CTL_UPDATE_REASON__NO_REASON_GIVEN,
long _lUserDefinedReason = 0);
/*Function called to look if data has been modified (by motor for example)*/
void m_fn_vLookIfDataHasBeenModified();
/*Undo*/
/*Function called to save the current Value (for Undo)*/
void m_fn_vKeepCurrentValue();
/*Function called to validate Undo for the current change*/
void m_fn_vRegisterUndoAction();
/*CPA2 Stegaru Cristian 98/06/24*/
virtual BOOL mfn_bEqualsModifiedDataOldValue (CTL_Editor_Data *pModifiedData);
long mfn_lSetCurrentValue (long lValue)
{
if (m_lCurrentValue != lValue)
{
m_lOldValue = m_lCurrentValue;
m_lCurrentValue = lValue;
}
return m_lOldValue;
}
long mfn_lGetCurrentValue () { return m_lCurrentValue;}
/*End CPA2 Stegaru Cristian 98/06/24*/
protected:
private:
};
#endif /*_CTL_INTEGER_DATA_*/

View File

@@ -0,0 +1,95 @@
/* Header for the definition of a Masked Data characteristic */
/*/////////////////////////////////////////////////////////*/
#ifndef _CTL_MASKED_DATA_
#define _CTL_MASKED_DATA_
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000*/
/*#include <afxtempl.h>*/
#include "CTL_Dat.hpp"
class CTL_Editor_MaskDescriptor;
class CPA_EXPORT CTL_Editor_MaskedData : public CTL_Editor_Data
{
public:
/*Constructors*/
/*for a Boolean coded on (at least) a char*/
CTL_Editor_MaskedData(CTL_Editor_MaskDescriptor *_pclMaskdescriptor,
CString,
CTL_Editor_DataList *_pclParentList,
CTL_Editor_Data *pclCurrentBaseData = NULL);
/* Destructor*/
~CTL_Editor_MaskedData();
/*Attributes*/
public:
unsigned long m_ulCurrentValue;
unsigned long m_ulOldValue;
unsigned long m_ulKeepedValueForUndo;
protected:
private:
CTL_Editor_MaskDescriptor *m_pri_pclMaskdescriptor;
/*Member functions*/
public:
/*Function called to get a string representing the value of the data*/
CStringList *m_fn_pcslFormatDataValueString();
/*Function called to set the value of the data acoording to a string representing it*/
void m_fn_vSetValueWithString(CStringList *);
/*Function called to Init the data*/
void m_fn_vInitData();
/*Function called to read associated motor's data*/
void m_fn_vGetMotorData();
/*Function called to update associated motor's data*/
void m_fn_vUpdateMotorData(CTL_tdeUpdateReason eReason = CTL_UPDATE_REASON__NO_REASON_GIVEN,
long _lUserDefinedReason = 0);
/*Function called to update data with another one*/
void m_fn_vUpdateData(CTL_Editor_Data *pclSourceData,
CTL_tdeUpdateReason eReason = CTL_UPDATE_REASON__NO_REASON_GIVEN,
long _lUserDefinedReason = 0);
/*Function called to look if data has been modified (by motor for example)*/
void m_fn_vLookIfDataHasBeenModified();
/*Undo*/
/*Function called to save the current Value (for Undo)*/
void m_fn_vKeepCurrentValue();
/*Function called to validate Undo for the current change*/
void m_fn_vRegisterUndoAction();
/*CPA2 Stegaru Cristian 98/06/24*/
virtual BOOL mfn_bEqualsModifiedDataOldValue (CTL_Editor_Data *pModifiedData);
unsigned long mfn_ulSetCurrentValue (unsigned long ulValue)
{
if (m_ulCurrentValue != ulValue)
{
m_ulOldValue = m_ulCurrentValue;
m_ulCurrentValue = ulValue;
}
return m_ulOldValue;
}
unsigned long mfn_ulGetCurrentValue () { return m_ulCurrentValue;}
/*End CPA2 Stegaru Cristian 98/06/24*/
/**/
CTL_Editor_MaskDescriptor *m_pub_fn_pclGetMaskdescriptor();
protected:
private:
};
#endif /*_CTL_MASKED_DATA_*/

View File

@@ -0,0 +1,76 @@
/* Header for the definition of a text characteristic */
/*/////////////////////////////////////////////////////////*/
#ifndef _CTL_TEXT_DATA_
#define _CTL_TEXT_DATA_
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000*/
#include "CTL_Dat.hpp"
class CPA_EXPORT CTL_Editor_TextData : public CTL_Editor_Data
{
/*Constructor / Destructor*/
public:
CTL_Editor_TextData(CString,
CTL_Editor_DataList *_pclParentList,
CTL_Editor_Data *pclCurrentBaseData = NULL);
~CTL_Editor_TextData();
/*Attributes*/
public:
CString m_csCurrentString;
CString m_csOldString;
protected:
private:
/*Member functions*/
public:
/*Function called to get a string representing the value of the data*/
CStringList *m_fn_pcslFormatDataValueString();
/*Function called to set the value of the data acoording to a string representing it*/
void m_fn_vSetValueWithString(CStringList *);
/*Function called to Init the data*/
void m_fn_vInitData();
/*Function called to read associated motor's data*/
void m_fn_vGetMotorData();
/*Function called to update associated motor's data*/
void m_fn_vUpdateMotorData(CTL_tdeUpdateReason eReason = CTL_UPDATE_REASON__NO_REASON_GIVEN,
long _lUserDefinedReason = 0);
/*Function called to update data with another one*/
void m_fn_vUpdateData(CTL_Editor_Data *pclSourceData,
CTL_tdeUpdateReason eReason = CTL_UPDATE_REASON__NO_REASON_GIVEN,
long _lUserDefinedReason = 0);
/*Function called to look if data has been modified (by motor for example)*/
void m_fn_vLookIfDataHasBeenModified();
/*CPA2 Stegaru Cristian 98/06/24*/
virtual BOOL mfn_bEqualsModifiedDataOldValue (CTL_Editor_Data *pModifiedData);
CString mfn_csSetCurrentString (CString csText)
{
if (m_csCurrentString != csText)
{
m_csOldString = m_csCurrentString;
m_csCurrentString = csText;
}
return m_csOldString;
}
CString mfn_csGetCurrentString () { return m_csCurrentString;}
/*End CPA2 Stegaru Cristian 98/06/24*/
protected:
private:
};
#endif /*_CTL_TEXT_DATA_*/

View File

@@ -0,0 +1,114 @@
/* Header for the definition of a boolean characteristic */
/*/////////////////////////////////////////////////////////*/
#ifndef _CTL_VECTOR_DATA_
#define _CTL_VECTOR_DATA_
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000*/
#include "CTL_Dat.hpp"
class CPA_EXPORT CTL_Editor_VectorData : public CTL_Editor_Data
{
/*Constructor / Destructor*/
public:
CTL_Editor_VectorData(char cDataSize,
CString,
CTL_Editor_DataList *_pclParentList,
CTL_Editor_Data *pclCurrentBaseData = NULL);
~CTL_Editor_VectorData();
/*Attributes*/
public:
long double m_ldCurrentValueX;
long double m_ldCurrentValueY;
long double m_ldCurrentValueZ;
long double m_ldOldValueX;
long double m_ldOldValueY;
long double m_ldOldValueZ;
long double m_ldKeepedValueForUndoX;
long double m_ldKeepedValueForUndoY;
long double m_ldKeepedValueForUndoZ;
char m_cDataSize;
protected:
private:
/*Member functions*/
public:
/*Function called to get a string representing the value of the data*/
CStringList *m_fn_pcslFormatDataValueString();
/*Function called to set the value of the data acoording to a string representing it*/
void m_fn_vSetValueWithString(CStringList *);
/*Function called to Init the data*/
void m_fn_vInitData();
/*Function called to read associated motor's data*/
void m_fn_vGetMotorData();
/*Function called to update associated motor's data*/
void m_fn_vUpdateMotorData(CTL_tdeUpdateReason eReason = CTL_UPDATE_REASON__NO_REASON_GIVEN,
long _lUserDefinedReason = 0);
/*Function called to update data with another one*/
void m_fn_vUpdateData(CTL_Editor_Data *pclSourceData,
CTL_tdeUpdateReason eReason = CTL_UPDATE_REASON__NO_REASON_GIVEN,
long _lUserDefinedReason = 0);
/*Function called to look if data has been modified (by motor for example)*/
void m_fn_vLookIfDataHasBeenModified();
/*Undo*/
/*Function called to save the current Value (for Undo)*/
void m_fn_vKeepCurrentValue();
/*Function called to validate Undo for the current change*/
void m_fn_vRegisterUndoAction();
/*CPA2 Stegaru Cristian 98/06/24*/
virtual BOOL mfn_bEqualsModifiedDataOldValue (CTL_Editor_Data *pModifiedData);
long double mfn_ldSetCurrentValueX (long double ldValueX)
{
if (m_ldCurrentValueX != ldValueX)
{
m_ldOldValueX = m_ldCurrentValueX;
m_ldCurrentValueX = ldValueX;
}
return m_ldOldValueX;
}
long double mfn_ldGetCurrentValueX () { return m_ldCurrentValueX;}
long double mfn_ldSetCurrentValueY (long double ldValueY)
{
if (m_ldCurrentValueY != ldValueY)
{
m_ldOldValueY = m_ldCurrentValueY;
m_ldCurrentValueY = ldValueY;
}
return m_ldOldValueY;
}
long double mfn_ldGetCurrentValueY () { return m_ldCurrentValueY;}
long double mfn_ldSetCurrentValueZ (long double ldValueZ)
{
if (m_ldCurrentValueZ != ldValueZ)
{
m_ldOldValueZ = m_ldCurrentValueZ;
m_ldCurrentValueZ = ldValueZ;
}
return m_ldOldValueZ;
}
long double mfn_ldGetCurrentValueZ () { return m_ldCurrentValueZ;}
/*End CPA2 Stegaru Cristian 98/06/24*/
protected:
private:
};
#endif /*_CTL_VECTOR_DATA_*/

View File

@@ -0,0 +1,82 @@
/* 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_*/