// EdIRDVVw.cpp : implementation file // #include "stdafx.h" #include "Defines.hpp" #ifdef D_ED_IR_ACTIVE #include "EdIRDVVw.hpp" #include "EdIRDV.hpp" #include "EdIRIRD.hpp" #include "EdIRBeEn.hpp" //BEGIN ROMTEAM Cristi Petrescu 98-06- #include "edirfrm.hpp" //END ROMTEAM Cristi Petrescu 98-06- #include "EdIRCtl.hpp" #include "EdIRQuer.hpp" #include "ai_intf.hpp" #include "Ctl.h" #include "EDACDoc.hpp" #include "EDACModl.hpp" #include "incAI.h" //ANNECY CB #include "x:\cpa\main\inc\_EditID.h" #include "_Ainterf.hpp" #include "_Actors.hpp" #include "EDIRGlob.hpp" //END #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif //BEGIN ROMTEAM Cristi Petrescu 98-06- #define UP_SPACING 70 //END ROMTEAM Cristi Petrescu 98-06- ///////////////////////////////////////////////////////////////////////////// // class CPA_EdIR_DesignerVariablesView ///////////////////////////////////////////////////////////////////////////// IMPLEMENT_DYNCREATE(CPA_EdIR_DesignerVariablesView, CFormView) BEGIN_MESSAGE_MAP(CPA_EdIR_DesignerVariablesView, CTL_Editor_BaseFormView) //{{AFX_MSG_MAP(CPA_EdIR_DesignerVariablesView) ON_WM_SIZE() // ON_BN_CLICKED(IDC_CHECK1, OnCheckClicked) ON_BN_CLICKED(IDC_CHECK_SHOW_PRIVATE, OnCheckShowPrivate) //}}AFX_MSG_MAP //CPA2 Stegaru Cristian 98-06 ON_BN_CLICKED (IDC_CHECK_HIDE_VAR_FOR_MODEL, OnCheckHideVariableForModel) //End CPA2 Stegaru Cristian 98-06 END_MESSAGE_MAP() /* //ANNECY CB void CPA_EdIR_DesignerVariablesView::OnCheckClicked(void) { CButton *pbut = (CButton *) GetDlgItem(IDC_CHECK1); AfxGetApp()->DoWaitCursor(1); SetCapture(); if(pbut->GetCheck()) { m_bHideVars = TRUE; m_fn_vUpdateDisplay(); } else { m_bHideVars = FALSE; m_fn_vUpdateControls(m_pclListOfDesignerVariableControl); CPA_Actor *pclSelectedActor; CPA_DLLBase *pclActorDLL=(CPA_DLLBase*)(g_pclAIInterface->GetMainWorld()->GetObjectDLLWithName(C_szDLLActorName)); CTL_Editor_DataList *pclListOfDesignerVariableType; pclSelectedActor=(CPA_Actor *)pclActorDLL->OnQueryAction(g_pclAIInterface,C_uiActor_GetSelectedActor,0); if(pclSelectedActor) { pclListOfDesignerVariableType=pclSelectedActor->m_fn_pclGetEditorActor()->m_pclListOfDesignerVariableType; m_fn_vUpdateDisplayWithValues(pclListOfDesignerVariableType); } } AfxGetApp()->DoWaitCursor(-1); ReleaseCapture(); } //END */ //BEGIN ROMTEAM Cristi Petrescu 98-06- //********************************************************************************** void CPA_EdIR_DesignerVariablesView::OnCheckShowPrivate() { CButton *pbut = (CButton *) GetDlgItem(IDC_CHECK_SHOW_PRIVATE); AfxGetApp()->DoWaitCursor(1); SetCapture(); CPA_EdIR_Frame *pclIRMainFrame = g_pclAIInterface->m_pclIRMainFrame; if (pclIRMainFrame) { CPA_EdIR_Brain *pclBrain = pclIRMainFrame -> m_pclBrain; if (pclBrain) { pclBrain -> m_bShowPrivateVariable = ! pclBrain -> m_bShowPrivateVariable; pbut -> SetCheck (pclBrain -> m_bShowPrivateVariable); // for saving... should notify the model actor somehow pclBrain -> m_fn_pclGetModel () -> fn_vNotifySave (); m_fn_vUpdateDisplay(); } } AfxGetApp()->DoWaitCursor(-1); ReleaseCapture(); } //END ROMTEAM Cristi Petrescu 98-06- ////////////////////////////////////////////////////////////////////////////////////////////////////// // Method : OnCheckHideVariableForModel // Date : 98-06 ////////////////////////////////////////////////////////////////////////////////////////////////////// // Description : // Author : Stegaru Cristian - CPA ////////////////////////////////////////////////////////////////////////////////////////////////////// // Modification : // Date : // By : ////////////////////////////////////////////////////////////////////////////////////////////////////// void CPA_EdIR_DesignerVariablesView::OnCheckHideVariableForModel () { CButton *pbut = (CButton *) GetDlgItem(IDC_CHECK_HIDE_VAR_FOR_MODEL); AfxGetApp()->DoWaitCursor(1); SetCapture(); CPA_Actor *pclSelectedActor; CPA_DLLBase *pclActorDLL=(CPA_DLLBase*)(g_pclAIInterface->GetMainWorld()->GetObjectDLLWithName(C_szDLLActorName)); CTL_Editor_DataList *pclListOfDesignerVariableType; pclSelectedActor=(CPA_Actor *)pclActorDLL->OnQueryAction(g_pclAIInterface,C_uiActor_GetSelectedActor,0); if(pclSelectedActor) { if(pbut->GetCheck()) { pclSelectedActor->mfn_vCheckHideVar (TRUE); m_fn_vUpdateDisplay(); } else { pclSelectedActor->mfn_vCheckHideVar (FALSE); m_fn_vUpdateControls(m_pclListOfDesignerVariableControl); pclListOfDesignerVariableType=pclSelectedActor->m_fn_pclGetEditorActor()->m_pclListOfDesignerVariableType; m_fn_vUpdateDisplayWithValues(pclListOfDesignerVariableType); } } AfxGetApp()->DoWaitCursor(-1); ReleaseCapture(); } /**********************************************************************************/ CPA_EdIR_DesignerVariablesView::CPA_EdIR_DesignerVariablesView() :CTL_Editor_BaseFormView(IDD, TRUE) { //{{AFX_DATA_INIT(CPA_EdIR_DesignerVariablesView) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT m_pclListOfDesignerVariableControl=NULL; m_ulOldHeight=0; //ANNECY CB m_bCanUpdateControls = TRUE; //ANNECY Shaitan Correction (16/04/98) { m_bHideVars = TRUE; //ENDANNECY Shaitan Correction } //END } /**********************************************************************************/ CPA_EdIR_DesignerVariablesView::~CPA_EdIR_DesignerVariablesView() { } /**********************************************************************************/ void CPA_EdIR_DesignerVariablesView::DoDataExchange(CDataExchange* pDX) { CTL_Editor_BaseFormView::DoDataExchange(pDX); //{{AFX_DATA_MAP(CPA_EdIR_DesignerVariablesView) // NOTE: the ClassWizard will add DDX and DDV calls here //}}AFX_DATA_MAP } ///////////////////////////////////////////////////////////////////////////// // CPA_EdIR_DesignerVariablesView diagnostics #ifdef _DEBUG /**********************************************************************************/ void CPA_EdIR_DesignerVariablesView::AssertValid() const { CTL_Editor_BaseFormView::AssertValid(); } /**********************************************************************************/ void CPA_EdIR_DesignerVariablesView::Dump(CDumpContext& dc) const { CTL_Editor_BaseFormView::Dump(dc); } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // CPA_EdIR_DesignerVariablesView message handlers /**********************************************************************************/ void CPA_EdIR_DesignerVariablesView::OnInitialUpdate() { HINSTANCE hOldInstance=AfxGetResourceHandle(); AfxSetResourceHandle(g_stAIIdentity.hModule); CTL_Editor_BaseFormView::OnInitialUpdate(); //ANNECY Shaitan Correction (16/04/98) { // ((CButton *)GetDlgItem(IDC_CHECK1))->SetCheck(m_bHideVars); //ENDANNECY Shaitan Correction } fn_pclGetEdActorsDocument()->m_pclDesignerVariablesView=this; //CPA2 Stegaru Cristian 98-06 if (FALSE == g_pclAIInterface->m_bIsOpened) EnableWindow (FALSE); else //opened EnableWindow (); //End CPA2 Stegaru Cristian 98-06 AfxSetResourceHandle(hOldInstance); } //******************************************************************************* void CPA_EdIR_DesignerVariablesView::OnSize(UINT nType, int cx, int cy) { CTL_Editor_BaseFormView::OnSize(nType, cx, cy); //ANNECY CB if(m_pclListOfDesignerVariableControl!=NULL) { CRect cr; GetClientRect(cr); CPoint cpOffset=GetScrollPosition(); //BEGIN ROMTEAM Cristi Petrescu 98-06- cpOffset.y -= UP_SPACING; //END ROMTEAM Cristi Petrescu 98-06- CPoint cpTopLeft(0,-cpOffset.y); CPoint cpTopRight(cr.Width(),-cpOffset.y); m_pclListOfDesignerVariableControl->m_pub_fn_vDisplayControlsInZone(cpTopLeft,cpTopRight); } // m_fn_vUpdateDisplay(); //END } /**********************************************************************************/ void CPA_EdIR_DesignerVariablesView::m_fn_vUpdateControls(CTL_Editor_ControlList *pclListOfDesignerVariableControl) { //ANNECY CB if(m_bCanUpdateControls == FALSE) return; // m_fn_vSetViewHeight(0); //END //ANNECY CB //CPA2 Stegaru Cristian 98-06 if (m_pclListOfDesignerVariableControl != pclListOfDesignerVariableControl) //End CPA2 Stegaru Cristian 98-06 //END if(m_pclListOfDesignerVariableControl!=NULL) { POSITION pos=m_pclListOfDesignerVariableControl->GetHeadPosition(); while(pos!=NULL) m_pclListOfDesignerVariableControl->GetNext(pos)->m_fn_vHide(); } m_pclListOfDesignerVariableControl=pclListOfDesignerVariableControl; //ANNECY CB //CPA2 Stegaru Cristian 98-06 if((mfn_bHideVariables ())||(m_pclListOfDesignerVariableControl==NULL)) //End CPA2 Stegaru Cristian 98-06 return; CString csMsgBase="Updating vars controls ... "; fn_vDisplayInfoInStatusBar(csMsgBase,C_STATUS_NORMAL); //END CTL_fn_vSetDefaultCallBackFunctionWhenStaticIsClicked(fn_vOnButtonClick); CTL_fn_vSetDefaultCallBackFunctionToGetStaticColor(fn_vGetStaticColor); // BEGIN ROMTEAM Cristi Petrescu 98-11- CTL_fn_vSetModuleInfo("TIA","Designer Variables"); POSITION pos=m_pclListOfDesignerVariableControl->GetHeadPosition(); while(pos!=NULL) { CTL_Editor_Control *pclEditor_Control=m_pclListOfDesignerVariableControl->GetNext(pos); if(!pclEditor_Control->m_pub_fn_bHasBeenCreated()) { // CTL_fn_vSetModuleInfo("TIA","Designer Variables"); pclEditor_Control->m_fn_bCreateControl(this); } } CTL_fn_vResetModuleInfo(); // END ROMTEAM Cristi Petrescu 98-11- CTL_fn_vSetDefaultCallBackFunctionWhenStaticIsClicked(NULL); CTL_fn_vSetDefaultCallBackFunctionToGetStaticColor(NULL); //ANNECY CB CString csMsg=csMsgBase+"OK"; fn_vDisplayInfoInStatusBar(csMsg,C_STATUS_NORMAL); //END } /**********************************************************************************/ void CPA_EdIR_DesignerVariablesView::m_fn_vUpdateValues(CTL_Editor_DataList *pclListOfDesignerVariableType) { if(m_pclListOfDesignerVariableControl == NULL) return; if(pclListOfDesignerVariableType->GetCount()!=m_pclListOfDesignerVariableControl->GetCount()) { MessageBox("Pb with designer variable"); return; } POSITION posCtl=m_pclListOfDesignerVariableControl->GetHeadPosition(); POSITION posVal=pclListOfDesignerVariableType->GetHeadPosition(); while(posCtl!=NULL) { CTL_Editor_Control *pclEditor_Control=m_pclListOfDesignerVariableControl->GetNext(posCtl); CTL_Editor_Data *pclEditor_BaseData=pclListOfDesignerVariableType->GetNext(posVal); pclEditor_Control->m_fn_vSetEditedData(pclEditor_BaseData); pclEditor_BaseData->m_fn_vGetMotorData(); } } /**********************************************************************************/ void CPA_EdIR_DesignerVariablesView::m_fn_vUpdateDisplayWithValues(CTL_Editor_DataList *pclListOfDesignerVariableType) { m_fn_vUpdateValues(pclListOfDesignerVariableType); //ANNECY CB //CPA2 Stegaru Cristian 98-06 if(!mfn_bHideVariables ()) //End CPA2 Stegaru Cristian 98-06 //END m_fn_vUpdateDisplay(); } /**********************************************************************************/ void CPA_EdIR_DesignerVariablesView::m_fn_vUpdateDisplay() { //CPA2 Stegaru Cristian 98-06 if (FALSE == g_pclAIInterface->m_bIsOpened) EnableWindow (FALSE); else //opened EnableWindow (); //End CPA2 Stegaru Cristian 98-06 if(m_pclListOfDesignerVariableControl!=NULL) { CRect cr; GetClientRect(cr); CPoint cpOffset=GetScrollPosition(); //ANNECY CB //BEGIN ROMTEAM Cristi Petrescu 98-06- cpOffset.y -= UP_SPACING; //END ROMTEAM Cristi Petrescu 98-06- //END CPoint cpTopLeft(0,-cpOffset.y); CPoint cpTopRight(cr.Width(),-cpOffset.y); //ANNECY CB ShowWindow(FALSE); //END m_pclListOfDesignerVariableControl->m_pub_fn_vDisplayControlsInZone(cpTopLeft,cpTopRight); POSITION posCtl=m_pclListOfDesignerVariableControl->GetHeadPosition(); while(posCtl!=NULL) { CTL_Editor_Control *pclEditor_Control=m_pclListOfDesignerVariableControl->GetNext(posCtl); pclEditor_Control->m_fn_vUpdate(); } m_fn_vSetViewHeight((unsigned short)(cpTopLeft.y+GetScrollPosition().y)); //ANNECY CB ShowWindow(TRUE); //END } } /**********************************************************************************/ void CPA_EdIR_DesignerVariablesView::m_fn_vAModelHasBeenRemoved(CTL_Editor_ControlList *pclListOfDesignerVariableControl) { if(m_pclListOfDesignerVariableControl==pclListOfDesignerVariableControl) m_pclListOfDesignerVariableControl=NULL; } /**********************************************************************************/ void CPA_EdIR_DesignerVariablesView::m_fn_vSetOldHeight(unsigned long ulHeight) { m_ulOldHeight=ulHeight; } /**********************************************************************************/ unsigned long CPA_EdIR_DesignerVariablesView::m_fn_ulGetOldHeight() { return m_ulOldHeight; } //BEGIN ROMTEAM Cristi Petrescu 98-05- //********************************************************************************** CTL_Editor_Data *CPA_EdIR_DesignerVariablesView::m_fn_pclGetVariable (CString csVariableName) { POSITION pos = m_pclListOfDesignerVariableControl -> GetHeadPosition (); CTL_Editor_Data *pclEditor_Data; csVariableName . MakeLower (); while (pos) { pclEditor_Data = m_pclListOfDesignerVariableControl -> GetNext (pos) -> m_fn_pclGetEditedData (); if (pclEditor_Data -> m_pub_fn_csGetDataName () == csVariableName ) return pclEditor_Data; } return NULL; } //END ROMTEAM Cristi Petrescu 98-05- //BEGIN ROMTEAM Cristi Petrescu 98-06- void CPA_EdIR_DesignerVariablesView::m_fn_vSynchronizeWithBrain (CPA_EdIR_Brain *pclBrain) { //CPA2 Stegaru Cristian 98-06 if (!pclBrain) return; //End CPA2 Stegaru Cristian 98-06 ((CButton *) GetDlgItem (IDC_CHECK_SHOW_PRIVATE)) -> SetCheck (pclBrain -> m_bShowPrivateVariable); //CPA2 Stegaru Cristian 98-06 CPA_Actor *pModel = pclBrain->m_fn_pclGetModel(); if (pModel) ((CButton *)GetDlgItem (IDC_CHECK_HIDE_VAR_FOR_MODEL))->SetCheck (pModel->mfn_bIsHideVarChecked ()); //End CPA2 Stegaru Cristian 98-06 } //END ROMTEAM Cristi Petrescu 98-06- ////////////////////////////////////////////////////////////////////////////////////////////////////// // Method : mfn_bHideVariables // Date : 98-06 ////////////////////////////////////////////////////////////////////////////////////////////////////// // Description : // Author : Stegaru Cristian - CPA ////////////////////////////////////////////////////////////////////////////////////////////////////// // Modification : // Date : // By : ////////////////////////////////////////////////////////////////////////////////////////////////////// BOOL CPA_EdIR_DesignerVariablesView::mfn_bHideVariables () { if (m_bHideVars) return m_bHideVars; CPA_EdIR_Frame *pclIRMainFrame = g_pclAIInterface->m_pclIRMainFrame; if (pclIRMainFrame) { CPA_EdIR_Brain *pclBrain = pclIRMainFrame -> m_pclBrain; CPA_Actor *pModel = NULL; if (pclBrain) pModel = pclBrain->m_fn_pclGetModel(); if (pModel) return pModel->mfn_bIsHideVarChecked (); } return m_bHideVars; } void CPA_EdIR_DesignerVariablesView::mfn_vHideVariables (BOOL bHide) { if (bHide) { m_bHideVars = TRUE; m_fn_vUpdateDisplay(); } else { m_bHideVars = FALSE; m_fn_vUpdateControls(m_pclListOfDesignerVariableControl); CPA_Actor *pclSelectedActor; CPA_DLLBase *pclActorDLL=(CPA_DLLBase*)(g_pclAIInterface->GetMainWorld()->GetObjectDLLWithName(C_szDLLActorName)); CTL_Editor_DataList *pclListOfDesignerVariableType; pclSelectedActor=(CPA_Actor *)pclActorDLL->OnQueryAction(g_pclAIInterface,C_uiActor_GetSelectedActor,0); if(pclSelectedActor) { pclListOfDesignerVariableType=pclSelectedActor->m_fn_pclGetEditorActor()->m_pclListOfDesignerVariableType; m_fn_vUpdateDisplayWithValues(pclListOfDesignerVariableType); } } } #endif //D_ED_IR_ACTIVE