309 lines
9.3 KiB
C++
309 lines
9.3 KiB
C++
// Implementation for the definition of the class representing a Mechanical Card
|
|
/////////////////////////////////////////////////////////////////////////////////
|
|
#include "StdAfx.h"
|
|
|
|
#include "EMECCrdT.hpp"
|
|
|
|
#include "EMECVwMS.hpp"
|
|
#include "EMECDoc.hpp"
|
|
#include "EMECFmMn.hpp"
|
|
#include "EMECCnst.hpp"
|
|
#include "EMECDgQu.hpp"
|
|
#include "EMECClBk.hpp"
|
|
#include "EMECCStr.hpp"
|
|
#include "_Minterf.hpp"
|
|
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
//***************************************************************************
|
|
CPA_Meca_CardType::CPA_Meca_CardType(CString csName,
|
|
DNM_tdeMechanicsID tdeMotorID)
|
|
{
|
|
m_csName = csName;
|
|
m_tdeMotorID = tdeMotorID;
|
|
|
|
m_pclCurrentCard = NULL;
|
|
m_p_fn_vUnallocate = NULL;
|
|
m_p_fn_vFill = NULL;
|
|
m_p_fn_vSave = NULL;
|
|
|
|
m_crControlZone = CRect(0,0,0,0);
|
|
m_bControlsAreHidden = TRUE;
|
|
|
|
m_bAtLeastOneCardOfTheCardTypeHasBeenLoaded = FALSE;
|
|
}
|
|
|
|
//***************************************************************************
|
|
CPA_Meca_CardType::~CPA_Meca_CardType()
|
|
{
|
|
|
|
}
|
|
|
|
//**************************************************************************************
|
|
//********************************** Controls ****************************************
|
|
//**************************************************************************************
|
|
|
|
//**************************************************************************************
|
|
void CPA_Meca_CardType::m_fn_vAddDecimalControl(long double ldMinValue,
|
|
long double ldMaxValue,
|
|
char cDataLength,
|
|
BOOL bReadOnly,
|
|
CString _csControlName)
|
|
{
|
|
m_pri_fn_vAddOwnerDataToControl( m_clControlList.m_fn_pclAddDecimalControl( ldMinValue,
|
|
ldMaxValue,
|
|
cDataLength,
|
|
bReadOnly,
|
|
CTL_SPACING_TYPE__SINGLE_LINE,
|
|
FALSE,
|
|
_csControlName,
|
|
TRUE, 0 //ANNECY BBB
|
|
)
|
|
);
|
|
}
|
|
|
|
//**************************************************************************************
|
|
void CPA_Meca_CardType::m_fn_vAddBooleanControl(BOOL bReadOnly,
|
|
CString _csControlName)
|
|
{
|
|
m_pri_fn_vAddOwnerDataToControl( m_clControlList.m_fn_pclAddBooleanControl( bReadOnly,
|
|
CTL_SPACING_TYPE__SINGLE_LINE,
|
|
FALSE,
|
|
_csControlName,
|
|
TRUE, 0 //ANNECY BBB
|
|
)
|
|
);
|
|
}
|
|
|
|
//**************************************************************************************
|
|
void CPA_Meca_CardType::m_pri_fn_vAddOwnerDataToControl(CTL_Editor_Control *_pclControl)
|
|
{
|
|
if ( _pclControl != NULL )
|
|
{
|
|
//OwnerData
|
|
_pclControl->m_pub_fn_pclAddOwnerData((void *)this, TME_g_c_cs_ControlOwnerData_ParentCardType);
|
|
}
|
|
}
|
|
|
|
//**************************************************************************************
|
|
//**************************************************************************************
|
|
//**************************************************************************************
|
|
|
|
//**************************************************************************************
|
|
//Creates all controls
|
|
long CPA_Meca_CardType::m_fn_lCreateMSControls( CWnd *pclWnd,
|
|
CRect crRect)
|
|
{
|
|
m_pclParentView = (CPA_Meca_MiniStrucView *)pclWnd;
|
|
|
|
//Adds an item in the tree
|
|
m_crDisplayRect = crRect;
|
|
|
|
//Creates controls of the data list
|
|
////
|
|
CTL_fn_vSetModuleInfo("TMe", CString("Type ") + m_csName); ///for TUT
|
|
////
|
|
|
|
//Creates controls of the data list
|
|
POSITION pos = m_clControlList.GetHeadPosition();
|
|
while ( pos != NULL )
|
|
(m_clControlList.GetNext(pos))->m_fn_bCreateControl(pclWnd);
|
|
|
|
////
|
|
CTL_fn_vResetModuleInfo();
|
|
////
|
|
|
|
return 0L;
|
|
}
|
|
|
|
//**************************************************************************************
|
|
//Hides all controls
|
|
void CPA_Meca_CardType::m_fn_vHideAllControls()
|
|
{
|
|
//Hides controls of the data list
|
|
m_clControlList.m_pub_fn_vHideAllControls();
|
|
|
|
m_bControlsAreHidden = TRUE;
|
|
}
|
|
|
|
//**************************************************************************************
|
|
long CPA_Meca_CardType::m_fn_lOpen(CRect crRect)
|
|
{
|
|
CPoint clTopLeft;
|
|
CPoint clTopRight;
|
|
clTopLeft.y = clTopRight.y = crRect.top;
|
|
clTopLeft.x = crRect.left + C_TABULATION;
|
|
clTopRight.x = crRect.right;
|
|
|
|
m_clControlList.m_pub_fn_vDisplayControlsInZone(clTopLeft, clTopRight);
|
|
|
|
m_bControlsAreHidden = FALSE;
|
|
|
|
return (clTopLeft.y - crRect.top);
|
|
}
|
|
|
|
//**************************************************************************************
|
|
void CPA_Meca_CardType::m_fn_vClose()
|
|
{
|
|
//Hides controls of the list
|
|
m_clControlList.m_pub_fn_vHideAllControls();
|
|
|
|
m_crControlZone = CRect(0,0,0,0);
|
|
m_bControlsAreHidden = TRUE;
|
|
}
|
|
|
|
//**************************************************************************************
|
|
void CPA_Meca_CardType::m_fn_vOffsetZone(long lOffset)
|
|
{
|
|
m_crControlZone.OffsetRect(0, lOffset);
|
|
}
|
|
|
|
//**************************************************************************************
|
|
void CPA_Meca_CardType::m_fn_vGetMotorDatas()
|
|
{
|
|
//Gets motor data for all controls of the data list
|
|
//And retrieves it in the control
|
|
m_clControlList.m_pub_fn_vUpdateControlsWithEditedData(TRUE);
|
|
}
|
|
|
|
//**************************************************************************************
|
|
CPA_Meca_Card *CPA_Meca_CardType::m_fn_pclGetEditedCard()
|
|
{
|
|
return m_pclCurrentCard;
|
|
}
|
|
|
|
//**************************************************************************************
|
|
void CPA_Meca_CardType::m_fn_vSetEditedCard(CPA_Meca_Card *pclNewCard)
|
|
{
|
|
// ERROR_ASSERT( (pclNewCard != NULL) && (pclNewCard->fn_bIsAvailable()) );
|
|
|
|
m_pclCurrentCard = pclNewCard;
|
|
}
|
|
|
|
//**************************************************************************************
|
|
CPA_Meca_CardList *CPA_Meca_CardType::m_fn_pclGetCardsList()
|
|
{
|
|
return (&m_clCardsList);
|
|
}
|
|
|
|
//**************************************************************************************
|
|
unsigned long CPA_Meca_CardType::m_fn_ulGetCardsNumber()
|
|
{
|
|
return m_clCardsList.GetCount();
|
|
}
|
|
|
|
//**************************************************************************************
|
|
BOOL CPA_Meca_CardType::m_fn_bControlsAreHidden()
|
|
{
|
|
return m_bControlsAreHidden;
|
|
}
|
|
|
|
//**************************************************************************************
|
|
CString CPA_Meca_CardType::m_fn_csGetCardTypeName()
|
|
{
|
|
return m_csName;
|
|
}
|
|
|
|
//**************************************************************************************
|
|
void CPA_Meca_CardType::m_fn_vSetCardTypeName(CString csNewName)
|
|
{
|
|
m_csName = csNewName;
|
|
}
|
|
|
|
//***************************************************************************
|
|
//Get : The ID of the type of Mechanics (image of Motor ID)
|
|
DNM_tdeMechanicsID CPA_Meca_CardType::m_fn_tdeGetMotorID()
|
|
{
|
|
return m_tdeMotorID;
|
|
}
|
|
|
|
//***************************************************************************
|
|
//The name of the File where this type of Cards are stored
|
|
CString CPA_Meca_CardType::m_fn_csGetFileName()
|
|
{
|
|
return m_csFileName;
|
|
}
|
|
|
|
//***************************************************************************
|
|
void CPA_Meca_CardType::m_fn_vSetFileName(CString csNewName)
|
|
{
|
|
m_csFileName = csNewName;
|
|
}
|
|
|
|
//***************************************************************************
|
|
//The name of the Action for this type of Cards
|
|
CString CPA_Meca_CardType::m_fn_csGetActionName()
|
|
{
|
|
return m_csActionName;
|
|
}
|
|
|
|
//***************************************************************************
|
|
void CPA_Meca_CardType::m_fn_vSetActionName(CString csNewName)
|
|
{
|
|
m_csActionName = csNewName;
|
|
}
|
|
|
|
|
|
//**************************************************************************************
|
|
//**************************************************************************************
|
|
//**************************************************************************************
|
|
|
|
CPA_Meca_CardTypeList::CPA_Meca_CardTypeList()
|
|
{
|
|
|
|
}
|
|
|
|
//**************************************************************************************
|
|
CPA_Meca_CardTypeList::~CPA_Meca_CardTypeList()
|
|
{
|
|
m_fn_vEmptyList();
|
|
}
|
|
|
|
//**************************************************************************************
|
|
CPA_Meca_CardType* CPA_Meca_CardTypeList::m_fn_pclAddElement(CString csName,
|
|
DNM_tdeMechanicsID tdeMotorID)
|
|
{
|
|
CPA_Meca_CardType *pclNewElement = new CPA_Meca_CardType(csName, tdeMotorID);
|
|
|
|
AddTail(pclNewElement);
|
|
|
|
return pclNewElement;
|
|
}
|
|
|
|
//**************************************************************************************
|
|
void CPA_Meca_CardTypeList::m_fn_vEmptyList()
|
|
{
|
|
POSITION pos = GetHeadPosition();
|
|
while( pos != NULL )
|
|
delete (GetNext(pos));
|
|
|
|
RemoveAll();
|
|
}
|
|
|
|
//**************************************************************************************
|
|
//Gets a Type Card from its Motor ID
|
|
CPA_Meca_CardType* CPA_Meca_CardTypeList::m_fn_pclGetTypeCardFromID(DNM_tdeMechanicsID tdeMotorID)
|
|
{
|
|
CPA_Meca_CardType *pclTypeCard;
|
|
|
|
POSITION pos = GetHeadPosition();
|
|
BOOL bFound = FALSE;
|
|
|
|
while ( (pos != NULL) && (!bFound) )
|
|
{
|
|
pclTypeCard = GetNext(pos);
|
|
|
|
bFound = ( pclTypeCard->m_fn_tdeGetMotorID() == tdeMotorID );
|
|
}
|
|
|
|
if ( bFound )
|
|
return pclTypeCard;
|
|
else
|
|
return NULL;
|
|
}
|