X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=kernel%2Fappli%2Fbbc%2Fmain.cxx.in;h=307a90ed23513a261ce6dfd493a3be7128156a22;hb=b324b7e01f19042425f979066aeada6ec4529e98;hp=b4ac5271a21814caf1630d47c2a88404f91ec531;hpb=05e7ead34117d7cd9946e02dfc6a4f1079630f4f;p=bbtk.git diff --git a/kernel/appli/bbc/main.cxx.in b/kernel/appli/bbc/main.cxx.in index b4ac527..307a90e 100644 --- a/kernel/appli/bbc/main.cxx.in +++ b/kernel/appli/bbc/main.cxx.in @@ -1,3 +1,29 @@ +/* + # --------------------------------------------------------------------- + # + # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image + # pour la SantÈ) + # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton + # Previous Authors : Laurent Guigues, Jean-Pierre Roux + # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil + # + # This software is governed by the CeCILL-B license under French law and + # abiding by the rules of distribution of free software. You can use, + # modify and/ or redistribute the software under the terms of the CeCILL-B + # license as circulated by CEA, CNRS and INRIA at the following URL + # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html + # or in the file LICENSE.txt. + # + # As a counterpart to the access to the source code and rights to copy, + # modify and redistribute granted by the license, users are provided only + # with a limited warranty and the software's author, the holder of the + # economic rights, and the successive licensors have only limited + # liability. + # + # The fact that you are presently reading this means that you have had + # knowledge of the CeCILL-B license and that you accept its terms. + # ------------------------------------------------------------------------ */ + #ifdef _USE_WXWIDGETS_ //========================================================================== @@ -15,8 +41,8 @@ static const wxCmdLineEntryDesc cmdLineDesc[] = { - { wxCMD_LINE_SWITCH, _T("d"), _T("debug"), _T("Debug messages on (message All 9)") }, - { wxCMD_LINE_SWITCH, _T("q"), _T("quiet"), _T("be quiet") }, + { wxCMD_LINE_SWITCH, _T("d"), _T("debug"), _T("debug messages on (message all 9)") }, + { wxCMD_LINE_SWITCH, _T("q"), _T("quiet"), _T("be quiet (message mac 0)") }, { 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") }, @@ -30,12 +56,12 @@ class wxBBIApp : public wxApp { public: bool OnInit( ); - int OnExit() { delete mExecuter; return true; } + int OnExit() { return true; } void OnInitCmdLine(wxCmdLineParser& parser); bool OnCmdLineParsed(wxCmdLineParser& parser); void Run(bbtk::Interpreter*); - bbtk::Executer* mExecuter; + bbtk::Executer::Pointer mExecuter; // int argc; // std::vector argv; bool command; @@ -46,7 +72,7 @@ public: bool text_dialog; std::map param_map; - + }; IMPLEMENT_APP(wxBBIApp); @@ -77,7 +103,7 @@ bool wxBBIApp::OnCmdLineParsed(wxCmdLineParser& parser) std::string right = s.substr(pos+1,s.size()); param_map[left]=right; } - else + else { std::cout << "'" << s << "' option unrecognized : ignored"<SetInputs(param_map); if (help) mExecuter->SetNoExecMode(true); @@ -120,12 +147,12 @@ bool wxBBIApp::OnInit( ) if (text_dialog) mExecuter->SetDialogMode(bbtk::VirtualExec::TextDialog); EXEC_FUNCTION(mExecuter); - + mExecuter->SetNoExecMode(false); - if (help) + if (help) { - std::string package; + std::string package; mExecuter->GetFactory()->HelpBlackBox("workspace",package,false); } } @@ -135,18 +162,17 @@ bool wxBBIApp::OnInit( ) mess += bbtk::std2wx ( e.GetMessage() ); wxMessageBox(mess,_T("Error"),wxOK | wxICON_ERROR); bbtk::Wx::GetTopWindow()->Close(); - delete mExecuter; return false; } - if (help || !bbtk::Wx::IsSomeWindowAlive()) - { + if (help || !bbtk::Wx::IsSomeWindowAlive()) + { return false; } return true; } -#if defined(_WIN32) +#if defined(_WIN32) // How to have a Console and wxWidgets // http://www.wxwidgets.org/wiki/index.php/MSVC_Setup_Guide @@ -155,11 +181,11 @@ bool wxBBIApp::OnInit( ) // you need to use the linker option "/subsystem:console" and the following code: int main(int argc, char* argv[]) { - return WinMain(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), + return WinMain(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), SW_SHOWNORMAL); } -#endif // defined(_WIN32) +#endif // defined(_WIN32) #else @@ -183,7 +209,7 @@ int main(int argc, char* argv[]) { I.CommandLineInterpreter(); } - else + else { std::string f(argv[1]); I.InterpretFile(f);