reman3/Rayman_X/cpa/tempgrp/OAC/Inc/DatCtrl/CPA_CtlO.hpp

112 lines
3.6 KiB
C++

// Header for the definition of an object list
///////////////////////////////////////////////////////////
#ifndef _CPACTLO_HPP_
#define _CPACTLO_HPP_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
//External Modules
#include "CTL.h"
//End of External Modules
#include "EDACCust.hpp"
class CPA_Editor_ComboBox;
class CPA_Editor_CheckBox;
//#########################################################
class CPA_Editor_ObjectListControl : public CTL_Editor_Control
{
//Constructor / Destructor
public:
CPA_Editor_ObjectListControl(BOOL bReadOnly,
BOOL bUserCanChangeAspect,
BOOL bNoNames,
BOOL bNoAlternateList,
CTL_Editor_ControlList *_pclParentList,
CString _csControlName,
BOOL _bAcceptsToTakeNameOfData, //ANNECY BBB
//Stefan Dumitrean 20-07-98 ( OAC buttons )
unsigned char ucInitialCurrentPair
//End Stefan Dumitrean 20-07-98 ( OAC buttons )
);
~CPA_Editor_ObjectListControl();
//Attributes
public:
protected:
private:
//for models AND instances:
//calls the name list edit dialog in model mode,
//and the object list editor in instance mode
CTL_Editor_Button *m_p_oPushButtonToEdit;
CTL_Editor_Button *m_p_oPushButtonToRename; //to rename the current object list (for an instance)
//the list of list names in model mode
//the list of names used in the IA text in instance mode
CTL_Editor_ComboBox *m_p_oNamesCombo;
CTL_Editor_ComboBox *m_p_oAlternateNamesCombo;
//for instances only
//if TRUE, the user cannot choose a name for an item in the list
BOOL m_bNoNames;
BOOL m_bNoAlternateList;
//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();
//overload of the virtual member of CPA_Editor_Enumerable
virtual void m_fn_vUpdateCurrentValue(short wAction = 0);
//overload of the virtual member of CPA_Editor_Buttonable
virtual void m_fn_vSetValue(short wAction);
static void s_m_fn_vAButtonHasBeenClicked(class CTL_Editor_Button *_pclSenderButton,
class CTL_Editor_Control *_pclParentControl,
enum CTL_eButtonType _tdeType,
long _lUserDefinedType,
long _lUserDefinedCode);
static void s_m_fn_vComboBoxSelChanged(class CTL_Editor_ComboBox *_pclSenderComboBox,
class CTL_Editor_Control *_pclParentControl,
enum CTL_eComboBoxType _tdeType,
long _lUserDefinedType,
long _lUserDefinedCode);
static BOOL s_m_fn_bRenameButtonCanBeDisplayed(class CTL_Editor_BaseControl *_pclSenderBaseControl);
static BOOL s_m_fn_bButtonMustBeEnabled(class CTL_Editor_BaseControl *_pclSenderBaseControl);
static BOOL s_m_fn_bComboMustBeEnabled(class CTL_Editor_BaseControl *_pclSenderBaseControl);
static BOOL s_m_fn_bAlternateComboMustBeDisplayed(class CTL_Editor_BaseControl *_pclSenderBaseControl);
protected:
private:
};
#endif //_CPACTLO_HPP_