#include #include #include // for getenv class myApp : public wxApp { public: bool OnInit( ); int OnExit() { return true; } }; IMPLEMENT_APP(myApp); CREA_WXMAIN_WITH_CONSOLE bool myApp::OnInit( ) { wxApp::OnInit(); #ifdef __WXGTK__ //See http://www.wxwindows.org/faqgtk.htm#locale setlocale(LC_NUMERIC, "C"); #endif wxInitAllImageHandlers(); wxString dir = wxDirSelector(_T("Select directory in which to create the project"), _T(""), wxDD_DEFAULT_STYLE | wxDD_DIR_MUST_EXIST ); if (dir.IsEmpty()) return false; wxString name = wxGetTextFromUser(_T("Enter project name"), _T("creaNewProject"), _T("New")); if (name.IsEmpty()) return false; char * install_Dir = getenv("bbtk_DIR"); std::string execGUICreateNewPackage(install_Dir); execGUICreateNewPackage = "bbi " + execGUICreateNewPackage; #if(_WIN32) std::string command("creaNewProject.bat "); std::string command1("creaSed.exe "); std::string command2("del "); command += "\"" + crea::wx2std(dir) + "\" \"" + crea::wx2std(name) + "\""; command1 += "\"" + crea::wx2std(dir)+"\\"+crea::wx2std(name)+"\\CMakeLists.txt.in\" " + "NameOfTheProject " + crea::wx2std(name) + "> \"" + crea::wx2std(dir)+"\\"+crea::wx2std(name)+"\\CMakeLists.txt\""; command2 += "\"" + crea::wx2std(dir)+"\\"+crea::wx2std(name)+"\\CMakeLists.txt.in\""; if ( ! system ( command.c_str() ) ) { system ( command1.c_str() ); system ( command2.c_str() ); wxMessageBox(_T("Done !"),_T("creaNewProject"), wxOK | wxICON_INFORMATION); // Create a Package at the same time. JPR execGUICreateNewPackage += "\..\..\..\share\bbtk\bbs\toolsbbtk\appli\GUICreatePackage.bbs"; system(execGUICreateNewPackage.c_str()); } else { wxString err(_T("An error occured while running '")); err += crea::std2wx(command) + _T("'"); wxMessageBox(err,_T("creaNewProject"),wxOK | wxICON_ERROR); } #else std::string command("creaNewProject.sh "); command += "\"" + crea::wx2std(dir) + "\"" +" " + crea::wx2std(name); if ( ! system ( command.c_str() ) ) { wxMessageBox(_T("Done !"),_T("creaNewProject"), wxOK | wxICON_INFORMATION); // Create a Package at the same time. JPR execGUICreateNewPackage += "/../../../share/bbtk/bbs/toolsbbtk/appli/GUICreatePackage.bbs"; system(execGUICreateNewPackage.c_str()); } else { wxString err(_T("An error occured while running '")); err += crea::std2wx(command) + _T("'"); wxMessageBox(err,_T("creaNewProject"),wxOK | wxICON_ERROR); } #endif return false; }