void CSelectDiskPage::UpdateControls() { GetDlgItem(IDC_BTN_ADD).EnableWindow(m_wndListSingle.GetSelectedDiskObjectList().size() > 0); GetDlgItem(IDC_BTN_REMOVE).EnableWindow(m_wndListBind.GetSelectedDiskObjectList().size() > 0); GetDlgItem(IDC_BTN_REMOVE_ALL).EnableWindow( m_wndListBind.GetItemCount() > 0 ); CEdit ctlEditCount; ctlEditCount.Attach(GetDlgItem(IDC_BIND_WIZ_COUNT)); WTL::CString strDiskCount; strDiskCount.Format(_T("%d"), m_pWizData->m_nDiskCount); ctlEditCount.SetWindowText(strDiskCount); CEdit ctlEditSize; ctlEditSize.Attach(GetDlgItem(IDC_BIND_WIZ_SIZE)); if ( m_wndListBind.GetDiskObjectList().size() == m_pWizData->m_nDiskCount ) { WTL::CString strSize; pGetDiskSizeString( strSize, m_pWizData->m_nBindType, m_pWizData->m_nDiskCount, m_wndListBind.GetSelectedDiskObjectList()); ctlEditSize.SetWindowText(strSize); SetWizardButtons( PSWIZB_BACK | PSWIZB_NEXT ); } else { ctlEditSize.SetWindowText(_T("")); SetWizardButtons( PSWIZB_BACK); } }
BOOL CCompletionPage::OnSetActive() { WTL::CString strText, strText2; SetWizardButtons(PSWIZB_FINISH); CStatic ctlStaticResult; ctlStaticResult.Attach(GetDlgItem(IDC_BIND_RESULT)); CEdit ctlEditResult; ctlEditResult.Attach(GetDlgItem(IDC_EDIT_BIND_SETTING)); // add bind type to list strText2.LoadString( (NMT_AGGREGATE == m_pWizData->m_nBindType) ? IDS_LOGDEV_TYPE_AGGREGATED_DISK : (NMT_RAID0 == m_pWizData->m_nBindType) ? IDS_LOGDEV_TYPE_DISK_RAID0 : (NMT_RAID1 == m_pWizData->m_nBindType) ? IDS_LOGDEV_TYPE_DISK_RAID1 : (NMT_RAID4 == m_pWizData->m_nBindType) ? IDS_LOGDEV_TYPE_DISK_RAID4 : IDS_LOGDEV_TYPE ); strText.FormatMessage(IDS_BNZ_COMPLETE_RESULT_TYPE_FMT, strText2); ctlEditResult.AppendText(strText); ctlEditResult.AppendText(_T("\n")); // add disk titles to list strText.LoadString(IDS_BNZ_COMPLETE_RESULT_DISKS); int i; NBUnitDevicePtrList::iterator itr; CNBUnitDevice *UnitDiskObject, *UnitDiskObjectFailed; for(i = 0, itr = m_pWizData->listUnitDevicesBind.begin(); itr != m_pWizData->listUnitDevicesBind.end(); ++itr, i++) { UnitDiskObject = *itr; if(m_pWizData->m_BindResult == i) UnitDiskObjectFailed = UnitDiskObject; if(itr != m_pWizData->listUnitDevicesBind.begin()) strText += _T(", "); strText += UnitDiskObject->GetName(); } ctlEditResult.AppendText(strText); ctlEditResult.AppendText(_T("\n")); if(m_pWizData->m_BindResult == m_pWizData->m_nDiskCount) { // success strText.LoadString(IDS_BNZ_COMPLETE_SUCCESS); ctlStaticResult.SetWindowText(strText); // size pGetDiskSizeString(strText2, m_pWizData->m_nBindType, m_pWizData->m_nDiskCount, m_pWizData->listUnitDevicesBind); strText.FormatMessage(IDS_BNZ_COMPLETE_RESULT_SIZE_FMT, strText2); ctlEditResult.AppendText(strText); ctlEditResult.AppendText(_T("\n")); } else { // fail strText.LoadString(IDS_BNZ_COMPLETE_FAIL); ctlStaticResult.SetWindowText(strText); if(m_pWizData->m_BindResult != 0xFFFFFFFF) // single disk error { strText.FormatMessage(IDS_BNZ_COMPLETE_RESULT_FAILED_ON_FMT, UnitDiskObjectFailed->GetName()); ctlEditResult.AppendText(strText); ctlEditResult.AppendText(_T("\n")); } GetDescription(strText, m_pWizData->dwBindLastError); ctlEditResult.AppendText(strText); ctlEditResult.AppendText(_T("\n")); } return TRUE; }