225 lines
7.1 KiB
C++
225 lines
7.1 KiB
C++
// Used for Data and Controls customization
|
|
//
|
|
// YB
|
|
//
|
|
/////////////////////////////////////////////////////
|
|
#ifndef _OAC_DATA_AND_CONTROLS_CUSTOMIZATION_
|
|
#define _OAC_DATA_AND_CONTROLS_CUSTOMIZATION_
|
|
|
|
//External Modules
|
|
#include "CTL.h"
|
|
#include "WAW.h"
|
|
//End of External Modules
|
|
|
|
//#########################################################
|
|
typedef enum OAC_eEditorDataType
|
|
{
|
|
OAC_DATA_TYPE__OBJECT_LIST = 1,
|
|
OAC_DATA_TYPE__STATE,
|
|
|
|
} OAC_tdeEditorDataType;
|
|
|
|
//#########################################################
|
|
typedef enum OAC_eUpdateReason
|
|
{
|
|
OAC_E_ur_NoReasonGiven = 0,
|
|
OAC_E_ur_InstanceChangedObjectList,
|
|
OAC_E_ur_ModelChangedNameList,
|
|
OAC_E_ur_InstanceChangedAlternateList,
|
|
OAC_E_ur_InstanceRenamedObjectList,
|
|
OAC_E_ur_ModelEditedNameList,
|
|
OAC_E_ur_ComboSelChanged,
|
|
OAC_E_ur_ButtonClicked,
|
|
OAC_E_ur_InstanciatedFromModel,
|
|
|
|
OAC_E_ur_ModelDataChanged,
|
|
|
|
} OAC_tdeUpdateReason;
|
|
|
|
//#########################################################
|
|
typedef enum OAC_eDataLinkMode
|
|
{
|
|
OAC_LINK_MODE__NOT_LINKED = 0,
|
|
OAC_LINK_MODE__LINKED,
|
|
//Those modes are for data whose link mode cannot be changed by the user
|
|
OAC_LINK_MODE__ALWAYS_LINKED,
|
|
OAC_LINK_MODE__NEVER_LINKED,
|
|
|
|
} OAC_tdeDataLinkMode;
|
|
|
|
OAC_tdeDataLinkMode eNot(OAC_tdeDataLinkMode _eMode);
|
|
|
|
//#########################################################
|
|
typedef enum OAC_eDataLevel
|
|
{
|
|
OAC_DATA_LEVEL_1 = 1,
|
|
OAC_DATA_LEVEL_2 = 2,
|
|
OAC_DATA_LEVEL_3 = 3,
|
|
|
|
} OAC_tdeDataLevel;
|
|
|
|
//BEGIN ROMTEAM Cristi Petrescu 98-06-
|
|
typedef enum OAC_eDataQualifier
|
|
{
|
|
OAC_DATA_PUBLIC,
|
|
OAC_DATA_PRIVATE,
|
|
|
|
} OAC_tdeDataQualifier;
|
|
//END ROMTEAM Cristi Petrescu 98-06-
|
|
|
|
//#########################################################
|
|
typedef enum OAC_eStaticType
|
|
{
|
|
OAC_STATIC_TYPE__INSTANCE_NAME = 1,
|
|
OAC_STATIC_TYPE__MODEL_NAME,
|
|
OAC_STATIC_TYPE__FAMILY_NAME,
|
|
|
|
} OAC_tdeStaticType;
|
|
|
|
//#########################################################
|
|
typedef enum OAC_eCheckBoxType
|
|
{
|
|
OAC_CHECK_BOX_TYPE__LINK = 1,
|
|
|
|
} OAC_tdeCheckBoxType;
|
|
|
|
//#########################################################
|
|
typedef enum OAC_eButtonType
|
|
{
|
|
OAC_BUTTON_TYPE__OBJECTS_LIST_BUTTON = 1,
|
|
|
|
} OAC_tdeButtonType;
|
|
|
|
//#########################################################
|
|
typedef enum OAC_eButtonReturnCodeValue
|
|
{
|
|
OAC_BUTTON_RETURN_CODE_VALUE__OBJECTS_LIST_EDIT = 1,
|
|
OAC_BUTTON_RETURN_CODE_VALUE__OBJECTS_LIST_RENAME,
|
|
|
|
} OAC_tdeButtonReturnCodeValue;
|
|
|
|
//#########################################################
|
|
typedef enum OAC_eComboBoxType
|
|
{
|
|
OAC_COMBO_BOX_TYPE__OBJECTS_LIST_COMBO_BOX = 1,
|
|
|
|
} OAC_tdeComboBoxType;
|
|
|
|
//#########################################################
|
|
typedef enum OAC_eComboBoxReturnCodeValue
|
|
{
|
|
OAC_COMBO_BOX_RETURN_CODE_VALUE__OBJECTS_LIST_NAMES = 1,
|
|
OAC_COMBO_BOX_RETURN_CODE_VALUE__OBJECTS_LIST_ALTERNATE_NAMES,
|
|
|
|
} OAC_tdeComboBoxReturnCodeValue;
|
|
|
|
//#########################################################
|
|
typedef enum OAC_eControlVisibility
|
|
{
|
|
EDCAR_DATA_VISI_ONLY_INSTANCES = 0,
|
|
EDCAR_DATA_VISI_ONLY_MODELS,
|
|
EDCAR_DATA_VISI_DUAL,
|
|
|
|
} OAC_tdeControlVisibility;
|
|
|
|
class EdActors_EditorActor;
|
|
class EdActors_ActorMiniStructure;
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////////////
|
|
//Owner Data Functions
|
|
/////////////////////
|
|
//Data
|
|
///////////
|
|
void OAC_AddOwnerDataToData(CTL_Editor_Data *_pclData,
|
|
EdActors_EditorActor *_pclParentActor,
|
|
EdActors_ActorMiniStructure *_pclParentAMS);
|
|
|
|
EdActors_EditorActor *OAC_fn_pclGetParentActorOfData(CTL_Editor_Data *_pclData);
|
|
|
|
EdActors_ActorMiniStructure *OAC_fn_pclGetParentAMSOfData(CTL_Editor_Data *_pclData);
|
|
|
|
OAC_eDataLinkMode OAC_fn_tdeGetLink(CTL_Editor_Data *_pclData);
|
|
//Returns the previous Link status
|
|
OAC_eDataLinkMode OAC_fn_tdeSetLink(CTL_Editor_Data *_pclData,
|
|
OAC_eDataLinkMode _tdeNewLink);
|
|
BOOL OAC_fn_bIsLinked(CTL_Editor_Data *_pclData);
|
|
//CPA2 Stegaru Cristian 98/06/24
|
|
BOOL OAC_fn_bLinkAllowPropagation (CTL_Editor_Data *pclData);
|
|
//End CPA2 Stegaru Cristian 98/06/24
|
|
|
|
BOOL OAC_fn_bDataIsInWatch(CTL_Editor_Data *_pclData);
|
|
WAW_Data *OAC_fn_pclGetAssociatedWatchData(CTL_Editor_Data *_pclData);
|
|
void OAC_fn_vSetDataInWatch(CTL_Editor_Data *_pclData,
|
|
WAW_Data *_p_clDataInWatch);
|
|
|
|
//Controls
|
|
///////////
|
|
void OAC_AddOwnerDataToControl(CTL_Editor_Control *_pclControl,
|
|
OAC_tdeDataLevel _eLevel,
|
|
OAC_tdeControlVisibility _eVisibility,
|
|
DWORD dwHelpID);
|
|
|
|
OAC_tdeControlVisibility OAC_tdeGetVisibilityOfControl(CTL_Editor_Control *_pclControl);
|
|
|
|
OAC_eDataLevel OAC_fn_tdeGetLevelOfControl(CTL_Editor_Control *_pclControl);
|
|
|
|
DWORD OAC_fn_tdeGetHelpIDOfControl(CTL_Editor_Control *_pclControl);
|
|
|
|
void OAC_fn_vCustomizeControl(CTL_Editor_Control *_pclControl,
|
|
CWnd *_pclParentWnd);
|
|
|
|
BOOL OAC_fn_bControlCanBeDisplayed(class CTL_Editor_Control *_pclSenderControl);
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////////////
|
|
//CallBack functions
|
|
/////////////////////
|
|
//Data
|
|
///////////
|
|
void OAC_fn_vDataHasBeenChanged(class CTL_Editor_Data *_pclChangedData,
|
|
enum CTL_eUpdateReason _eReason,
|
|
long _lUserDefinedReason = 0);
|
|
|
|
BOOL OAC_fn_bVectorDataMustBeRead(CTL_Editor_Data *_pclData);
|
|
BOOL OAC_fn_bVectorDataMustBeWritten(CTL_Editor_Data *_pclData);
|
|
|
|
//Controls
|
|
///////////
|
|
|
|
|
|
//Windows Controls
|
|
////////////////////
|
|
void OAC_fn_vFieldNameStaticHasBeenClicked_CallBack(class CTL_Editor_Static *_pclSenderStatic,
|
|
enum CTL_eClickType _tdeClickType);
|
|
void OAC_fn_vInstanceNameStaticHasBeenClicked_CallBack(class CTL_Editor_Static *_pclSenderStatic,
|
|
enum CTL_eClickType _tdeClickType);
|
|
void OAC_fn_vModelNameStaticHasBeenClicked_CallBack(class CTL_Editor_Static *_pclSenderStatic,
|
|
enum CTL_eClickType _tdeClickType);
|
|
void OAC_fn_ColRefGetStaticColor_CallBack(class CTL_Editor_Static *_pclSenderStatic,
|
|
COLORREF &r_ColRefBackGround,
|
|
COLORREF &r_ColRefText);
|
|
void OAC_fn_vCheckBoxHasBeenClicked_CallBack(class CTL_Editor_CheckBox *_pclSenderCheckBox,
|
|
class CTL_Editor_Control *_pclParentControl,
|
|
enum CTL_eCarCheckBoxType _tdeType,
|
|
long _lUserDefinedType,
|
|
long _lUserDefinedCode);
|
|
|
|
BOOL OAC_fn_bLinkCheckBoxCanBeDisplayed_CallBack(class CTL_Editor_BaseControl *_pclSenderBaseControl);
|
|
BOOL OAC_fn_bLinkCheckBoxMustBeEnabled_CallBack(class CTL_Editor_BaseControl *_pclSenderBaseControl);
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////////////
|
|
// Global
|
|
////////////
|
|
CTL_Editor_Data *OAC_fn_pclAddStateData(CTL_Editor_DataList *_pclDataList,
|
|
CString _csDataName,
|
|
CTL_Editor_Data *_pclCurrentAssociatedData = NULL);
|
|
CTL_Editor_Data *OAC_fn_pclAddObjectListData(CTL_Editor_DataList *_pclDataList,
|
|
CString _csDataName,
|
|
CTL_Editor_Data *_pclCurrentAssociatedData = NULL);
|
|
|
|
BOOL OAC_fn_bBelongsToAnInstance(CTL_Editor_Data *_pclData);
|
|
BOOL OAC_fn_bIsEditingAnInstance(CTL_Editor_Control *_pclControl);
|
|
|
|
|
|
#endif //_OAC_DATA_AND_CONTROLS_CUSTOMIZATION_
|