/* Header for the definition of an enum characteristic*/ /*/////////////////////////////////////////////////////////*/ #ifndef _CTL_ENUM_CONTROL_ #define _CTL_ENUM_CONTROL_ #if _MSC_VER >= 1000 #pragma once #endif /* _MSC_VER >= 1000*/ #include "CTL_Ctl.hpp" #include "CTL\Others\CTL_ClBk.hpp" class CTL_Editor_EnumDescriptor; class CTL_Editor_ComboBox; class CTL_Editor_Static; class CTL_Editor_ControlList; class CPA_EXPORT CTL_Editor_EnumControl : public CTL_Editor_Control { /*Constructor / Destructor*/ public: CTL_Editor_EnumControl(BOOL bReadOnly, 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_EnumControl(); /*Attributes*/ public: CTL_Editor_EnumDescriptor *m_pclEnumDescriptor; protected: /* CPA2 ASilvescu 98-05-21*/ /*private:*/ /* End CPA2 ASilvescu 98-05-21*/ CTL_Editor_ComboBox *m_pclComboBox; CTL_Editor_Static *m_pclStatic; CTL_td_p_fn_vBuildEnumDescriptor m_td_pri_fn_vBuildEnumDesciptor_CallBack; BOOL m_pri_bMustSortNamesInComboBox; /*Member functions*/ public: /*Function called to create associated control*/ 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); /*overload of the virtual member of CTL_Editor_Enumerable*/ virtual void m_fn_vUpdateCurrentValue(); /*Function called to make control Read Only*/ void m_fn_vMakeReadOnly(); /*Function called to make control Read-Write*/ void m_fn_vMakeReadWrite(); /**/ void m_pub_fn_vMustSortNamesInComboBox(BOOL _bMustSort = TRUE); /**/ void m_fn_vGetNewEnumDescriptor(); /*Function called when a "DropDown" message is sent to the ComboBox*/ /*Calls the calback m_td_pri_fn_vConstructEnumerableListCallBack if it exists*/ void m_pub_fn_vBuildEnumDescriptor(); virtual void m_fn_vSetEditedData(CTL_Editor_Data *); /*ROMTEAM Selection (Cristian Stegaru 24/03/98)*/ int m_fn_iSetCanISelect_CallBack (CTL_tpf_iCheckString pfCheckString); /*ENDROMTEAM Selection (Cristian Stegaru)*/ /*Call backs*/ /*/////////////*/ void m_pub_fn_vSetBuildEnumDesciptor_CallBack(CTL_td_p_fn_vBuildEnumDescriptor _p_fn_vCallBack); static BOOL s_m_fn_bStaticCanBeDisplayed(class CTL_Editor_BaseControl *_pclSenderBaseControl); static BOOL s_m_fn_bComboBoxCanBeDisplayed(class CTL_Editor_BaseControl *_pclSenderBaseControl); /*When selection has been changed in a Combo box*/ static void s_m_fn_vComboBoxSelChanged(class CTL_Editor_ComboBox *_pclSenderComboBox, class CTL_Editor_Control *_pclParentControl, enum CTL_eComboBoxType _tdeType, long _lUserDefinedType, long _lUserDefinedCode); /*When Combo box has been dropped down (ie open)*/ static void s_m_fn_vComboBoxDroppedDown(class CTL_Editor_ComboBox *_pclSenderComboBox, class CTL_Editor_Control *_pclParentControl, enum CTL_eComboBoxType _tdeType, long _lUserDefinedType, long _lUserDefinedCode); protected: private: }; #endif /*_CTL_ENUM_CONTROL_*/