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

98 lines
2.6 KiB
C++

/* 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_*/