/* Header for the definition of a boolean characteristic */
/*/////////////////////////////////////////////////////////*/
#ifndef _CTL_BOOLEAN_CONTROL_
#define _CTL_BOOLEAN_CONTROL_
 
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000*/
 
#include "CTL_Ctl.hpp"
 
class CTL_Editor_CheckBox;
class _pclParentList;
 
class CPA_EXPORT CTL_Editor_BooleanControl :	public CTL_Editor_Control
{
/*Constructor / Destructor*/
public:
	CTL_Editor_BooleanControl(BOOL bReadOnly,
														CTL_tdeControlSpacingType tdeSpacingType,
														BOOL bUserCanChangeAspect,
														CTL_Editor_ControlList *_pclParentList,
														CString _csControlName,
														BOOL _bAcceptNameFromData, /*ANNECY BBB*/
/*Stefan Dumitrean 20-07-98 ( OAC buttons )*/
														unsigned char ucInitialCurrentPair
/*End Stefan Dumitrean 20-07-98 ( OAC buttons )*/
														);
	
	~CTL_Editor_BooleanControl();
 
/*Attributes*/
public:
 
protected:
 
private:  
	CTL_Editor_CheckBox *m_pclCheckBox;
 
/*Member functions*/
public:
	/*Function called to create controls (must be called only once)*/
	BOOL m_fn_bCreateControl(CWnd *pclParentWnd);
 
	/*Function called to display the associated control of the char.*/
	void m_fn_vDisplay();
	
	/*Function called to update the associated control of the char.*/
	void m_fn_vUpdate(CTL_tdeUpdateReason _eReason = CTL_UPDATE_REASON__NO_REASON_GIVEN,
										long _lUserDefinedReason = 0);
 
	/*Function called to update parent window in case of values changes.*/
	void m_fn_vUpdateParent(CTL_tdeUpdateReason eReason = CTL_UPDATE_REASON__NO_REASON_GIVEN,
													long _lUserDefinedReason = 0);
 
	/*Function called to make control Read Only*/
	void m_fn_vMakeReadOnly();
 
	/*Function called to make control Read-Write*/
	void m_fn_vMakeReadWrite();
 
	static BOOL s_m_fn_bCheckBoxMustBeEnabled(class CTL_Editor_BaseControl *_pclSenderBaseControl);
	static void s_m_fn_vCheckBoxHasBeenClicked(class CTL_Editor_CheckBox *_pclSenderCheckBox,
																						 class CTL_Editor_Control *_pclParentControl,
																						 enum CTL_eCarCheckBoxType _tdeType,
																						 long _lUserDefinedType,
																						 long _lUserDefinedCode);
 
protected:
 
private:
 
};											   
 
#endif /*_CTL_BOOLEAN_CONTROL_*/
