X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=kernel%2Fsrc%2FbbtkWxGUIScriptingInterface.cxx;h=4425cc80e7b865e5ddb0ea000b83a67d7aa30f06;hb=899e84df04040566381e7252faa0b47d0863baca;hp=4c4854574e473fc8a168724975f6bb4f5ad729b4;hpb=0560c4b2ff28c9defa654f9c3af9b8275a3c85ff;p=bbtk.git diff --git a/kernel/src/bbtkWxGUIScriptingInterface.cxx b/kernel/src/bbtkWxGUIScriptingInterface.cxx index 4c48545..4425cc8 100644 --- a/kernel/src/bbtkWxGUIScriptingInterface.cxx +++ b/kernel/src/bbtkWxGUIScriptingInterface.cxx @@ -1,32 +1,39 @@ -/*========================================================================= +/* + # --------------------------------------------------------------------- + # + # 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. + # ------------------------------------------------------------------------ */ + + +/*========================================================================= Program: bbtk Module: $RCSfile: bbtkWxGUIScriptingInterface.cxx,v $ Language: C++ - Date: $Date: 2011/03/21 11:18:00 $ - Version: $Revision: 1.45 $ + Date: $Date: 2012/11/16 08:49:01 $ + Version: $Revision: 1.49 $ =========================================================================*/ -/* --------------------------------------------------------------------- - -* Copyright (c) CREATIS-LRMN (Centre de Recherche en Imagerie Medicale) -* Authors : Eduardo Davila, Laurent Guigues, Jean-Pierre Roux -* -* 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. -* ------------------------------------------------------------------------ */ + /** @@ -54,6 +61,8 @@ #include "bbtkWxStreamRedirector.h" #include "bbtkUtilities.h" +#include "creaWx.h" + #include #include @@ -505,7 +514,7 @@ namespace bbtk { m_mgr.Update(); Refresh(); - wxMessageBox(_T(" bbStudio\nThe Black Box Toolkit Development Studio\n(c) CREATIS-LRMN 2008\n\n http://www.creatis.insa-lyon.fr/site/en/CreaTools_home"), + wxMessageBox(_T(" bbStudio\nThe Black Box Toolkit Development Studio\n(c) CREATIS 2008\n\n http://www.creatis.insa-lyon.fr/site/en/CreaTools_home"), _T("About ..."), wxOK | wxICON_INFORMATION, this); } @@ -739,37 +748,62 @@ std::cout << "================================================================== //================================================================ + /** + * Event Handler for the plug package menu. + * This method prompts the user for the directory where the bbtkPackage file is + * located and associates the related package with the configuration file. + * @param event event not used. + */ + + //DFGO - 8/10/2012 void WxGUIScriptingInterface::OnMenuPlugPackage(wxCommandEvent& WXUNUSED(event)) { long style = wxDD_DEFAULT_STYLE | wxDD_DIR_MUST_EXIST; - wxDirDialog* FD = - new wxDirDialog( 0, + wxDirDialog* FD = + new wxDirDialog( 0, _T("Select package directory"), _T(""), style); - - if (FD->ShowModal()==wxID_OK) - { - std::string path = wx2std (FD->GetPath()) ; - std::string fname = path + "/bbtkPackage"; - if ( ! Utilities::FileExists( fname ) ) - { - wxString err(_T("The directory does not contain a 'bbtkPackage' file")); - wxMessageBox(err,_T("Plug package"),wxOK | wxICON_ERROR); - return; - } - - std::ifstream f; - f.open(fname.c_str()); - std::string pname; - f >> pname; - f.close(); - - bbtk::ConfigurationFile::GetInstance().AddPackagePathsAndWrite( path ); - - DoRegeneratePackageDoc(pname); - DoRegenerateBoxesLists(); - } + long userResponse; + do + { + userResponse = FD->ShowModal(); + if(userResponse==wxID_OK) + { + std::string path = wx2std (FD->GetPath()) ; + std::string fname = path + "/bbtkPackage"; + std::cout << "Path chosen = \"" << FD->GetPath() << "\"" << std::endl; + if ( Utilities::FileExists( fname ) ) + { + std::ifstream f; + f.open(fname.c_str()); + std::string pname; + f >> pname; + f.close(); + + bbtk::ConfigurationFile::GetInstance().AddPackagePathsAndWrite( path ); + + DoRegeneratePackageDoc(pname); + DoRegenerateBoxesLists(); + + wxMessageBox(_T("Package successfully plugged"),_T("Plug package"),wxOK | wxICON_INFORMATION); + + userResponse = wxID_CANCEL; + } + else + { + std::string err = "The directory \"" + path + "\" does not contain a 'bbtkPackage' file."; + #ifndef WIN32 + #ifndef MACOSX + err += "\nNote: If you are on Linux please select the folder and click \"Open\", don't enter in it."; + #endif + #endif + + + wxMessageBox(crea::std2wx(err),_T("Plug package"),wxOK | wxICON_ERROR); + } + } + }while(userResponse != wxID_CANCEL); } //================================================================ @@ -837,7 +871,7 @@ std::cout << "================================================================== printf("EED WxGUIScriptingInterface::WxGUIHtmlBrowserUserOnLinkClicked cc %s \n",commandPath.c_str() ); // cleanning path - while (commandPath.rfind("\\\\")!=-1 ) + while ((int)commandPath.rfind("\\\\")!=-1 ) { commandPath.erase( commandPath.rfind("\\\\") , 1 ); printf("EED WxGUIScriptingInterface::WxGUIHtmlBrowserUserOnLinkClicked cc %s \n",commandPath.c_str() );