// Options_dlg.cpp : implementation file // #include "stdafx.h" #include "vera_sam.h" #include "Options_dlg.h" #include "globals.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // Options_dlg dialog Options_dlg::Options_dlg(CWnd* pParent /*=NULL*/) : CDialog(Options_dlg::IDD, pParent) { //{{AFX_DATA_INIT(Options_dlg) m_alt_sam = alt_sam; m_evolution = evolution; m_disp_iter = disp_iter; m_s_disp_iter = s_disp_iter; m_stop_crit = stop_crit; m_start_mod = start_mod; m_file_name = temp_in_model; m_alt_sam_file = ALT_SAM_INPUT; m_eps_beta = new_eps_beta; //}}AFX_DATA_INIT } void Options_dlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(Options_dlg) DDX_Control(pDX, IDC_CHECK3, m_start_mod_button); DDX_Control(pDX, IDC_CHECK4, m_vera_debug_button); DDX_Control(pDX, IDC_CHECK5, m_debug_sam_button); DDX_Control(pDX, IDC_CHECK_ALT_VFILE, m_alt_sam_button); DDX_Check(pDX, IDC_CHECK1, m_evolution); DDX_Check(pDX, IDC_CHECK2, m_stop_crit); DDX_Check(pDX, IDC_CHECK3, m_start_mod); DDX_Check(pDX, IDC_CHECK4, m_disp_iter); DDX_Check(pDX, IDC_CHECK5, m_s_disp_iter); DDX_Check(pDX, IDC_CHECK_ALT_VFILE, m_alt_sam); DDX_Text(pDX, IDC_EDIT_ALT_VFILE, m_alt_sam_file); DDX_Text(pDX, IDC_EDIT6, m_file_name); DDX_Text(pDX, IDC_EDIT5, m_eps_beta); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(Options_dlg, CDialog) //{{AFX_MSG_MAP(Options_dlg) ON_BN_CLICKED(IDC_CHECK3, OnCheck3) ON_BN_CLICKED(IDC_CHECK1, OnCheck1) ON_BN_CLICKED(IDC_CHECK2, OnCheck2) ON_BN_CLICKED(IDC_CHECK4, OnCheck4) ON_EN_CHANGE(IDC_EDIT5, OnChangeEdit5) ON_BN_CLICKED(IDC_CHECK5, OnCheck5) ON_BN_CLICKED(IDC_CHECK_ALT_VFILE, OnCheckAltVfile) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // Options_dlg message handlers BOOL Options_dlg::OnInitDialog() { CDialog::OnInitDialog(); if (m_stop_crit == 1) GetDlgItem(IDC_EDIT5)->EnableWindow(true); CString temp_eps; temp_eps.Format("%1.4f", new_eps_beta); LPCTSTR temp_eps_ptr = temp_eps; SetDlgItemText(IDC_EDIT5, temp_eps_ptr); if (RunVERA == false){ GetDlgItem(IDC_STATIC_NO_RUN_VERA)->ShowWindow(true); GetDlgItem(IDC_STATIC1)->ShowWindow(false); GetDlgItem(IDC_STATIC2)->ShowWindow(false); GetDlgItem(IDC_STATIC_VERA_OPTIONS)->ShowWindow(false); GetDlgItem(IDC_CHECK1)->ShowWindow(false); GetDlgItem(IDC_CHECK2)->ShowWindow(false); GetDlgItem(IDC_CHECK3)->ShowWindow(false); GetDlgItem(IDC_CHECK4)->ShowWindow(false); GetDlgItem(IDC_EDIT1)->ShowWindow(false); GetDlgItem(IDC_EDIT5)->ShowWindow(false); GetDlgItem(IDC_EDIT6)->ShowWindow(false); GetDlgItem(IDC_STATIC_EVOLUTION)->ShowWindow(false); GetDlgItem(IDC_EDIT_EVOLUTION)->ShowWindow(false); } else{ GetDlgItem(IDC_STATIC_NO_RUN_VERA)->ShowWindow(false); GetDlgItem(IDC_STATIC1)->ShowWindow(true); GetDlgItem(IDC_STATIC2)->ShowWindow(true); GetDlgItem(IDC_STATIC_VERA_OPTIONS)->ShowWindow(true); GetDlgItem(IDC_CHECK1)->ShowWindow(true); GetDlgItem(IDC_CHECK2)->ShowWindow(true); GetDlgItem(IDC_CHECK3)->ShowWindow(true); GetDlgItem(IDC_CHECK4)->ShowWindow(true); GetDlgItem(IDC_EDIT1)->ShowWindow(true); GetDlgItem(IDC_EDIT5)->ShowWindow(true); GetDlgItem(IDC_EDIT6)->ShowWindow(true); GetDlgItem(IDC_STATIC_EVOLUTION)->ShowWindow(true); GetDlgItem(IDC_EDIT_EVOLUTION)->ShowWindow(true); } if (RunSAM == false){ GetDlgItem(IDC_STATIC_NO_RUN_SAM)->ShowWindow(true); GetDlgItem(IDC_EDIT2)->ShowWindow(false); GetDlgItem(IDC_CHECK5)->ShowWindow(false); GetDlgItem(IDC_STATIC_SAM)->ShowWindow(false); GetDlgItem(IDC_STATIC_SAM_OPTIONS)->ShowWindow(false); GetDlgItem(IDC_CHECK_ALT_VFILE)->ShowWindow(false); GetDlgItem(IDC_EDIT_ALT_VFILE)->ShowWindow(false); GetDlgItem(IDC_STATIC_ALT_VFILE)->ShowWindow(false); } else{ GetDlgItem(IDC_STATIC_NO_RUN_SAM)->ShowWindow(false); GetDlgItem(IDC_EDIT2)->ShowWindow(true); GetDlgItem(IDC_CHECK5)->ShowWindow(true); GetDlgItem(IDC_STATIC_SAM)->ShowWindow(true); GetDlgItem(IDC_STATIC_SAM_OPTIONS)->ShowWindow(true); GetDlgItem(IDC_CHECK_ALT_VFILE)->ShowWindow(true); GetDlgItem(IDC_EDIT_ALT_VFILE)->ShowWindow(true); GetDlgItem(IDC_STATIC_ALT_VFILE)->ShowWindow(true); } if (m_evolution == 1){ if (VERA_input != _T("")){ CString temp = VERA_input + ".evolution"; SetDlgItemText(IDC_EDIT_EVOLUTION, temp); } } else SetDlgItemText(IDC_EDIT_EVOLUTION, ""); if (m_disp_iter == 1){ if (VERA_input != _T("")){ CString temp = VERA_input + ".VERAdebug"; SetDlgItemText(IDC_EDIT1, temp); } } else SetDlgItemText(IDC_EDIT1, ""); if (m_s_disp_iter == 1){ if (VERA_input != _T("")){ CString temp = VERA_input + ".SAMdebug"; SetDlgItemText(IDC_EDIT2, temp); } } else SetDlgItemText(IDC_EDIT2, ""); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void Options_dlg::OnCheck1() { if (m_evolution == 1) m_evolution = false; else m_evolution = true; if (m_evolution == 1){ if (VERA_input != _T("")){ CString temp = VERA_input + ".evolution"; SetDlgItemText(IDC_EDIT_EVOLUTION, temp); } else SetDlgItemText(IDC_EDIT_EVOLUTION, "VERA input not selected- once selected, file will be appended with .evolution"); } else SetDlgItemText(IDC_EDIT_EVOLUTION, ""); } void Options_dlg::OnCheck2() { if (m_stop_crit == 1) m_stop_crit = false; else m_stop_crit = true; if (m_stop_crit == 1) GetDlgItem(IDC_EDIT5)->EnableWindow(true); else GetDlgItem(IDC_EDIT5)->EnableWindow(false); } void Options_dlg::OnChangeEdit5() { CString temp; bool is_decimal = false; bool replace = false; TCHAR temp_char; GetDlgItemText(IDC_EDIT5, temp); LPCTSTR temp_ptr = temp; int string_len = temp.GetLength(); for (int j=0;j57){ //if not a number if(temp_char == 46 && is_decimal == false){ is_decimal = true; } else{ temp.Delete(j,1); string_len--; replace = true; } } } if (replace) SetDlgItemText(IDC_EDIT5, temp); new_eps_beta = atof(temp_ptr); } void Options_dlg::OnCheck3() { if(m_start_mod == 1) m_start_mod = false; //update checkbox else m_start_mod = true; if (m_start_mod == 1){ CFileDialog errorfile(true, NULL, NULL, OFN_HIDEREADONLY | OFN_PATHMUSTEXIST, NULL, NULL); errorfile.DoModal(); CString t_errorfilename= errorfile.GetPathName(); temp_in_model = t_errorfilename; if (t_errorfilename == _T("")){ m_start_mod = false; m_start_mod_button.SetCheck(0); } SetDlgItemText(IDC_EDIT6, t_errorfilename); } else{ m_start_mod = false; m_start_mod_button.SetCheck(0); temp_in_model = ""; SetDlgItemText(IDC_EDIT6, temp_in_model); } } void Options_dlg::OnCheck4() { if (m_disp_iter == 1) m_disp_iter = false; else m_disp_iter = true; if (m_disp_iter == 1){ if (VERA_input != _T("")){ CString temp = VERA_input + ".VERAdebug"; SetDlgItemText(IDC_EDIT1, temp); } else SetDlgItemText(IDC_EDIT1, "VERA input not selected- once selected, file will be appended with .VERAdebug"); } else SetDlgItemText(IDC_EDIT1, ""); } void Options_dlg::OnCheck5() { if (m_s_disp_iter == 1) m_s_disp_iter = false; else m_s_disp_iter = true; if (m_s_disp_iter == 1){ if (VERA_input != _T("")){ CString temp = VERA_input + ".SAMdebug"; SetDlgItemText(IDC_EDIT2, temp); } else SetDlgItemText(IDC_EDIT2, "VERA input not selected- once selected, file will be appended with .SAMdebug"); } else SetDlgItemText(IDC_EDIT2, ""); } void Options_dlg::OnCheckAltVfile() { if(m_alt_sam == 1) m_alt_sam = false; //update checkbox else m_alt_sam = true; if (m_alt_sam == 1){ CFileDialog alt_sam_file(true, NULL, NULL, OFN_HIDEREADONLY | OFN_PATHMUSTEXIST, NULL, NULL); alt_sam_file.DoModal(); CString t_alt_sam_filename= alt_sam_file.GetPathName(); ALT_SAM_INPUT = t_alt_sam_filename; if (t_alt_sam_filename == _T("")){ m_alt_sam = false; m_alt_sam_button.SetCheck(0); } SetDlgItemText(IDC_EDIT_ALT_VFILE, t_alt_sam_filename); } else{ m_alt_sam = false; m_alt_sam_button.SetCheck(0); ALT_SAM_INPUT = ""; SetDlgItemText(IDC_EDIT_ALT_VFILE, ALT_SAM_INPUT); } } void Options_dlg::OnOK() { // TODO: Add extra validation here alt_sam = m_alt_sam; evolution = m_evolution; stop_crit = m_stop_crit; start_mod = m_start_mod; s_disp_iter = m_s_disp_iter; disp_iter = m_disp_iter; CDialog::OnOK(); }