コード例 #1
0
void CuDlgReplicationStaticPageActivity::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	DisplayPage();
	*pResult = 0;
}
コード例 #2
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
}
コード例 #3
0
void CuDlgMain::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	*pResult = 0;
	DisplayPage();
}
コード例 #4
0
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);
		}
	}


}
コード例 #5
0
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
}