void CWinMain::OnFormOk() { TCHAR buff[150]; TCHAR* stopString; double tempMax_1, tempMin_1, tempMax_2, tempMin_2, temp_eps; ::GetDlgItemText( hFormulaForm, IDC_EDIT_MAX_PARAM_1, buff, 150 ); tempMax_1 = wcstod( buff, &stopString ); if( wcslen( stopString ) > 0 ) { ::MessageBox( hFormulaForm, L"Введен некорректный параметр для максимального значения 1-ого параметра", L"Error", MB_OK | MB_ICONERROR ); return; } ::GetDlgItemText( hFormulaForm, IDC_EDIT_MAX_PARAM_2, buff, 150 ); tempMax_2 = wcstod( buff, &stopString ); if( wcslen( stopString ) > 0 ) { ::MessageBox( hFormulaForm, L"Введен некорректный параметр для максимального значения 2-ого параметра", L"Error", MB_OK | MB_ICONERROR ); return; } ::GetDlgItemText( hFormulaForm, IDC_EDIT_MIN_PARAM_1, buff, 150 ); tempMin_1 = wcstod( buff, &stopString ); if( wcslen( stopString ) > 0 ) { ::MessageBox( hFormulaForm, L"Введен некорректный параметр для минимального значения 1-ого параметра", L"Error", MB_OK | MB_ICONERROR ); return; } ::GetDlgItemText( hFormulaForm, IDC_EDIT_MIN_PARAM_2, buff, 150 ); tempMin_2 = wcstod( buff, &stopString ); if( wcslen( stopString ) > 0 ) { ::MessageBox( hFormulaForm, L"Введен некорректный параметр для минимального значения 2-ого параметра", L"Error", MB_OK | MB_ICONERROR ); return; } ::GetDlgItemText( hFormulaForm, IDC_EDIT_EPS, buff, 150 ); temp_eps = wcstod( buff, &stopString ); if( wcslen( stopString ) > 0 ) { ::MessageBox( hFormulaForm, L"Введен некорректный параметр значения эпсилон", L"Error", MB_OK | MB_ICONERROR ); return; } if( tempMax_1 < tempMin_1 || tempMax_2 < tempMin_2 ) { ::MessageBox( hFormulaForm, L"Максимум меньше минимума", L"Error", MB_OK | MB_ICONERROR ); return; } maxParam[0] = tempMax_1; minParam[0] = tempMin_1; maxParam[1] = tempMax_2; minParam[1] = tempMin_2; epsilon = temp_eps; args.clear(); for( int i = 0; i < static_cast<int>( vars.size() ); i++ ) { args[vars[i]] = std::make_pair( minParam[i], maxParam[i] ); } buildPlot(); EndDialog( hFormulaForm, 0 ); DestroyWindow( hFormulaForm ); hFormulaForm = 0; }
void CWinMain::TakeFormula() { formula = ParseFormula( winRedactor.CalculateStringForPlotter() ); vars = formula.GetVariables(); args.clear(); for( int i = 0; i < static_cast<int>( vars.size() ); i++ ) { args[vars[i]] = std::make_pair( minParam[i], maxParam[i] ); } buildPlot(); ::EnableMenuItem( GetMenu( handle ), ID_PARAMS, MF_ENABLED ); }
void ReadKkit::undump( const vector< string >& args) { if ( args[1] == "kpool" ) buildPool( args ); else if ( args[1] == "kreac" ) buildReac( args ); else if ( args[1] == "kenz" ) buildEnz( args ); else if ( args[1] == "text" ) buildText( args ); else if ( args[1] == "xplot" ) buildPlot( args ); else if ( args[1] == "xgraph" ) buildGraph( args ); else if ( args[1] == "group" ) buildGroup( args ); else if ( args[1] == "geometry" ) buildGeometry( args ); else if ( args[1] == "stim" ) buildStim( args ); else if ( args[1] == "xcoredraw" ) ; else if ( args[1] == "xtree" ) ; else if ( args[1] == "xtext" ) ; else if ( args[1] == "doqcsinfo" ) ; else if ( args[1] == "kchan" ) buildChan( args ); else if ( args[1] == "xtab" ) buildTable( args ); else cout << "ReadKkit::undump: Do not know how to build '" << args[1] << "'\n"; }