// To handle Watch Window messages
//
// Written by YB on 19 / 01 / 1998
///////////////////////////////////////
#ifndef _OAC_USE_OF_WATCH_WINDOW_
#define _OAC_USE_OF_WATCH_WINDOW_

#include "WAW.h"

//###################################################################
typedef enum OAC_eWatchFieldtype
{
	OAC_WATCH_FIELD_TYPE__NONE = 0,

	OAC_WATCH_FIELD_TYPE__DATA,
	OAC_WATCH_FIELD_TYPE__ACTOR,
	OAC_WATCH_FIELD_TYPE__MS,

} OAC_tdeWatchFieldtype;

//###################################################################
typedef struct OAC_stWatchField
{
	OAC_tdeWatchFieldtype eType;
	void *p_vData;
	WAW_Data *pclWatchData;

} OAC_tdstWatchField;

//###################################################################
class CTL_Editor_Data;


void OAC_CallBackForWatchWindow(WAW_tdeMessage, void *);

void OAC_AddFieldInWatchWindow(CTL_Editor_Data *_pclData);
void OAC_RemoveFieldFromWatchWindow(CTL_Editor_Data *_pclData);

CString OAC_fn_csComputeTotalValueString(CTL_Editor_Data *_pclData);

void OAC_fn_vDeleteDataFromWatch(WAW_Data *_pclWatchData);
void OAC_fn_vDeleteNodeFromWatch(WAW_Data *_pclWatchData);

void OAC_fn_vUpdateDataInWatchWindow(CTL_Editor_Data *_pclData);
void OAC_fn_vUpdateAllDataInWatchWindow();

#endif _OAC_USE_OF_WATCH_WINDOW_