/* CallBacks types for CTL Module*/
/**/
/* YB*/
/*/////////////////////////////////////*/
#ifndef _CTL_CALLBACKS_TYPE_
#define _CTL_CALLBACKS_TYPE_
 
/*//////////////////////////*/
/* CallBacks for Controls //*/
/*//////////////////////////*/
 
typedef BOOL (*CTL_td_p_fn_bControlCanBeDisplayed)(class CTL_Editor_Control *_pclSenderControl);
 
typedef void (*CTL_td_p_fn_vBuildEnumDescriptor)(class CTL_Editor_Control *_pclSenderControl,
																								 class CTL_Editor_EnumDescriptor *_pclEnumDescriptor);
 
/*///////////////////////////////*/
/* CallBacks for Base Controls //*/
/*///////////////////////////////*/
typedef BOOL (*CTL_td_p_fn_bBaseControlCanBeDisplayed)(class CTL_Editor_BaseControl *_pclSenderBaseControl);
 
 
 
/*//////////////////////*/
/* CallBacks for Data //*/
/*//////////////////////*/
 
typedef void (*CTL_td_p_fn_vCallBackWhenDataHasChanged)(class CTL_Editor_Data *_pclChangedData,
																												enum CTL_eUpdateReason _eReason,
																												long _lUserDefinedReason /*= 0*/);
 
typedef BOOL (*CTL_td_p_fn_bCallBackWhenDataMustBeReadOrWritten)(class CTL_Editor_Data *_pclSenderData);
 
/*For Modification functions*/
typedef void (*CTL_tdp_fn_vDataModificationFunction)(class CTL_Editor_Data *_pclData);
 
 
/*//////////////////////////////////*/
/* CallBacks for Windows Controls //*/
/*//////////////////////////////////*/
 
/*For color of Statics*/
typedef void (*CTL_tdp_fn_vGetColor)(class CTL_Editor_Static *_pclSenderStatic,
									  								 COLORREF &r_ColRefBackGround,
																		 COLORREF &r_ColRefText);
 
/*When a static has been clicked*/
typedef void (*CTL_td_p_fn_vStaticHasBeenClicked)(class CTL_Editor_Static *_pclSenderStatic,
																									enum CTL_eClickType _tdeClickType);
 
/*When a Button is clicked*/
typedef void (*CTL_tdp_fn_vButtonHasBeenClicked)(class CTL_Editor_Button *_pclSenderButton,
																								 class CTL_Editor_Control *_pclParentControl,
																								 enum CTL_eButtonType _tdeType,
																								 long _lUserDefinedType,
																								 long _lUserDefinedCode);
 
/*When selection has been changed in a Combo box*/
typedef void (*CTL_tdp_fn_vComboBoxSelChanged)(class CTL_Editor_ComboBox *_pclSenderComboBox,
																							 class CTL_Editor_Control *_pclParentControl,
																							 enum CTL_eComboBoxType _tdeType,
																							 long _lUserDefinedType,
																							 long _lUserDefinedCode);
 
/*When a Check Box is Clicked*/
typedef void (*CTL_tdp_fn_vCheckBoxHasBeenClicked)(class CTL_Editor_CheckBox *_pclSenderCheckBox,
																									 class CTL_Editor_Control *_pclParentControl,
																									 enum CTL_eCarCheckBoxType _tdeType,
																									 long _lUserDefinedType,
																									 long _lUserDefinedCode);
 
/*To get a size of a Window*/
typedef long (*CTL_tdp_fn_lGetSizeOfWindow)(CTL_Editor_BaseControl *_pclSenderBaseControl);
 
 
 
/*ROMTEAM Selection (Cristian Stegaru 24/03/98)*/
typedef (*CTL_tpf_iCheckString) (class CTL_Editor_Data *_pclData, class CTL_Editor_EnumElement *pNewElement); 
/*ENDROMTEAM Selection (Cristian Stegaru)*/
 
#endif /*_CTL_CALLBACKS_TYPE_*/
