/****************************************************************************** Function Name : SetConfigurationData Input(s) : BYTE* pSrcBuffer, UINT unBuffSize Output : HRESULT Functionality : Returns the configuration data Member of : CTSExecutorChildFrame Friend of : - Author(s) : Venkatanarayana Makam Date Created : 07/04/2011 Modifications : Code Tag : CS040 ******************************************************************************/ HRESULT CTSExecutorChildFrame::SetConfigurationData(BYTE* pSrcBuffer, UINT unBuffSize) { if(unBuffSize != 0) { vInitialise(); WINDOWPLACEMENT wndPlacement; COPY_DATA_2(&wndPlacement, pSrcBuffer,sizeof(WINDOWPLACEMENT)); SetWindowPlacement(&wndPlacement); INT nCxCur, nCxMin; COPY_DATA_2(&nCxCur, pSrcBuffer, sizeof(INT)); COPY_DATA_2(&nCxMin, pSrcBuffer, sizeof(INT)); m_omSplitterWnd.SetColumnInfo(0, nCxCur, nCxMin); m_omSplitterWnd.RecalcLayout(); unBuffSize = unBuffSize - sizeof(WINDOWPLACEMENT) - (2*sizeof(INT)); m_ouTSExecutor.SetConfigurationData(pSrcBuffer, unBuffSize); m_odTreeView->GetTreeCtrl().SetCheck(m_hParentTreeItem, m_ouTSExecutor.m_bTestSuiteStatus); //Parse The Tree Control; INT nCount; m_ouTSExecutor.GetTestSetupCount(nCount); for(int i = 0; i < nCount; i++) { bParseTestSetup(i); } } //New File or when Initialising else { vInitialise(); SetWindowPlacement(&m_sTSDefPlacement); } return S_OK; }
/****************************************************************************** Function Name : vUpdateTreeView Input(s) : Output : VOID Functionality : Member of : CTSExecutorChildFrame Friend of : - Author(s) : Venkatanarayana Makam Date Created : 11/04/2011 Modifications : Code Tag : ******************************************************************************/ VOID CTSExecutorChildFrame::vUpdateTreeView(void) { INT nCount; CString omStrTestSuiteName; m_ouTSExecutor.GetTestsuiteName(omStrTestSuiteName); m_odTreeView->GetTreeCtrl().DeleteAllItems(); m_hParentTreeItem = m_odTreeView->InsertTreeItem(NULL, omStrTestSuiteName, NULL, 0, 0, def_ID_TESTSUITE); m_ouTSExecutor.GetTestSetupCount(nCount); for(int i = 0; i < nCount; i++) { bParseTestSetup(i); } m_odTreeView->GetTreeCtrl().Expand(m_hParentTreeItem, TVE_EXPAND); }
/****************************************************************************** Function Name : vUpdateTreeView Input(s) : Output : void Functionality : Member of : CTSExecutorChildFrame Friend of : - Author(s) : Venkatanarayana Makam Date Created : 11/04/2011 Modifications : Code Tag : ******************************************************************************/ void CTSExecutorChildFrame::vUpdateTreeView(void) { INT nCount; CString omStrTestSuiteName; m_ouTSExecutor.GetTestsuiteName(omStrTestSuiteName); BOOL bCheck = m_odTreeView->bIsItemChecked(m_hParentTreeItem); m_odTreeView->GetTreeCtrl().DeleteAllItems(); m_hParentTreeItem = m_odTreeView->InsertTreeItem(nullptr, omStrTestSuiteName, nullptr, 0, 0, def_ID_TESTSUITE); m_ouTSExecutor.GetTestSetupCount(nCount); for(int i = 0; i < nCount; i++) { bParseTestSetup(i); } m_odTreeView->GetTreeCtrl().Expand(m_hParentTreeItem, TVE_EXPAND); m_odTreeView->GetTreeCtrl().SetCheck(m_hParentTreeItem, bCheck); }
/****************************************************************************** Function Name : OnAddTestSetup Input(s) : WPARAM wparam, LPARAM lparam Output : HRESULT Functionality : Adds a Test Setup Using File Browser Member of : CTSExecutorChildFrame Friend of : - Author(s) : Venkatanarayana Makam Date Created : 07/04/2011 Modifications : Code Tag : CS036 ******************************************************************************/ HRESULT CTSExecutorChildFrame::OnAddTestSetup(WPARAM wparam, LPARAM lparam) { UNREFERENCED_PARAMETER(lparam); UNREFERENCED_PARAMETER(wparam); DWORD dwID; CString omTestSetupName; CFileDialog omTestSetupBrowser(TRUE, "*.xml", 0, OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELECT, szFilter); //For Multiple File Select - Hint From Msdn const int nSize = _MAX_PATH * _MAX_PATH ; //Total 260 Files char* szTempBuf = new char[nSize]; memset(szTempBuf, 0, sizeof(char) * nSize); omTestSetupBrowser.m_ofn.lpstrFile = szTempBuf; omTestSetupBrowser.m_ofn.nMaxFile = nSize - 1; INT nRetVal = (INT)omTestSetupBrowser.DoModal(); if(nRetVal == IDOK) { POSITION pos = omTestSetupBrowser.GetStartPosition(); while(pos != nullptr) { CString omstrTestSetup = omTestSetupBrowser.GetNextPathName(pos); HRESULT hResult = m_ouTSExecutor.AddTestSetup(omstrTestSetup, dwID); if(hResult == S_OK) { INT nCount; m_ouTSExecutor.GetTestSetupCount(nCount); bParseTestSetup(nCount-1); } else { CString omStrInfo; omStrInfo.Format(_("The %s is Invalid File"), omstrTestSetup.GetBuffer(MAX_PATH)); MessageBox(omStrInfo, _("Error"), MB_OK|MB_ICONERROR); } } } delete []szTempBuf; return S_OK; }
HRESULT CTSExecutorChildFrame::SetConfigurationData(xmlNodePtr pXmlNode) { int nRetValue = S_OK; //Test Suite Window Position WINDOWPLACEMENT wndPlacement; wndPlacement = m_sTSDefPlacement; if( nullptr != pXmlNode ) { vInitialise(); xmlNodePtr pTempNode = nullptr; xmlXPathObjectPtr pObjectPtr = nullptr; pObjectPtr = xmlUtils::pGetChildNodes(pXmlNode, (xmlChar*)"Window_Position"); if( nullptr != pObjectPtr) { pTempNode = pObjectPtr->nodesetval->nodeTab[0]; if( S_FALSE == xmlUtils::ParseWindowsPlacement(pTempNode, wndPlacement) ) { wndPlacement = m_sTSDefPlacement; } xmlXPathFreeObject(pObjectPtr); pObjectPtr = nullptr; } //Splitter Position pObjectPtr = xmlUtils::pGetChildNodes(pXmlNode, (xmlChar*)"Splitter_Window"); int nCxCur = 0; int nCxMin = 0; if( nullptr != pObjectPtr) { pTempNode = pObjectPtr->nodesetval->nodeTab[0]; if ( S_OK == xmlUtils::ParseSplitterWindow(pTempNode, nCxCur, nCxMin) ) { m_omSplitterWnd.SetColumnInfo(0, nCxCur, nCxMin); //Arun m_omSplitterWnd.RecalcLayout(); } } //Test Suite Executor ConfigData m_ouTSExecutor.SetConfigurationData(pXmlNode); m_odTreeView->GetTreeCtrl().SetCheck(m_hParentTreeItem, m_ouTSExecutor.m_bTestSuiteStatus); CString omStrName; m_ouTSExecutor.GetTestsuiteName(omStrName); m_odTreeView->GetTreeCtrl().SetItemText(m_hParentTreeItem, omStrName); //Parse The Tree Control; INT nCount; m_ouTSExecutor.GetTestSetupCount(nCount); for(int i = 0; i < nCount; i++) { bParseTestSetup(i); } } if( nullptr == pXmlNode ) { vInitialise(); } SetWindowPlacement(&wndPlacement); return S_OK; }