509 lines
19 KiB
C++
509 lines
19 KiB
C++
// Implementation file for the definition of a decimal control
|
|
//////////////////////////////////////////////////////////////////
|
|
#include "StdAfx.h"
|
|
|
|
#include "Controls\CTL_CtlV.hpp"
|
|
|
|
#include "Controls\CTL_BCtl.hpp"
|
|
#include "Data\CTL_DatV.hpp"
|
|
#include "Others\CTL_Pri.hpp"
|
|
#include "WControls\CTL_WSpn.hpp"
|
|
#include "WControls\CTL_WEdt.hpp"
|
|
#include "WControls\CTL_WSta.hpp"
|
|
#include "WControls\CTL_WCkB.hpp"
|
|
#include "Controls\CTL_Cnst.hpp"
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
//Constructor / Destructor
|
|
//************************************************************************************
|
|
CTL_Editor_VectorControl::CTL_Editor_VectorControl(long double ldMin,
|
|
long double ldMax,
|
|
char cDataLength,
|
|
BOOL bReadOnly,
|
|
CTL_Editor_ControlList *_pclParentList,
|
|
CString _csControlName,
|
|
BOOL _bAcceptNameFromData, //ANNECY BBB
|
|
//Stefan Dumitrean 20-07-98 ( OAC buttons )
|
|
unsigned char ucInitialCurrentPair
|
|
//End Stefan Dumitrean 20-07-98 ( OAC buttons )
|
|
|
|
)
|
|
: CTL_Editor_Control(CTL_DATA_TYPE__VECTOR,
|
|
bReadOnly,
|
|
CTL_SPACING_TYPE__MULTI_LINE,
|
|
FALSE,
|
|
_pclParentList,
|
|
_csControlName,
|
|
_bAcceptNameFromData, //ANNECY BBB
|
|
//Stefan Dumitrean 20-07-98 ( OAC buttons )
|
|
ucInitialCurrentPair
|
|
//End Stefan Dumitrean 20-07-98 ( OAC buttons )
|
|
|
|
)
|
|
{
|
|
m_ldMaxValue = ldMax;
|
|
m_ldMinValue = ldMin;
|
|
|
|
m_pclCurrentEditX = NULL;
|
|
m_pclCurrentEditY = NULL;
|
|
m_pclCurrentEditZ = NULL;
|
|
m_pclCurrentStaticX = NULL;
|
|
m_pclCurrentStaticY = NULL;
|
|
m_pclCurrentStaticZ = NULL;
|
|
m_pclSpinX = NULL;
|
|
m_pclSpinY = NULL;
|
|
m_pclSpinZ = NULL;
|
|
m_pclNameStatic = NULL;
|
|
}
|
|
|
|
//************************************************************************************
|
|
CTL_Editor_VectorControl::~CTL_Editor_VectorControl()
|
|
{
|
|
|
|
}
|
|
|
|
//Member functions
|
|
|
|
//************************************************************************************
|
|
//Function called to create associated control
|
|
BOOL CTL_Editor_VectorControl::m_fn_bCreateControl(CWnd *pclParentWnd)
|
|
{
|
|
BOOL bReturnValue = TRUE;
|
|
CRect crBidonRect(0,0,10,10);
|
|
|
|
m_pclParentWnd = pclParentWnd;
|
|
|
|
m_pro_fn_bCreateBaseControls(100,
|
|
40,
|
|
C_EDIT_HEIGHT);
|
|
|
|
//Creates static boxes for the current value of the charac. (Read Only mode)
|
|
m_pclCurrentStaticX = new CTL_Editor_Static("", CTL_STATIC_TYPE__FIELD_VALUE, 0, NULL, pclParentWnd);
|
|
#ifndef CTL_WITH_NO_TUT
|
|
m_pclCurrentStaticX->m_pub_fn_vRegisterWindowsControl(m_pub_fn_csGetControlName() + " - Vector : X");
|
|
#endif //CTL_WITH_NO_TUT
|
|
|
|
CTL_Editor_BaseControl *pclBC;
|
|
pclBC = m_pclListOfBaseControls->m_pub_fn_pclAddControlAtTail(m_pclCurrentStaticX,
|
|
m_pclCurrentStaticX,
|
|
this,
|
|
CTL_BASE_CONTROL_DISPLAY_TYPE__NORMAL,
|
|
33,
|
|
C_DECIMAL_CURRENT_VALUE_MIN_WIDTH,
|
|
C_EDIT_HEIGHT,
|
|
!m_fn_bIsAlwaysReadOnly(),
|
|
TRUE);
|
|
pclBC->m_pub_fn_vSetCanBeDisplayedCallBack(s_m_fn_bStaticMustBeDisplayed);
|
|
|
|
if ( !m_fn_bIsAlwaysReadOnly() )
|
|
{
|
|
//Creates Edit boxes for the current value of the charac.
|
|
m_pclCurrentEditX = new CTL_Editor_Edit(m_ldMinValue, m_ldMaxValue, WS_TABSTOP, this, m_pclParentWnd);
|
|
#ifndef CTL_WITH_NO_TUT
|
|
m_pclCurrentEditX->m_pub_fn_vRegisterWindowsControl(m_pub_fn_csGetControlName() + " - Vector : X");
|
|
#endif //CTL_WITH_NO_TUT
|
|
|
|
pclBC = m_pclListOfBaseControls->m_pub_fn_pclAddControlAtTail(m_pclCurrentEditX,
|
|
m_pclCurrentEditX,
|
|
this,
|
|
CTL_BASE_CONTROL_DISPLAY_TYPE__NORMAL,
|
|
28,
|
|
C_DECIMAL_CURRENT_VALUE_MIN_WIDTH,
|
|
C_EDIT_HEIGHT,
|
|
FALSE,
|
|
TRUE); //Forces to go to the next line
|
|
pclBC->m_pub_fn_vSetCanBeDisplayedCallBack(s_m_fn_bEditMustBeDisplayed);
|
|
|
|
//Creates a spin button for the current value of the charac.
|
|
//ANNECY CB
|
|
#if 0
|
|
m_pclSpinX = new CTL_Editor_SpinButton(this, m_ldMinValue, m_ldMaxValue, pclParentWnd);
|
|
#ifndef CTL_WITH_NO_TUT
|
|
m_pclSpinX->m_pub_fn_vRegisterWindowsControl(m_pub_fn_csGetControlName() + " - Vector : X");
|
|
#endif //CTL_WITH_NO_TUT
|
|
|
|
pclBC = m_pclListOfBaseControls->m_pub_fn_pclAddControlAtTail(NULL,
|
|
m_pclSpinX,
|
|
this,
|
|
CTL_BASE_CONTROL_DISPLAY_TYPE__ALWAYS_FIXED,
|
|
0,
|
|
C_SPIN_WIDTH,
|
|
C_SPIN_HEIGHT);
|
|
pclBC->m_pub_fn_vSetCanBeDisplayedCallBack(s_m_fn_bSpinMustBeDisplayed);
|
|
#endif
|
|
//ENDANNECY CB
|
|
}
|
|
|
|
m_pclCurrentStaticY = new CTL_Editor_Static("", CTL_STATIC_TYPE__FIELD_VALUE, 0, NULL, pclParentWnd);
|
|
#ifndef CTL_WITH_NO_TUT
|
|
m_pclCurrentStaticY->m_pub_fn_vRegisterWindowsControl(m_pub_fn_csGetControlName() + " - Vector : Y");
|
|
#endif //CTL_WITH_NO_TUT
|
|
|
|
pclBC = m_pclListOfBaseControls->m_pub_fn_pclAddControlAtTail(m_pclCurrentStaticY,
|
|
m_pclCurrentStaticY,
|
|
this,
|
|
CTL_BASE_CONTROL_DISPLAY_TYPE__NORMAL,
|
|
33,
|
|
C_DECIMAL_CURRENT_VALUE_MIN_WIDTH,
|
|
C_EDIT_HEIGHT,
|
|
!m_fn_bIsAlwaysReadOnly());
|
|
pclBC->m_pub_fn_vSetCanBeDisplayedCallBack(s_m_fn_bStaticMustBeDisplayed);
|
|
|
|
if ( !m_fn_bIsAlwaysReadOnly() )
|
|
{
|
|
//Creates Edit boxes for the current value of the charac.
|
|
m_pclCurrentEditY = new CTL_Editor_Edit(m_ldMinValue, m_ldMaxValue, WS_TABSTOP, this, m_pclParentWnd);
|
|
#ifndef CTL_WITH_NO_TUT
|
|
m_pclCurrentEditY->m_pub_fn_vRegisterWindowsControl(m_pub_fn_csGetControlName() + " - Vector : Y");
|
|
#endif //CTL_WITH_NO_TUT
|
|
|
|
pclBC = m_pclListOfBaseControls->m_pub_fn_pclAddControlAtTail(m_pclCurrentEditY,
|
|
m_pclCurrentEditY,
|
|
this,
|
|
CTL_BASE_CONTROL_DISPLAY_TYPE__NORMAL,
|
|
28,
|
|
C_DECIMAL_CURRENT_VALUE_MIN_WIDTH,
|
|
C_EDIT_HEIGHT);
|
|
pclBC->m_pub_fn_vSetCanBeDisplayedCallBack(s_m_fn_bEditMustBeDisplayed);
|
|
|
|
//Creates a spin button for the current value of the charac.
|
|
//ANNECY CB
|
|
#if 0
|
|
m_pclSpinY = new CTL_Editor_SpinButton(this, m_ldMinValue, m_ldMaxValue, pclParentWnd);
|
|
#ifndef CTL_WITH_NO_TUT
|
|
m_pclSpinY->m_pub_fn_vRegisterWindowsControl(m_pub_fn_csGetControlName() + " - Vector : Y");
|
|
#endif //CTL_WITH_NO_TUT
|
|
|
|
pclBC = m_pclListOfBaseControls->m_pub_fn_pclAddControlAtTail(NULL,
|
|
m_pclSpinY,
|
|
this,
|
|
CTL_BASE_CONTROL_DISPLAY_TYPE__ALWAYS_FIXED,
|
|
0,
|
|
C_SPIN_WIDTH,
|
|
C_SPIN_HEIGHT);
|
|
pclBC->m_pub_fn_vSetCanBeDisplayedCallBack(s_m_fn_bSpinMustBeDisplayed);
|
|
#endif
|
|
//ENDANNECY CB
|
|
}
|
|
|
|
m_pclCurrentStaticZ = new CTL_Editor_Static("", CTL_STATIC_TYPE__FIELD_VALUE, 0 , NULL, pclParentWnd);
|
|
#ifndef CTL_WITH_NO_TUT
|
|
m_pclCurrentStaticZ->m_pub_fn_vRegisterWindowsControl(m_pub_fn_csGetControlName() + " - Vector : Z");
|
|
#endif //CTL_WITH_NO_TUT
|
|
|
|
pclBC = m_pclListOfBaseControls->m_pub_fn_pclAddControlAtTail(m_pclCurrentStaticZ,
|
|
m_pclCurrentStaticZ,
|
|
this,
|
|
CTL_BASE_CONTROL_DISPLAY_TYPE__NORMAL,
|
|
33,
|
|
C_DECIMAL_CURRENT_VALUE_MIN_WIDTH,
|
|
C_EDIT_HEIGHT,
|
|
!m_fn_bIsAlwaysReadOnly());
|
|
pclBC->m_pub_fn_vSetCanBeDisplayedCallBack(s_m_fn_bStaticMustBeDisplayed);
|
|
|
|
if ( !m_fn_bIsAlwaysReadOnly() )
|
|
{
|
|
//Creates Edit boxes for the current value of the charac.
|
|
m_pclCurrentEditZ = new CTL_Editor_Edit(m_ldMinValue, m_ldMaxValue, WS_TABSTOP, this, m_pclParentWnd);
|
|
#ifndef CTL_WITH_NO_TUT
|
|
m_pclCurrentEditZ->m_pub_fn_vRegisterWindowsControl(m_pub_fn_csGetControlName() + " - Vector : Z");
|
|
#endif //CTL_WITH_NO_TUT
|
|
|
|
pclBC = m_pclListOfBaseControls->m_pub_fn_pclAddControlAtTail(m_pclCurrentEditZ,
|
|
m_pclCurrentEditZ,
|
|
this,
|
|
CTL_BASE_CONTROL_DISPLAY_TYPE__NORMAL,
|
|
28,
|
|
C_DECIMAL_CURRENT_VALUE_MIN_WIDTH,
|
|
C_EDIT_HEIGHT);
|
|
pclBC->m_pub_fn_vSetCanBeDisplayedCallBack(s_m_fn_bEditMustBeDisplayed);
|
|
|
|
//Creates a spin button for the current value of the charac.
|
|
//ANNECY CB
|
|
#if 0
|
|
m_pclSpinZ = new CTL_Editor_SpinButton(this, m_ldMinValue, m_ldMaxValue, pclParentWnd);
|
|
#ifndef CTL_WITH_NO_TUT
|
|
m_pclSpinZ->m_pub_fn_vRegisterWindowsControl(m_pub_fn_csGetControlName() + " - Vector : Z");
|
|
#endif //CTL_WITH_NO_TUT
|
|
|
|
pclBC = m_pclListOfBaseControls->m_pub_fn_pclAddControlAtTail(NULL,
|
|
m_pclSpinZ,
|
|
this,
|
|
CTL_BASE_CONTROL_DISPLAY_TYPE__ALWAYS_FIXED,
|
|
0,
|
|
C_SPIN_WIDTH,
|
|
C_SPIN_HEIGHT);
|
|
pclBC->m_pub_fn_vSetCanBeDisplayedCallBack(s_m_fn_bSpinMustBeDisplayed);
|
|
#endif
|
|
//ENDANNECY CB
|
|
}
|
|
|
|
m_bControlCreated = bReturnValue;
|
|
|
|
return bReturnValue;
|
|
}
|
|
|
|
//************************************************************************************
|
|
//Function called to display the associated control(s) of the char.
|
|
void CTL_Editor_VectorControl::m_fn_vDisplay()
|
|
{
|
|
m_pro_fn_vDisplayBaseControls();
|
|
}
|
|
|
|
//************************************************************************
|
|
//Function called to update parent window in case of values changes.
|
|
void CTL_Editor_VectorControl::m_fn_vUpdate(CTL_tdeUpdateReason _eReason /*= E_ur_NoReasonGiven*/,
|
|
long _lUserDefinedReason /*= 0*/)
|
|
{
|
|
//CPA2 Stegaru Cristian 98/06/26
|
|
m_fn_vUpdateSpin(((CTL_Editor_VectorData *)m_pclData)->mfn_ldGetCurrentValueX (), eModifType_X);
|
|
m_fn_vUpdateSpin(((CTL_Editor_VectorData *)m_pclData)->mfn_ldGetCurrentValueY (), eModifType_Y);
|
|
m_fn_vUpdateSpin(((CTL_Editor_VectorData *)m_pclData)->mfn_ldGetCurrentValueZ (), eModifType_Z);
|
|
m_fn_vUpdateEdit(((CTL_Editor_VectorData *)m_pclData)->mfn_ldGetCurrentValueX (), eModifType_X);
|
|
m_fn_vUpdateEdit(((CTL_Editor_VectorData *)m_pclData)->mfn_ldGetCurrentValueY (), eModifType_Y);
|
|
m_fn_vUpdateEdit(((CTL_Editor_VectorData *)m_pclData)->mfn_ldGetCurrentValueZ (), eModifType_Z);
|
|
//End CPA2 Stegaru Cristian 98/06/26
|
|
|
|
if ( m_pclCurrentStaticX != NULL )
|
|
{
|
|
CString csText;
|
|
//CPA2 Stegaru Cristian 98/06/26
|
|
csText.Format("%g", ((CTL_Editor_VectorData *)m_pclData)->mfn_ldGetCurrentValueX ());
|
|
//End CPA2 Stegaru Cristian 98/06/26
|
|
m_pclCurrentStaticX->m_fn_vSetTextToDisplay(csText);
|
|
}
|
|
if ( m_pclCurrentStaticY != NULL )
|
|
{
|
|
CString csText;
|
|
//CPA2 Stegaru Cristian 98/06/26
|
|
csText.Format("%g", ((CTL_Editor_VectorData *)m_pclData)->mfn_ldGetCurrentValueY ());
|
|
//End CPA2 Stegaru Cristian 98/06/26
|
|
m_pclCurrentStaticY->m_fn_vSetTextToDisplay(csText);
|
|
}
|
|
if ( m_pclCurrentStaticZ != NULL )
|
|
{
|
|
CString csText;
|
|
//CPA2 Stegaru Cristian 98/06/26
|
|
csText.Format("%g", ((CTL_Editor_VectorData *)m_pclData)->mfn_ldGetCurrentValueZ ());
|
|
//End CPA2 Stegaru Cristian 98/06/26
|
|
m_pclCurrentStaticZ->m_fn_vSetTextToDisplay(csText);
|
|
}
|
|
|
|
//CallBack
|
|
m_pclData->m_fn_vDataHasBeenChanged(_eReason, _lUserDefinedReason);
|
|
}
|
|
|
|
//************************************************************************
|
|
//Function called to update parent window in case of values changes.
|
|
void CTL_Editor_VectorControl::m_fn_vUpdateParent(CTL_tdeUpdateReason eReason,
|
|
long _lUserDefinedReason /*= 0*/)
|
|
{
|
|
CTL_Editor_Control::m_fn_vUpdateParent(eReason, _lUserDefinedReason);
|
|
}
|
|
|
|
//************************************************************************************
|
|
//Function called to update the slider when the edit changes
|
|
void CTL_Editor_VectorControl::m_fn_vUpdateSpin(long double ldNewValue,
|
|
CTL_Editor_Edit *_pclEditSender,
|
|
CTL_tdeUpdateReason _eReason /*= E_ur_NoReasonGiven*/,
|
|
long _lUserDefinedReason /*= 0*/)
|
|
{
|
|
if ( _pclEditSender == m_pclCurrentEditX )
|
|
m_fn_vUpdateSpin(ldNewValue, eModifType_X, _eReason, _lUserDefinedReason);
|
|
else if ( _pclEditSender == m_pclCurrentEditY )
|
|
m_fn_vUpdateSpin(ldNewValue, eModifType_Y, _eReason, _lUserDefinedReason);
|
|
else if ( _pclEditSender == m_pclCurrentEditZ )
|
|
m_fn_vUpdateSpin(ldNewValue, eModifType_Z, _eReason, _lUserDefinedReason);
|
|
}
|
|
|
|
//************************************************************************************
|
|
//Function called to update the slider when the edit changes
|
|
void CTL_Editor_VectorControl::m_fn_vUpdateSpin(long double ldNewValue,
|
|
m_eModifType _eModifType,
|
|
CTL_tdeUpdateReason _eReason /*= E_ur_NoReasonGiven*/,
|
|
long _lUserDefinedReason /*= 0*/)
|
|
{
|
|
if ( _eModifType == eModifType_X )
|
|
//CPA2 Stegaru Cristian 98/06/26
|
|
((CTL_Editor_VectorData *)m_pclData)->mfn_ldSetCurrentValueX (ldNewValue);
|
|
//End CPA2 Stegaru Cristian 98/06/26
|
|
else if ( _eModifType == eModifType_Y )
|
|
//CPA2 Stegaru Cristian 98/06/26
|
|
((CTL_Editor_VectorData *)m_pclData)->mfn_ldSetCurrentValueY (ldNewValue);
|
|
//End CPA2 Stegaru Cristian 98/06/26
|
|
else if ( _eModifType == eModifType_Z )
|
|
//CPA2 Stegaru Cristian 98/06/26
|
|
((CTL_Editor_VectorData *)m_pclData)->mfn_ldSetCurrentValueZ (ldNewValue);
|
|
//End CPA2 Stegaru Cristian 98/06/26
|
|
|
|
//Updates the spin if it exists
|
|
//ANNECY CB
|
|
#if 0
|
|
if ( !m_fn_bIsReadOnly() )
|
|
{
|
|
if ( _eModifType == eModifType_X )
|
|
{
|
|
if ( m_pclSpinX != NULL )
|
|
m_pclSpinX->m_fn_vSetCurrentPos(ldNewValue);
|
|
}
|
|
else if ( _eModifType == eModifType_Y )
|
|
{
|
|
if ( m_pclSpinY != NULL )
|
|
m_pclSpinY->m_fn_vSetCurrentPos(ldNewValue);
|
|
}
|
|
else if ( _eModifType == eModifType_Z )
|
|
{
|
|
if ( m_pclSpinZ != NULL )
|
|
m_pclSpinZ->m_fn_vSetCurrentPos(ldNewValue);
|
|
}
|
|
}
|
|
#endif
|
|
//ENDANNECY CB
|
|
|
|
//Updates parent's datas if necessary
|
|
m_fn_vUpdateParent(_eReason, _lUserDefinedReason);
|
|
|
|
//Updates motor's data in case of change
|
|
m_pclData->m_fn_vUpdateMotorData(_eReason, _lUserDefinedReason);
|
|
}
|
|
|
|
//************************************************************************************
|
|
//Function called to update the edit when the slider changes
|
|
void CTL_Editor_VectorControl::m_fn_vUpdateEdit(long double ldNewValue,
|
|
CTL_Editor_SpinButton *_pclSpinSender,
|
|
CTL_tdeUpdateReason _eReason /*= E_ur_NoReasonGiven*/,
|
|
long _lUserDefinedReason /*= 0*/)
|
|
{
|
|
if ( _pclSpinSender == m_pclSpinX )
|
|
m_fn_vUpdateEdit(ldNewValue, eModifType_X, _eReason, _lUserDefinedReason);
|
|
else if ( _pclSpinSender == m_pclSpinY )
|
|
m_fn_vUpdateEdit(ldNewValue, eModifType_Y, _eReason, _lUserDefinedReason);
|
|
else if ( _pclSpinSender == m_pclSpinZ )
|
|
m_fn_vUpdateEdit(ldNewValue, eModifType_Z, _eReason, _lUserDefinedReason);
|
|
}
|
|
|
|
//************************************************************************************
|
|
//Function called to update the edit when the slider changes
|
|
void CTL_Editor_VectorControl::m_fn_vUpdateEdit(long double ldNewValue,
|
|
m_eModifType _eModifType,
|
|
CTL_tdeUpdateReason _eReason /*= E_ur_NoReasonGiven*/,
|
|
long _lUserDefinedReason /*= 0*/)
|
|
{
|
|
if ( _eModifType == eModifType_X )
|
|
//CPA2 Stegaru Cristian 98/06/26
|
|
((CTL_Editor_VectorData *)m_pclData)->mfn_ldSetCurrentValueX (ldNewValue);
|
|
//End CPA2 Stegaru Cristian 98/06/26
|
|
else if ( _eModifType == eModifType_Y )
|
|
//CPA2 Stegaru Cristian 98/06/26
|
|
((CTL_Editor_VectorData *)m_pclData)->mfn_ldSetCurrentValueY (ldNewValue);
|
|
//End CPA2 Stegaru Cristian 98/06/26
|
|
else if ( _eModifType == eModifType_Z )
|
|
//CPA2 Stegaru Cristian 98/06/26
|
|
((CTL_Editor_VectorData *)m_pclData)->mfn_ldSetCurrentValueZ (ldNewValue);
|
|
//End CPA2 Stegaru Cristian 98/06/26
|
|
|
|
CString csNewString;
|
|
csNewString.Format("%g", ldNewValue);
|
|
if ( m_fn_bIsReadOnly() )
|
|
{
|
|
if ( _eModifType == eModifType_X )
|
|
{
|
|
if ( m_pclCurrentStaticX != NULL )
|
|
m_pclCurrentStaticX->m_fn_vSetTextToDisplay(csNewString);
|
|
}
|
|
else if ( _eModifType == eModifType_Y )
|
|
{
|
|
if ( m_pclCurrentStaticY != NULL )
|
|
m_pclCurrentStaticY->m_fn_vSetTextToDisplay(csNewString);
|
|
}
|
|
else if ( _eModifType == eModifType_Z )
|
|
{
|
|
if ( m_pclCurrentStaticZ != NULL )
|
|
m_pclCurrentStaticZ->m_fn_vSetTextToDisplay(csNewString);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if ( _eModifType == eModifType_X )
|
|
{
|
|
if ( m_pclCurrentEditX != NULL )
|
|
{
|
|
m_pclCurrentEditX->SetWindowText(csNewString);
|
|
m_pclCurrentEditX->m_fn_vSetCurrentValue(ldNewValue);
|
|
}
|
|
}
|
|
else if ( _eModifType == eModifType_Y )
|
|
{
|
|
if ( m_pclCurrentEditY != NULL )
|
|
{
|
|
m_pclCurrentEditY->SetWindowText(csNewString);
|
|
m_pclCurrentEditY->m_fn_vSetCurrentValue(ldNewValue);
|
|
}
|
|
}
|
|
else if ( _eModifType == eModifType_Z )
|
|
{
|
|
if ( m_pclCurrentEditZ != NULL )
|
|
{
|
|
m_pclCurrentEditZ->SetWindowText(csNewString);
|
|
m_pclCurrentEditZ->m_fn_vSetCurrentValue(ldNewValue);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Updates parent's datas if necessary
|
|
m_fn_vUpdateParent(_eReason, _lUserDefinedReason);
|
|
|
|
//Updates motor's data in case of change
|
|
m_pclData->m_fn_vUpdateMotorData(_eReason, _lUserDefinedReason);
|
|
}
|
|
|
|
//************************************************************************
|
|
//Function called to make control Read Only
|
|
void CTL_Editor_VectorControl::m_fn_vMakeReadOnly()
|
|
{
|
|
if ( !m_fn_bIsReadOnly() )
|
|
{
|
|
m_bIsReadOnly = TRUE;
|
|
m_fn_vHide();
|
|
}
|
|
}
|
|
|
|
//************************************************************************
|
|
//Function called to make control Read-Write
|
|
void CTL_Editor_VectorControl::m_fn_vMakeReadWrite()
|
|
{
|
|
if ( !m_fn_bIsAlwaysReadOnly() )
|
|
{
|
|
if ( m_fn_bIsReadOnly() )
|
|
{
|
|
m_bIsReadOnly = FALSE;
|
|
m_fn_vHide();
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
//************************************************************************
|
|
BOOL CTL_Editor_VectorControl::s_m_fn_bStaticMustBeDisplayed(class CTL_Editor_BaseControl *_pclSenderBaseControl)
|
|
{
|
|
return (_pclSenderBaseControl->m_pub_fn_pclGetParentControl()->m_fn_bIsReadOnly());
|
|
}
|
|
|
|
//************************************************************************
|
|
BOOL CTL_Editor_VectorControl::s_m_fn_bEditMustBeDisplayed(class CTL_Editor_BaseControl *_pclSenderBaseControl)
|
|
{
|
|
return (!_pclSenderBaseControl->m_pub_fn_pclGetParentControl()->m_fn_bIsReadOnly());
|
|
}
|
|
|
|
//************************************************************************
|
|
BOOL CTL_Editor_VectorControl::s_m_fn_bSpinMustBeDisplayed(class CTL_Editor_BaseControl *_pclSenderBaseControl)
|
|
{
|
|
return (!_pclSenderBaseControl->m_pub_fn_pclGetParentControl()->m_fn_bIsReadOnly());
|
|
}
|
|
|