#include "precomp.h" #include "resource.h" #include "global.h" #include "PropPg.h" #include "SetSht.h" #include "dslist.h" #include "Confirm.h" #include "nmakreg.h" #include "nmakwiz.h" //////////////////////////////////////////////////////////////////////////////////////////////////// // Static member vars CConfirmationSheet* CConfirmationSheet::ms_pConfirmationSheet = NULL; //////////////////////////////////////////////////////////////////////////////////////////////////// // Static member fns INT_PTR CALLBACK CConfirmationSheet::DlgProc( HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam ) { switch( message ) { case WM_INITDIALOG: { PropSheet_SetWizButtons( GetParent( hDlg ), PSWIZB_NEXT | PSWIZB_BACK ); ms_pConfirmationSheet->_CreateFilePane(hDlg); return TRUE; break; } case WM_NOTIFY: { switch( reinterpret_cast< NMHDR FAR* >( lParam )->code ) { case PSN_QUERYCANCEL: SetWindowLong( hDlg, DWL_MSGRESULT, !VerifyExitMessageBox()); return TRUE; case PSN_SETACTIVE: g_hwndActive = hDlg; ms_pConfirmationSheet->_FillListBox( ); PropSheet_SetWizButtons( GetParent( hDlg ), PSWIZB_NEXT | PSWIZB_BACK ); ms_pConfirmationSheet->m_pFilePane->Validate(FALSE); return TRUE; case PSN_WIZBACK: if( !ms_pConfirmationSheet->m_pFilePane->Validate( TRUE ) ) { SetWindowLong( hDlg, DWL_MSGRESULT, -1 ); return TRUE; } break; case PSN_WIZNEXT: if( !ms_pConfirmationSheet->m_pFilePane->Validate( TRUE ) ) { SetWindowLong( hDlg, DWL_MSGRESULT, -1 ); return TRUE; } break; } break; } default: break; } return FALSE; } //////////////////////////////////////////////////////////////////////////////////////////////////// // Member fns CConfirmationSheet::CConfirmationSheet() : m_PropertySheetPage( MAKEINTRESOURCE( IDD_PROPPAGE_DEFAULT ), CConfirmationSheet::DlgProc /*, PSP_HASHELP */ ), m_uIndex( 0 ), m_pFilePane( NULL ) { ms_pConfirmationSheet = this; } CConfirmationSheet::~CConfirmationSheet( void ) { delete m_pFilePane; m_pFilePane = NULL; ms_pConfirmationSheet = NULL; } void CConfirmationSheet::_FillListBox(void) { HWND hwndList = GetDlgItem( m_pFilePane->GetHwnd(), IDC_LIST_SETTINGS ); ListBox_ResetContent( hwndList ); int iLine = 0; iLine = g_pWiz->m_SettingsSheet.SpewToListBox( hwndList, iLine ); iLine = g_pWiz->m_CallModeSheet.SpewToListBox( hwndList, iLine ); // Note - 500 is just a large and arbitrary value ListBox_SetHorizontalExtent( hwndList, 500 ); } void CConfirmationSheet::_CreateFilePane(HWND hDlg) { RECT rect; GetClientRect(hDlg, &rect ); int iHeight = rect.bottom - rect.top; int iWidth = rect.right - CPropertyDataWindow2::mcs_iLeft; m_pFilePane = new CFilePanePropWnd2(hDlg, IDD_FILEPANE_SUMMARY, TEXT("IDD_FILEPANE_SUMMARY"), 0, CPropertyDataWindow2::mcs_iLeft, CPropertyDataWindow2::mcs_iTop, iWidth, iHeight ); assert( m_pFilePane ); HWND hwndCond = GetDlgItem( m_pFilePane->GetHwnd(), IDC_CREATE_CONFIGURATION_SUMMARY_FILE ); m_pFilePane->ConnectControlsToCheck( IDC_CREATE_CONFIGURATION_SUMMARY_FILE, 2, new CControlID( hwndCond, IDC_CREATE_CONFIGURATION_SUMMARY_FILE, IDC_CONFIGURATION_SUMMARY_PATH, CControlID::EDIT ), new CControlID( hwndCond, IDC_CREATE_CONFIGURATION_SUMMARY_FILE, IDC_BROWSE_CONFIGURATION_SUMMARY, // Note this is not a check but I don't think I care CControlID::CHECK ) ); m_pFilePane->SetFilePane( FALSE, IDC_CONFIGURATION_SUMMARY_PATH, IDC_CREATE_CONFIGURATION_SUMMARY_FILE, IDC_BROWSE_CONFIGURATION_SUMMARY, TEXT( "Text File (*.txt)" ), TEXT( ".txt" ), TEXT( "Summary.txt" )); m_pFilePane->ShowWindow( TRUE ); m_pFilePane->SetCheck(IDC_CREATE_CONFIGURATION_SUMMARY_FILE, TRUE); if (g_pWiz->m_IntroSheet.GetFilePane()->OptionEnabled()) { m_pFilePane->ReadSettings(); } }