void CuDlgCacheTab::DisplayPage (CACHELINEINFO* pData) { CString csButtonTitle; CWnd* pParent1 = GetParent (); // View (CvDbmsCacheViewRight) ASSERT_VALID (pParent1); CWnd* pParent2 = pParent1->GetParent (); // SplitterWnd ASSERT_VALID (pParent2); CWnd* pParent3 = pParent2->GetParent (); // Frame (CfDbmsCacheFrame) ASSERT_VALID (pParent3); CWnd* pParent4 = pParent3->GetParent (); // Modeless Dialog (CuDlgDbmsCache) ASSERT_VALID (pParent4); CWnd* pParent5 = pParent4->GetParent (); // CTabCtrl ASSERT_VALID (pParent5); CWnd* pParent6 = pParent5->GetParent (); // CConfRightDlg ASSERT_VALID (pParent6); CButton* pButton1 = (CButton*)((CConfRightDlg*)pParent6)->GetDlgItem (IDC_BUTTON1); CButton* pButton2 = (CButton*)((CConfRightDlg*)pParent6)->GetDlgItem (IDC_BUTTON2); CuCacheCheckListCtrl* pList = GetCacheListCtrl(); CTabCtrl* pTab = (CTabCtrl*)GetDlgItem(IDC_TAB1); if (m_pCurrentPage) { // // Try to save (and validate) the data that has been changed // in the old page before displaying a new page. m_pCurrentPage->SendMessage(WMUSRMSG_CBF_PAGE_VALIDATE, (WPARAM)0, (LPARAM)0); m_pCurrentPage->ShowWindow (SW_HIDE); m_pCurrentPage = NULL; } if (!(pTab && IsWindow (pTab->m_hWnd))) return; UINT nState = 0; int i, nCurSel = -1, nCount = pList->GetItemCount(); for (i=0; i<nCount; i++) { nState = pList->GetItemState (i, LVIS_SELECTED); if (nState & LVIS_SELECTED) { nCurSel = i; break; } } if (nCurSel == -1) return; if (!pData) return; try { if (!VCBFllInitCacheParms(pData)) return; int nSel = pTab->GetCurSel(); switch (nSel) { case 0: csButtonTitle.LoadString(IDS_BUTTON_EDIT_VALUE); pButton1->SetWindowText (csButtonTitle); csButtonTitle.LoadString(IDS_BUTTON_RESTORE); pButton2->SetWindowText (csButtonTitle); if (!m_pCacheParameter) { m_pCacheParameter = new CuDlgDbmsCacheParameter (pTab); m_pCacheParameter->Create (IDD_DBMS_PAGE_CACHE_PARAMETER, pTab); } m_pCurrentPage = m_pCacheParameter; break; case 1: csButtonTitle.LoadString(IDS_BUTTON_EDIT_VALUE); pButton1->SetWindowText (csButtonTitle); csButtonTitle.LoadString(IDS_BUTTON_RECALCULATE); pButton2->SetWindowText (csButtonTitle); if (!m_pCacheDerived) { m_pCacheDerived = new CuDlgDbmsCacheDerived (pTab); m_pCacheDerived->Create (IDD_DBMS_PAGE_CACHE_DERIVED, pTab); } m_pCurrentPage = m_pCacheDerived; break; default: break; } if (m_pCurrentPage) { CRect r; pTab->GetClientRect (r); pTab->AdjustRect (FALSE, r); m_pCurrentPage->SendMessage (WMUSRMSG_CBF_PAGE_UPDATING, 0, 0); m_pCurrentPage->MoveWindow(r); m_pCurrentPage->ShowWindow(SW_SHOW); } } catch (CeVcbfException e) { // // Catch critical error TRACE1 ("CuDlgCacheTab::DisplayPage has caught exception: %s\n", e.m_strReason); CMainFrame* pMain = (CMainFrame*)AfxGetMainWnd(); pMain->CloseApplication (FALSE); } catch (CMemoryException* e) { VCBF_OutOfMemoryMessage (); e->Delete(); } catch (...) { TRACE0 ("Other error occured ...\n"); } }
LONG CPrefDlg::OnUpdateData (WPARAM wParam, LPARAM lParam) { BOOL bSyscheck = FALSE; CWaitCursor CWaitCur; try { if (VCBFll_settings_Init( &bSyscheck )) m_CButtonPreference.SetCheck( bSyscheck ); } catch (CeVcbfException e) { // // Catch critical error TRACE1 ("CPrefDlg::OnUpdateData has caught exception: %s\n", e.m_strReason); CMainFrame* pMain = (CMainFrame*)AfxGetMainWnd(); pMain->CloseApplication (FALSE); } catch (CMemoryException* e) { VCBF_OutOfMemoryMessage (); e->Delete(); } catch (...) { TRACE0 ("Other error occured ...\n"); } return 0L; }
void CPrefDlg::OnCheckPreference() { BOOL bCheckedResult; // TODO: Add your control notification handler code here try { if ( VCBFll_On_settings_CheckChanged(m_CButtonPreference.GetCheck(), &bCheckedResult)) m_CButtonPreference.SetCheck( bCheckedResult ); } catch (CeVcbfException e) { // // Catch critical error TRACE1 ("CPrefDlg::OnCheckPreference has caught exception: %s\n", e.m_strReason); CMainFrame* pMain = (CMainFrame*)AfxGetMainWnd(); pMain->CloseApplication (FALSE); } catch (CMemoryException* e) { VCBF_OutOfMemoryMessage (); e->Delete(); } catch (...) { TRACE0 ("Other error occured ...\n"); } }
void CuDlgCacheTab::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult) { try { CuCacheCheckListCtrl* pList = GetCacheListCtrl(); CACHELINEINFO* pData = NULL; UINT nState = 0; int i, nCurSel = -1, nCount = pList->GetItemCount(); for (i=0; i<nCount; i++) { nState = pList->GetItemState (i, LVIS_SELECTED); if (nState & LVIS_SELECTED) { nCurSel = i; break; } } if (nCurSel != -1) pData = (CACHELINEINFO*)pList->GetItemData (nCurSel); DisplayPage (pData); } catch (CeVcbfException e) { // // Catch critical error TRACE1 ("CuDlgCacheTab::OnSelchangeTab1 has caught exception: %s\n", e.m_strReason); CMainFrame* pMain = (CMainFrame*)AfxGetMainWnd(); pMain->CloseApplication (FALSE); } catch (...) { TRACE0 ("CuDlgCacheTab::OnSelchangeTab1 has caught exception... \n"); } *pResult = 0; }
LONG CuEditableListCtrlGeneric::OnEditSpinDlgOK (UINT wParam, LONG lParam) { int iItem, iSubItem; int iMin, iMax; CString s = EDITSPIN_GetText(); if (s.IsEmpty()) { EDITSPIN_GetRange (iMin, iMax); s.Format (_T("%d"), iMin); } EDITSPIN_GetEditItem(iItem, iSubItem); if (iItem < 0) return 0L; try { GENERICLINEINFO* pData = (GENERICLINEINFO*)GetItemData (iItem); if (pData) { CString strOldName = pData->szname; if (GetGenericForCache()) { // // Special care of cache management. VCBFllCachePaneOnEdit (pData, (LPTSTR)(LPCTSTR)s); } else { VCBFllGenPaneOnEdit(pData, (LPTSTR)(LPCTSTR)s); } ASSERT (strOldName == pData->szname); VCBF_GenericSetItem (this, pData, iItem); } } catch (CeVcbfException e) { // // Catch critical error TRACE1 ("CuEditableListCtrlGeneric::OnEditSpinDlgOK has caught exception: %s\n", e.m_strReason); CMainFrame* pMain = (CMainFrame*)AfxGetMainWnd(); pMain->CloseApplication (FALSE); } catch (CMemoryException* e) { VCBF_OutOfMemoryMessage (); e->Delete(); } catch (...) { TRACE0 ("Other error occured ...\n"); } return 0L; }
void CPrefDlg::OnShowWindow(BOOL bShow, UINT nStatus) { CDialog::OnShowWindow(bShow, nStatus); try { if (!bShow) VCBFll_settings_Terminate(); } catch (CeVcbfException e) { // // Catch critical error CMainFrame* pMain = (CMainFrame*)AfxGetMainWnd(); pMain->CloseApplication (FALSE); } }
LONG CuEditableListCtrlGenericDerived::OnEditSpinDlgOK (UINT wParam, LONG lParam) { int iItem, iSubItem; int iMin, iMax; CString s = EDITSPIN_GetText(); if (s.IsEmpty()) { EDITSPIN_GetRange (iMin, iMax); s.Format (_T("%d"), iMin); } EDITSPIN_GetEditItem(iItem, iSubItem); if (iItem < 0) return 0L; try { DERIVEDLINEINFO* pData = (DERIVEDLINEINFO*)GetItemData (iItem); if (pData) { CString strOldName = pData->szname; BOOL bOk = VCBBllOnEditDependent(pData, (LPTSTR)(LPCTSTR)s); ASSERT (strOldName == pData->szname); VCBF_GenericDerivedAddItem (this, (LPCTSTR)strOldName, GetGenericForCache()); } } catch (CeVcbfException e) { // // Catch critical error TRACE1 ("CuEditableListCtrlGenericDerived::OnEditSpinDlgOK has caught exception: %s\n", e.m_strReason); CMainFrame* pMain = (CMainFrame*)AfxGetMainWnd(); pMain->CloseApplication (FALSE); } catch (CMemoryException* e) { VCBF_OutOfMemoryMessage (); e->Delete(); } catch (...) { TRACE0 ("Other error occured ...\n"); } return 0L; }
void CuEditableListCtrlGeneric::OnCheckChange (int iItem, int iSubItem, BOOL bCheck) { TRACE1 ("CuEditableListCtrlGeneric::OnCheckChange (%d)\n", (int)bCheck); CString strOnOff = bCheck? "ON": "OFF"; GENERICLINEINFO* pData = (GENERICLINEINFO*)GetItemData (iItem); try { if (pData) { CString strOldName = (LPCTSTR)pData->szname; if (GetGenericForCache()) { // // Special care of cache management. VCBFllCachePaneOnEdit (pData, (LPTSTR)(LPCTSTR)strOnOff); } else { VCBFllGenPaneOnEdit(pData, (LPTSTR)(LPCTSTR)strOnOff); } ASSERT (strOldName == pData->szname); VCBF_GenericSetItem (this, pData, iItem); } } catch (CeVcbfException e) { // // Catch critical error TRACE1 ("CuEditableListCtrlGeneric::OnCheckChange has caught exception: %s\n", e.m_strReason); CMainFrame* pMain = (CMainFrame*)AfxGetMainWnd(); pMain->CloseApplication (FALSE); } catch (CMemoryException* e) { VCBF_OutOfMemoryMessage (); e->Delete(); } catch (...) { TRACE0 ("Other error occured ...\n"); } }
LONG CHistDlg::OnUpdateData (WPARAM wParam, LPARAM lParam) { LPTSTR szBufName; CWaitCursor wait; // display wait cursor try { if ((szBufName =(LPTSTR) VCBFllLoadHist ( )) == NULL) { AfxMessageBox (IDS_ERR_LOAD_HISTORY); CString csTemp; csTemp.LoadString(IDS_ERR_LOAD_HISTORY); m_cstrhist.SetWindowText(csTemp); } else { m_cstrhist.SetWindowText((LPCTSTR)szBufName); m_cstrhist.LineScroll(m_cstrhist.GetLineCount( )); VCBFllFreeString( szBufName ); } } catch (CeVcbfException e) { // // Catch critical error TRACE1 ("CHistDlg::OnUpdateData has caught exception: %s\n", e.m_strReason); CMainFrame* pMain = (CMainFrame*)AfxGetMainWnd(); pMain->CloseApplication (FALSE); } catch (CMemoryException* e) { VCBF_OutOfMemoryMessage (); e->Delete(); } catch (...) { TRACE0 ("Other error occured ...\n"); } return 0L; }
LONG CuEditableListCtrlComponent::OnEditDlgOK (UINT wParam, LONG lParam) { int iItem, iSubItem; CString s = EDIT_GetText(); EDIT_GetEditItem(iItem, iSubItem); if (iItem < 0) { MessageBeep(MB_ICONEXCLAMATION); return 0L; } // optimization: if text not changed or if text empty, behave as if cancelled if (s.IsEmpty()) return 0L; if (s == m_EditDlgOriginalText) return 0L; // Emb Oct 22, 97: don't accept underscore in name if (s.Find(_T('_')) != -1) { AfxMessageBox(IDS_ERR_UNDERSCORE); SetItemText (iItem, iSubItem, m_EditDlgOriginalText); return 0L; // As if not changed } // Emb Oct 22, 97: must check whether another item has the same name int count = GetItemCount(); CuCbfListViewItem* pCurItemData = (CuCbfListViewItem*)GetItemData(iItem); LPCOMPONENTINFO lpCurComponentInfo = &pCurItemData->m_componentInfo; for (int cpt = 0; cpt < count; cpt++) { // exclude current item if (cpt == iItem) continue; // get component info of item CuCbfListViewItem* pItem = (CuCbfListViewItem*)GetItemData(cpt); LPCOMPONENTINFO lpItemInfo = &pItem->m_componentInfo; // compare types if (lpItemInfo->itype != lpCurComponentInfo->itype) continue; // compare names - INSENSIVIVE if (s.CompareNoCase((LPCTSTR)lpItemInfo->szname) != 0) continue; // same type and name : denied AfxMessageBox(IDS_ERR_DUPLICATE_NAME); SetItemText (iItem, iSubItem, m_EditDlgOriginalText); return 0L; // As if not changed } // Emb Sept 25, 97: preliminary test at low level side CuCbfListViewItem* pItemData = (CuCbfListViewItem*)GetItemData(iItem); LPCOMPONENTINFO lpComponentInfo = &pItemData->m_componentInfo; AfxGetApp()->DoWaitCursor(1); try { BOOL bSuccess = VCBFllValidRename(lpComponentInfo, (LPTSTR)(LPCTSTR)s); AfxGetApp()->DoWaitCursor(-1); if (!bSuccess) MessageBeep(MB_ICONEXCLAMATION); } catch (CeVcbfException e) { // // Catch critical error TRACE1 ("CuEditableListCtrlComponent::OnEditDlgOK has caught exception: %s\n", e.m_strReason); CMainFrame* pMain = (CMainFrame*)AfxGetMainWnd(); pMain->CloseApplication (FALSE); } catch (CMemoryException* e) { VCBF_OutOfMemoryMessage (); e->Delete(); } catch (...) { TRACE0 ("Other error occured ...\n"); } // always display text as returned in the structure by VCBFllValidRename() SetItemText (iItem, iSubItem, (LPCTSTR)lpComponentInfo->szname); return 0L; }
LONG CuEditableListCtrlComponent::OnEditSpinDlgOK (UINT wParam, LONG lParam) { int iItem, iSubItem; CString s = EDITSPIN_GetText(); // optimization: if text not changed or if text empty, behave as if cancelled if (s.IsEmpty()) return 0L; if (s == m_EditSpinDlgOriginalText) return 0L; EDITSPIN_GetEditItem(iItem, iSubItem); if (iItem < 0) { MessageBeep(MB_ICONEXCLAMATION); return 0L; } // DBCS Compliant // Oct 23, 97: skip leading Zero(s) int len = s.GetLength(); if (len > 1) { int cpt=0; for (cpt=0; cpt<len; cpt++) if (s[cpt] != _T('0')) break; if (cpt == len) s = _T("0"); // Only zeros found else s = s.Right(len-cpt); // start from first non-zero digit } // Emb Sept 25, 97: preliminary test at low level side CuCbfListViewItem* pItemData = (CuCbfListViewItem*)GetItemData(iItem); LPCOMPONENTINFO lpComponentInfo = &pItemData->m_componentInfo; AfxGetApp()->DoWaitCursor(1); try { BOOL bSuccess = VCBFllValidCount(lpComponentInfo, (LPTSTR)(LPCTSTR)s); AfxGetApp()->DoWaitCursor(-1); if (!bSuccess) MessageBeep(MB_ICONEXCLAMATION); } catch (CeVcbfException e) { // // Catch critical error TRACE1 ("CuEditableListCtrlComponent::OnEditSpinDlgOK has caught exception: %s\n", e.m_strReason); CMainFrame* pMain = (CMainFrame*)AfxGetMainWnd(); pMain->CloseApplication (FALSE); } catch (CMemoryException* e) { VCBF_OutOfMemoryMessage (); e->Delete(); } catch (...) { TRACE0 ("Other error occured ...\n"); } // always display text as returned in the structure by VCBFllValidRename() SetItemText (iItem, iSubItem, (LPCTSTR)lpComponentInfo->szcount); return 0L; }