// EdIRBVwA.cpp : implementation file
//

#include "stdafx.h"

#include "Defines.hpp"

#ifdef D_ED_IR_ACTIVE

#include "EdIRBVwA.hpp"

#include "EdIRBVw.hpp"
#include "EdIRBeEn.hpp"
#include "EdIRBELs.hpp"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// class CPA_EdIR_UndoCreateBehaviour
/////////////////////////////////////////////////////////////////////////////

/**********************************************************************************/
CPA_EdIR_UndoCreateBehaviour::CPA_EdIR_UndoCreateBehaviour(CPA_EdIR_DiagView *pclDiagView,
														   CPA_EdIR_MainBehaviour *pclMainBehaviour,
														   CPA_EdIR_MainBehaviourList *pclMainBehaviourList,
														   BOOL bBlock)
	:CPA_Modif(1,"Create Behaviour",bBlock)
{
	m_pclDiagView					=pclDiagView;
	m_pclMainBehaviour		=pclMainBehaviour;
	m_pclMainBehaviourList=pclMainBehaviourList;
}

/**********************************************************************************/
CPA_EdIR_UndoCreateBehaviour::~CPA_EdIR_UndoCreateBehaviour()
{
}

/**********************************************************************************/
BOOL CPA_EdIR_UndoCreateBehaviour::Do()
{
	m_pclDiagView->m_fn_vAddOneBehaviourInList(m_pclMainBehaviour);
	m_pclMainBehaviourList->m_fn_vSetModified(TRUE);

	return TRUE;
}

/**********************************************************************************/
BOOL CPA_EdIR_UndoCreateBehaviour::Undo()
{
	m_pclMainBehaviourList->m_fn_vSetModified(TRUE);

	return m_pclDiagView->m_fn_bDeleteBehaviourFromList(m_pclMainBehaviour);
}

#endif //D_ED_IR_ACTIVE
