// EdIRDVLs.cpp : implementation file // #include "stdafx.h" #include "Defines.hpp" #ifdef D_ED_IR_ACTIVE #include "EdIRDVLs.hpp" #include "EdIRIAWd.hpp" #include "acp_base.h" #include "ITF.h" #include "IncMEC.h" #include "incAI.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ////////////////////////////////////////////////////////////////// // class CPA_EdIR_DesignerVariableList ////////////////////////////////////////////////////////////////// /****************************************************************************/ CPA_EdIR_DesignerVariableList::CPA_EdIR_DesignerVariableList() { map = new CMapStringToPtr(500); map1 = new CMapPtrToPtr(500); map->InitHashTable(500, TRUE); map1->InitHashTable(500, TRUE); } /****************************************************************************/ CPA_EdIR_DesignerVariableList::CPA_EdIR_DesignerVariableList(CPA_EdIR_DesignerVariableList &clDsgVarList) { POSITION pos=clDsgVarList.GetHeadPosition(); while(pos!=NULL) AddTail(clDsgVarList.GetNext(pos)); map = new CMapStringToPtr(500); map1 = new CMapPtrToPtr(500); map->InitHashTable(500, TRUE); map1->InitHashTable(500, TRUE); } /****************************************************************************/ CPA_EdIR_DesignerVariableList::~CPA_EdIR_DesignerVariableList() { m_fn_vDestroyAndRemoveAllEntries(); } /****************************************************************************/ void CPA_EdIR_DesignerVariableList::AddTail(CPA_EdIR_DesignerVariable *p) { InsertAfter(GetTailPosition(), p); p->m_csName.MakeLower(); map->SetAt(p->m_csName, (void *) GetCount()); map1->SetAt((void *) (GetCount()-1), GetTailPosition()); } /****************************************************************************/ CPA_EdIR_DesignerVariableList CPA_EdIR_DesignerVariableList::operator =(CPA_EdIR_DesignerVariableList &clDsgVarList) { POSITION pos=clDsgVarList.GetHeadPosition(); while(pos!=NULL) AddTail(clDsgVarList.GetNext(pos)); return *this; } /****************************************************************************/ void CPA_EdIR_DesignerVariableList::m_fn_vDestroyAndRemoveAllEntries() { POSITION pos=GetHeadPosition(); while(pos!=NULL) delete GetNext(pos); RemoveAll(); map->RemoveAll(); map1->RemoveAll(); } /****************************************************************************/ POSITION CPA_EdIR_DesignerVariableList::m_fn_posGetPosition(long lIndex) { void *p; if(map1->Lookup((void *) lIndex, p)) return (POSITION) p; return NULL; } /****************************************************************************/ POSITION CPA_EdIR_DesignerVariableList::m_fn_posGetPosition(CString &csDesignerVariable) { void *p, *p1; csDesignerVariable.MakeLower(); if(map->Lookup(csDesignerVariable, p)) if(map1->Lookup((void *) ((long) p - 1), p1)) return (POSITION) p1; return NULL; } /****************************************************************************/ long CPA_EdIR_DesignerVariableList::m_fn_bIsADesignerVariable(CString &csDesignerVariable) { void *p; csDesignerVariable.MakeLower(); if(map->Lookup(csDesignerVariable, p)) return (long) p; return 0; } /****************************************************************************/ long CPA_EdIR_DesignerVariableList::m_fn_lGetIndexOfADesignerVariable(CString &csDesignerVariable) { POSITION pos=GetHeadPosition(); long lIndex=0; BOOL bFound=FALSE; while(pos!=NULL && !bFound) { bFound=(GetNext(pos)->m_fn_csGetDesignerVariableName().CompareNoCase(csDesignerVariable)==0); lIndex++; } return lIndex-1; } /****************************************************************************/ CString CPA_EdIR_DesignerVariableList::m_fn_csGetTypeOfADesignerVariable(CString csDesignerVariable) { POSITION pos=m_fn_posGetPosition(csDesignerVariable); if(pos!=NULL) return GetAt(pos)->m_fn_csGetDesignerVariableType(); else return ""; } /****************************************************************************/ CString CPA_EdIR_DesignerVariableList::m_fn_csGetTypeOfADesignerVariable(long lIndex) { POSITION pos=m_fn_posGetPosition(lIndex); if(pos!=NULL) return GetAt(pos)->m_fn_csGetDesignerVariableType(); else return ""; } /****************************************************************************/ CString CPA_EdIR_DesignerVariableList::m_fn_csGetFirstValueOfADesignerVariable(CString csDesignerVariable) { POSITION pos=m_fn_posGetPosition(csDesignerVariable); if(pos!=NULL) return GetAt(pos)->m_fn_csGetFirstDesignerVariableValue(); else return ""; } // BEGIN ROMTEAM Cristi Petrescu 99-01- debug /****************************************************************************/ CString CPA_EdIR_DesignerVariableList::m_fn_csGetFirstValueOfADesignerVariable(long lIndex) { POSITION pos=m_fn_posGetPosition(lIndex); if(pos!=NULL) return GetAt(pos)->m_fn_csGetFirstDesignerVariableValue(); else return ""; } // END ROMTEAM Cristi Petrescu 99-01- debug /****************************************************************************/ CStringList *CPA_EdIR_DesignerVariableList::m_fn_pcslGetValuesOfADesignerVariable(CString csDesignerVariable) { POSITION pos=m_fn_posGetPosition(csDesignerVariable); if(pos!=NULL) return GetAt(pos)->m_fn_pcslGetDesignerVariableValues(); else return NULL; } /****************************************************************************/ long CPA_EdIR_DesignerVariableList::m_fn_lGetSizeOfAllDesignerVariables() { long lSizeOfAllDesignerVariables=0; POSITION pos=GetHeadPosition(); while(pos!=NULL) { CPA_EdIR_DesignerVariable *pclDesignerVariable=GetNext(pos); tdeDsgVarTypeId tdeVarType; long lNbEltInList=0; tdeVarType=(tdeDsgVarTypeId)fn_lGetDsgVarTypeIdFromEditorName(pclDesignerVariable->m_fn_csGetDesignerVariableType()); if((tdeVarType==eDsgVarType_List) || (fn_GetDsgVarType(tdeVarType)==E_vt_Array)) lNbEltInList=atol(pclDesignerVariable->m_fn_csGetFirstDesignerVariableValue()); lSizeOfAllDesignerVariables+=fn_ulSizeOfDsgVar(tdeVarType,(unsigned char)lNbEltInList); } return lSizeOfAllDesignerVariables; } /****************************************************************************/ BOOL CPA_EdIR_DesignerVariableList::m_fn_bDesignerVariableIsInWatchWindow(CString csDesignerVariable) { POSITION pos=m_fn_posGetPosition(csDesignerVariable); if(pos!=NULL) return GetAt(pos)->m_fn_bIsInWatchWindow(); else return FALSE; } /****************************************************************************/ void CPA_EdIR_DesignerVariableList::m_fn_vDesignerVariableSetInWatchWindow(CString csDesignerVariable,BOOL bIsInWatchWindow) { POSITION pos=m_fn_posGetPosition(csDesignerVariable); if(pos!=NULL) GetAt(pos)->m_fn_vSetInWatchWindow(bIsInWatchWindow); } //BEGIN ROMTEAM Cristi Petrescu 98-06- //**************************************************************************** BOOL CPA_EdIR_DesignerVariableList::m_fn_bIsPrivateDesignerVariable(CString csDesignerVariable) { POSITION pos=m_fn_posGetPosition(csDesignerVariable); if(pos!=NULL) return GetAt(pos)->m_fn_bIsPrivate (); else return FALSE; } //END ROMTEAM Cristi Petrescu 98-06- #endif //D_ED_IR_ACTIVE