Пример #1
0
void CvIpmLeft::OnItemexpanding(NMHDR* pNMHDR, LRESULT* pResult) 
{
	CTreeCtrl& tree = GetTreeCtrl();
	*pResult = 0;   // default to allow expanding

	CdIpmDoc* pDoc = (CdIpmDoc*)GetDocument();
	ASSERT(pDoc);
	if (!pDoc)
		return;
	// Manage "update all after load on first action"
	if (pDoc->GetPTreeGD()->CurrentlyLoading())
		return;
	if (pDoc->ManageMonSpecialState() || m_bProhibitActionOnTreeCtrl) 
	{
		*pResult = 1;   // do not allow expanding
		return;
	}

	NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
	if (pNMTreeView->action == TVE_EXPAND) 
	{
		HTREEITEM hItem = pNMTreeView->itemNew.hItem;
		CTreeItem *pItem;
		pItem = (CTreeItem *)tree.GetItemData(hItem);
		if (pItem && !pItem->IsAlreadyExpanded())
		{
			if (pItem->CreateSubBranches(hItem))
				pItem->SetAlreadyExpanded(TRUE);
			else
				*pResult = 1;     // prevent expanding
		}
	}
}
Пример #2
0
void CuDlgIpmDetailNetTrafic::OnButtonStartup() 
{
	m_cEditTimeStamp.SetWindowText("Startup");
	m_bStartup = TRUE;
	if (m_bRefresh)
	{
		CWnd* pParent1 = GetParentFrame(); // Frame of CFormView
		CfIpmFrame* pParent2 = (CfIpmFrame*)pParent1->GetParentFrame(); 
		CdIpmDoc* pDoc = pParent2->GetIpmDoc();
		if (pDoc)
		{
			if (!pDoc->ManageMonSpecialState())
				pDoc->ForceRefresh();
		}
	}
	UpdateData(FALSE);
}
Пример #3
0
void CuDlgIpmDetailNetTrafic::OnButtonNow() 
{
	CTime t = CTime::GetCurrentTime();
	CString strTime;
	strTime.Format(_T("%s"), (LPCTSTR)t.Format(_T("%c")));
	m_cEditTimeStamp.SetWindowText (strTime);
	m_TraficInfo.Cleanup();
	m_bStartup = FALSE;
	m_nCounter = 0;

	if (m_bRefresh)
	{
		CWnd* pParent1 = GetParentFrame(); // Frame of CFormView
		CfIpmFrame* pParent2 = (CfIpmFrame*)pParent1->GetParentFrame(); 
		CdIpmDoc* pDoc = pParent2->GetIpmDoc();
		if (pDoc)
		{
			if (!pDoc->ManageMonSpecialState())
				pDoc->ForceRefresh();
		}
	}
}
Пример #4
0
void CvIpmLeft::OnSelchanging(NMHDR* pNMHDR, LRESULT* pResult) 
{
	CTreeCtrl& tree = GetTreeCtrl();
	CdIpmDoc* pDoc = (CdIpmDoc *)GetDocument();
	ASSERT(pDoc);

	*pResult = 0;   // default to allow selchange
	try
	{
		// Manage "update all after load on first action"
		if (!pDoc)
			return;
		if (pDoc->GetPTreeGD()->CurrentlyLoading())
			return;
		if (pDoc->GetLockDisplayRightPane())
			return;
		if (pDoc->ManageMonSpecialState() || m_bProhibitActionOnTreeCtrl)
		{
			*pResult = 1;
			return;
		}

		NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
		HTREEITEM hItem = pNMTreeView->itemNew.hItem;
		CTreeItem *pItem;
		pItem = (CTreeItem *)tree.GetItemData(hItem);
		if (pItem) {
			if (!pItem->CompleteStruct()) { //"Structure Not Completed"
				AfxMessageBox(IDS_E_STRUCTURE, MB_OK | MB_ICONEXCLAMATION);
				*pResult = 1;     // prevent selchange
				return;
			}
			// Manage old item replicator dbevents
			HTREEITEM hOldItem = pNMTreeView->itemOld.hItem;
			if (hOldItem) 
			{
				CTreeItem *pOldItem;
				pOldItem = (CTreeItem *)tree.GetItemData(hOldItem);
				ASSERT (pOldItem);
				if (pOldItem) {
					// Cannot rely on "if (!pOldItem->ItemDisplaysNoPage())"
					// because replication can have been installed/uninstalled since then
					// ---> must terminate or not according to m_ReplMonHandle value
					if (pOldItem->HasReplicMonitor()) 
					{
						pDoc->TerminateReplicator();
					}
				}
			}

			// Notify current page on the right that we are about to leave it
			CfIpmFrame* pFrame = (CfIpmFrame*)GetParentFrame();
			ASSERT (pFrame);
			if (pFrame) 
			{
				if (pFrame->IsAllViewCreated()) 
				{
					CuDlgIpmTabCtrl* pTabDlg  = (CuDlgIpmTabCtrl*)pFrame->GetTabDialog();
					if (pTabDlg)
						pTabDlg->NotifyPageSelChanging();
				}
			}
		}
	}
	catch (...)
	{
		AfxMessageBox (IDS_E_CONSTRUCT_PROPERTY);
	}
}