void CuDlgReplicationStaticPageActivity::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult) { DisplayPage(); *pResult = 0; }
BOOL CuDlgReplicationStaticPageActivity::OnInitDialog() { try { CDialog::OnInitDialog(); VERIFY (m_cListCtrl.SubclassDlgItem (IDC_LIST1, this)); // // Initalize the Column Header of CListCtrl (CuListCtrl) // If modify this constant and the column width, make sure do not forget // to port to the OnLoad() and OnGetData() members. const int LAYOUT_NUMBER = 6; LSCTRLHEADERPARAMS2 lsp[LAYOUT_NUMBER] = { {IDS_TC_EMPTY, 120, LVCFMT_LEFT, FALSE}, {IDS_TC_INSERT, 60, LVCFMT_RIGHT, FALSE}, {IDS_TC_UPDATE, 60, LVCFMT_RIGHT, FALSE}, {IDS_TC_DELETE, 60, LVCFMT_RIGHT, FALSE}, {IDS_TC_TOTAL, 60, LVCFMT_RIGHT, FALSE}, {IDS_TC_TRANSACTION,100, LVCFMT_RIGHT, FALSE} }; CString strOutGoing; //_T("Outgoing") CString strIncoming; //_T("Incoming") CString strTotal; //_T("Total") strOutGoing.LoadString(IDS_TC_OUTGOING); strIncoming.LoadString(IDS_TC_INCOMING); strTotal.LoadString(IDS_TC_TOTAL); InitializeHeader2(&m_cListCtrl, LVCF_FMT|LVCF_SUBITEM|LVCF_TEXT|LVCF_WIDTH, lsp, LAYOUT_NUMBER); m_cListCtrl.InsertItem (0, strOutGoing); m_cListCtrl.InsertItem (1, strIncoming); m_cListCtrl.InsertItem (2, strTotal); m_pDatabaseOutgoing = new CuDlgReplicationStaticPageActivityPerDatabase (CuDlgReplicationStaticPageActivityPerDatabase::MODE_OUTGOING, &m_cTab1); m_pDatabaseIncoming = new CuDlgReplicationStaticPageActivityPerDatabase (CuDlgReplicationStaticPageActivityPerDatabase::MODE_INCOMING, &m_cTab1); m_pDatabaseTotal = new CuDlgReplicationStaticPageActivityPerDatabase (CuDlgReplicationStaticPageActivityPerDatabase::MODE_TOTAL, &m_cTab1); m_pTableOutgoing = new CuDlgReplicationStaticPageActivityPerTable (CuDlgReplicationStaticPageActivityPerTable::MODE_OUTGOING, &m_cTab1); m_pTableIncoming = new CuDlgReplicationStaticPageActivityPerTable (CuDlgReplicationStaticPageActivityPerTable::MODE_INCOMING, &m_cTab1); m_pTableTotal = new CuDlgReplicationStaticPageActivityPerTable (CuDlgReplicationStaticPageActivityPerTable::MODE_TOTAL, &m_cTab1); m_pDatabaseOutgoing->Create (IDD_REPSTATIC_PAGE_ACTIVITY_TAB_DATABASE, &m_cTab1); m_pDatabaseIncoming->Create (IDD_REPSTATIC_PAGE_ACTIVITY_TAB_DATABASE, &m_cTab1); m_pDatabaseTotal->Create (IDD_REPSTATIC_PAGE_ACTIVITY_TAB_DATABASE, &m_cTab1); m_pTableOutgoing->Create (IDD_REPSTATIC_PAGE_ACTIVITY_TAB_TABLE, &m_cTab1); m_pTableIncoming->Create (IDD_REPSTATIC_PAGE_ACTIVITY_TAB_TABLE, &m_cTab1); m_pTableTotal->Create (IDD_REPSTATIC_PAGE_ACTIVITY_TAB_TABLE, &m_cTab1); // // Initalize the Tab Control. const int TAB_NUMBER = 6; TCITEM tcitem; UINT IdsTab[TAB_NUMBER] = { IDS_TC_OUTGOING, IDS_TC_INCOMING, IDS_TC_TOTAL, IDS_TC_OUTGOING, IDS_TC_INCOMING, IDS_TC_TOTAL }; CWnd* dlgArray[TAB_NUMBER] = { (CWnd*)m_pDatabaseOutgoing, (CWnd*)m_pDatabaseIncoming, (CWnd*)m_pDatabaseTotal, (CWnd*)m_pTableOutgoing, (CWnd*)m_pTableIncoming, (CWnd*)m_pTableTotal }; int nImage [TAB_NUMBER] = {0, 0, 0, 1, 1, 1}; m_tabImageList.Create(IDB_DATABASEOBJECT, 16, 1, RGB(255, 0, 255)); m_cTab1.SetImageList (&m_tabImageList); memset (&tcitem, 0, sizeof (tcitem)); tcitem.mask = TCIF_TEXT | TCIF_IMAGE | TCIF_PARAM; tcitem.cchTextMax = 30; CString strHeader; for (int i=0; i<TAB_NUMBER; i++) { strHeader.LoadString(IdsTab[i]); tcitem.pszText = (LPTSTR)(LPCTSTR)strHeader; tcitem.iImage = nImage[i]; tcitem.lParam = (LPARAM)dlgArray[i]; m_cTab1.InsertItem (i, &tcitem); } DisplayPage(); } catch (...) { AfxMessageBox (IDS_E_PAGE_DETAIL); return FALSE; } return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
void CuDlgMain::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult) { *pResult = 0; DisplayPage(); }
void CuDlgMain::PrepareData(CTypedPtrList< CObList, CaCda* >& ls1, CTypedPtrList< CObList, CaCda* >& ls2) { Cleanup(); int i; POSITION pos; CTypedPtrList< CObList, CaCda* >* ls [2] = {&ls1, &ls2}; CTypedPtrList< CObList, CaCda* >* lg [2] = {&m_lg1, &m_lg2}; CTypedPtrList< CObList, CaCda* >* lc [2] = {&m_lc1, &m_lc2}; CTypedPtrList< CObList, CaCda* >* les[2] = {&m_les1, &m_les2}; CTypedPtrList< CObList, CaCda* >* leu[2] = {&m_leu1, &m_leu2}; CTypedPtrList< CObList, CaCda* >* lvn[2] = {&m_lvn1, &m_lvn2}; for (i=0; i<2; i++) { while (!ls[i]->IsEmpty()) { CaCda* pObj = ls[i]->RemoveHead(); switch (pObj->GetType()) { case CDA_GENERAL: if (pObj->GetName().CompareNoCase(_T("PLATFORM")) == 0) { if (i==0) m_compareParam.SetPlatform1 (pObj->GetValue()); else m_compareParam.SetPlatform2 (pObj->GetValue()); } lg[i]->AddTail(pObj); m_compareParam.ManageGeneralParameters(i+1, pObj); break; case CDA_CONFIG: // // Check if the left string "NAME" in "NAME: VALUE" contains the host name. // If so, construct the list of unique host names. If the list contains more than one // elelent, then there are multiple hosts configured in a config.dat file. CheckHostName (i+1, pObj, &m_compareParam); lc[i]->AddTail(pObj); break; case CDA_ENVSYSTEM: les[i]->AddTail(pObj); break; case CDA_ENVUSER: leu[i]->AddTail(pObj); break; case CDA_VNODE: lvn[i]->AddTail(pObj); break; default: ASSERT(FALSE); delete pObj; break; } } } // // Manage the other configured host names: CStringArray arrayHost; arrayHost.Add(m_compareParam.GetHost1()); arrayHost.Add(m_compareParam.GetHost2()); CTypedPtrList< CObList, CaCda* >* lhost[2] = {&m_lOtherhost1, &m_lOtherhost2}; for (i=0; i<2; i++) { POSITION p = NULL; pos = lc[i]->GetHeadPosition(); while (pos != NULL) { p = pos; CaCda* pObj = lc[i]->GetNext (pos); if (!pObj->GetHost().IsEmpty() && arrayHost[i].CompareNoCase (pObj->GetHost()) != 0) { lc[i]->RemoveAt(p); lhost[i]->AddTail(pObj); } } } // // Add a line: Other Hosts Configured into a main parameters: CString strListH1 = _T(""); CString strListH2 = _T(""); BOOL bOne = TRUE; pos = m_strList1Host.GetHeadPosition(); while (pos != NULL) { CString strH = m_strList1Host.GetNext(pos); if (!bOne) strListH1 += _T(", "); strListH1 += strH; bOne = FALSE; } bOne = TRUE; pos = m_strList2Host.GetHeadPosition(); while (pos != NULL) { CString strH = m_strList2Host.GetNext(pos); if (!bOne) strListH2 += _T(", "); strListH2 += strH; bOne = FALSE; } m_lg1.AddTail(new CaCda(_T("Other Hosts Configured"), strListH1, CDA_GENERAL)); m_lg2.AddTail(new CaCda(_T("Other Hosts Configured"), strListH2, CDA_GENERAL)); // // Default other hosts mapping: while (!m_strList1Host.IsEmpty() && !m_strList2Host.IsEmpty()) { CString strHost1 = m_strList1Host.RemoveHead(); CString strHost2 = m_strList2Host.RemoveHead(); m_listMappedHost.AddTail(new CaMappedHost(strHost1, strHost2)); } if (!((m_strList1Host.IsEmpty() || m_strList2Host.IsEmpty()) && m_listMappedHost.IsEmpty())) m_cButtonHostMapping.ShowWindow(SW_SHOW); else m_cButtonHostMapping.ShowWindow(SW_HIDE); // // Make the Tab "Other Hosts Configured" appear or not: #if defined (_VIRTUAL_NODE_AVAILABLE) int nMaxTab = 5; #else int nMaxTab = 4; #endif CString strTabHeader; int nTab = m_cTab1.GetItemCount(); if (m_strList1Host.IsEmpty() && m_strList2Host.IsEmpty()) { m_pPageOtherHost->ShowWindow(SW_HIDE); m_cTab1.DeleteItem(OTHER_HOST_INDEX); nTab = m_cTab1.GetItemCount(); } else { CString strTabHeader; if (nTab < nMaxTab) { TCITEM item; memset (&item, 0, sizeof (item)); item.mask = TCIF_TEXT|TCIF_PARAM|TCIF_IMAGE; item.cchTextMax = 32; strTabHeader.LoadString(IDS_TAB_OTHERHOST); item.pszText = (LPTSTR)(LPCTSTR)strTabHeader; item.lParam = (LPARAM)m_pPageOtherHost; item.iImage = 3; m_cTab1.InsertItem (nTab, &item); } } if (m_cTab1.GetCurSel() == -1) { m_cTab1.SetCurSel(0); DisplayPage(); } // // Change Tab label depending the network! if (VCDA_IsNetworkInstallation()) { TCITEM item; memset (&item, 0, sizeof (item)); item.mask = TCIF_TEXT; item.cchTextMax = 32; #if defined (_VIRTUAL_NODE_AVAILABLE) const int nTabcount = 5; UINT nIds[nTabcount] = { IDS_TAB_CONFIGxLOCAL, IDS_TAB_ENVSYSTEMxLOCAL, IDS_TAB_ENVUSER, IDS_TAB_VNODE, IDS_TAB_OTHERHOST }; #else const int nTabcount = 4; UINT nIds[nTabcount] = { IDS_TAB_CONFIGxLOCAL, IDS_TAB_ENVSYSTEMxLOCAL, IDS_TAB_ENVUSER, IDS_TAB_OTHERHOST }; #endif int nTab = m_cTab1.GetItemCount(); m_cTab1.SetImageList(&m_ImageList); for (int i=0; i<nTab; i++) { strTabHeader.LoadString(nIds[i]); item.pszText = (LPTSTR)(LPCTSTR)strTabHeader; m_cTab1.SetItem(i, &item); } } }
BOOL CuDlgMain::OnInitDialog() { CDialog::OnInitDialog(); VERIFY (m_listMainParam.SubclassDlgItem (IDC_LIST1, this)); m_ImageCheck.Create (IDB_CHECK4LISTCTRL, 16, 1, RGB (255, 0, 0)); m_listMainParam.SetCheckImageList(&m_ImageCheck); m_ImageList.Create (IDB_DIFFERENCE, 16, 1, RGB(255, 0, 255)); m_listMainParam.SetImageList(&m_ImageList, LVSIL_SMALL); // // Initalize the Column Header of CListCtrl (CuListCtrl) LSCTRLHEADERPARAMS2 lsp[LAYOUT_NUMBER] = { {IDS_TAB_PARAMETER, 220, LVCFMT_LEFT, FALSE}, {IDS_TAB_SNAPSHOT1, 150, LVCFMT_LEFT, FALSE}, {IDS_TAB_SNAPSHOT2, 150, LVCFMT_LEFT, FALSE}, {IDS_TAB_IGNORE, 80, LVCFMT_CENTER,TRUE} }; InitializeHeader2(&m_listMainParam, LVCF_FMT|LVCF_SUBITEM|LVCF_TEXT|LVCF_WIDTH, lsp, LAYOUT_NUMBER); TCITEM item; memset (&item, 0, sizeof (item)); item.mask = TCIF_TEXT|TCIF_PARAM|TCIF_IMAGE; item.cchTextMax = 32; #if defined (_VIRTUAL_NODE_AVAILABLE) const int nTabcount = 5; UINT nIds[nTabcount] = { IDS_TAB_CONFIG, IDS_TAB_ENVSYSTEM, IDS_TAB_ENVUSER, IDS_TAB_VNODE, IDS_TAB_OTHERHOST }; #else const int nTabcount = 4; UINT nIds[nTabcount] = { IDS_TAB_CONFIG, IDS_TAB_ENVSYSTEM, IDS_TAB_ENVUSER, IDS_TAB_OTHERHOST }; #endif CString strTabHeader; m_cTab1.SetImageList(&m_ImageList); int nTabCount = 0; CuDlgPageDifference* pDlgPage = NULL; for (int i=0; i<nTabcount; i++) { int nPos = m_cTab1.GetItemCount(); #if defined (_VIRTUAL_NODE_AVAILABLE) if (i == 3) pDlgPage = new CuDlgPageDifference(TRUE, NULL); else pDlgPage = new CuDlgPageDifference(); #else pDlgPage = new CuDlgPageDifference(); #endif pDlgPage->Create(IDD_PAGE_DIFFERENCE, &m_cTab1); if (i == OTHER_HOST_INDEX) { m_pPageOtherHost = pDlgPage; } strTabHeader.LoadString(nIds[i]); item.pszText = (LPTSTR)(LPCTSTR)strTabHeader; item.lParam = (LPARAM)pDlgPage; item.iImage = 3; m_cTab1.InsertItem (nPos, &item); } m_cTab1.DeleteItem(OTHER_HOST_INDEX); m_cTab1.SetCurSel(0); DisplayPage(); m_hIconMain = m_ImageList.ExtractIcon(3); m_cMainIcon.SetIcon(m_hIconMain); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }