//==========================================================================
#include "bbtkInterpreter.h"
#include "bbtkWxBlackBox.h"
//==========================================================================
#include "bbtkInterpreter.h"
#include "bbtkWxBlackBox.h"
{ wxCMD_LINE_SWITCH, _T("h"), _T("help"), _T("print help") },
{ wxCMD_LINE_SWITCH, _T("g"), _T("graphical-dialog"), _T("prompts the user for the parameters values using dialog boxes") },
{ wxCMD_LINE_SWITCH, _T("t"), _T("text-dialog"), _T("prompts the user for the parameters values in text mode") },
{ wxCMD_LINE_SWITCH, _T("h"), _T("help"), _T("print help") },
{ wxCMD_LINE_SWITCH, _T("g"), _T("graphical-dialog"), _T("prompts the user for the parameters values using dialog boxes") },
{ wxCMD_LINE_SWITCH, _T("t"), _T("text-dialog"), _T("prompts the user for the parameters values in text mode") },
- { wxCMD_LINE_SWITCH, _T("n"), _T("no-command"), _T("do not show command window") },
+ { wxCMD_LINE_SWITCH, _T("n"), _T("no-command"), _T("do not show command window except on error") },
+ { wxCMD_LINE_SWITCH, _T("N"), _T("no-command-at-all"), _T("do not show command window even on error") },
{ wxCMD_LINE_PARAM, NULL, NULL, _T("input_file"), wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL | wxCMD_LINE_PARAM_MULTIPLE },
{ wxCMD_LINE_NONE }
};
{ wxCMD_LINE_PARAM, NULL, NULL, _T("input_file"), wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL | wxCMD_LINE_PARAM_MULTIPLE },
{ wxCMD_LINE_NONE }
};
std::map<std::string,std::string> param_map;
std::vector<std::string> input_file;
std::map<std::string,std::string> param_map;
std::vector<std::string> input_file;
help = ( parser.Found(_T("h")) );
graphical_dialog = ( parser.Found(_T("g")) );
text_dialog = ( parser.Found(_T("t")) );
help = ( parser.Found(_T("h")) );
graphical_dialog = ( parser.Found(_T("g")) );
text_dialog = ( parser.Found(_T("t")) );
// parse the arguments and consider those which contain a "="
// as set input commands, other as files
// parse the arguments and consider those which contain a "="
// as set input commands, other as files
- bbtk::WxConsole *I = new bbtk::WxConsole(0,_T("bbi"),wxSize(600,400));
+ bbtk::WxGUIConsole *I = new bbtk::WxGUIConsole(0,_T("bbi"),wxSize(800,600));
if (text_dialog) I->SetDialogMode(bbtk::Executer::TextDialog);
std::vector<std::string>::const_iterator i;
if (text_dialog) I->SetDialogMode(bbtk::Executer::TextDialog);
std::vector<std::string>::const_iterator i;
- for (i=input_file.begin(); i!=input_file.end(); ++i) I->InterpretFile(*i);
+ bool error = false;
+
+ for (i=input_file.begin(); i!=input_file.end(); ++i)
+ {
+ error = ! I->InterpretFile(*i);
+ if (error) break;
+ }
+ bool show_on_error = error && ! no_command_at_all;
+ if (show_on_error) I->Show();
+