X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=kernel%2Fsrc%2FbbtkWxGUIScriptingInterface.cxx;h=245e1f2a927ebfcb3258f1c350b2090e3b66b68f;hb=4234999264604da013c2574feef3816c75b3034e;hp=2eb5ebe67162a14d6c4aa3d04773e42d93bc4fc2;hpb=021237c756df811984977630aa73e724531aad06;p=bbtk.git diff --git a/kernel/src/bbtkWxGUIScriptingInterface.cxx b/kernel/src/bbtkWxGUIScriptingInterface.cxx index 2eb5ebe..245e1f2 100644 --- a/kernel/src/bbtkWxGUIScriptingInterface.cxx +++ b/kernel/src/bbtkWxGUIScriptingInterface.cxx @@ -1,20 +1,35 @@ -/*========================================================================= - +/*========================================================================= Program: bbtk Module: $RCSfile: bbtkWxGUIScriptingInterface.cxx,v $ Language: C++ - Date: $Date: 2008/09/10 12:38:24 $ - Version: $Revision: 1.18 $ - - Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de - l'Image). All rights reserved. See Doc/License.txt or - http://www.creatis.insa-lyon.fr/Public/bbtk/License.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. See the above copyright notices for more information. - -=========================================================================*//** + Date: $Date: 2008/10/21 14:38:31 $ + Version: $Revision: 1.31 $ +=========================================================================*/ + +/* --------------------------------------------------------------------- + +* 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. +* ------------------------------------------------------------------------ */ + + +/** * \brief Short description in one line * * Long description which @@ -54,7 +69,10 @@ namespace bbtk ID_Menu_CreatePackage, ID_Menu_CreateBlackBox, ID_Menu_ShowImageGraph, - ID_Menu_CreateIndex, + ID_Menu_RegeneratePackageDoc, + ID_Menu_RegenerateBoxesLists, + ID_Menu_RegenerateAll, + ID_Menu_PlugPackage, ID_Menu_Windows_Files, ID_Menu_Windows_Help, ID_Menu_Windows_Messages, @@ -92,8 +110,13 @@ namespace bbtk wxMenu *menuTools = new wxMenu; menuTools->Append( ID_Menu_CreatePackage, _T("Create &package") ); menuTools->Append( ID_Menu_CreateBlackBox, _T("Create &black box") ); - menuTools->Append( ID_Menu_ShowImageGraph, _T("&Show last image graph") ); - menuTools->Append( ID_Menu_CreateIndex, _T("&Generate index") ); + menuTools->Append( ID_Menu_PlugPackage, _T("&Plug package") ); + menuTools->AppendSeparator(); + menuTools->Append( ID_Menu_RegeneratePackageDoc,_T("Regenerate package &doc") ); + menuTools->Append( ID_Menu_RegenerateBoxesLists,_T("Regenerate boxes &lists") ); + menuTools->Append( ID_Menu_RegenerateAll,_T("Regenerate &all") ); + menuTools->AppendSeparator(); + menuTools->Append( ID_Menu_ShowImageGraph, _T("&Show last graph") ); wxMenu *menuWindows = new wxMenu; menuWindows->AppendCheckItem(ID_Menu_Windows_Files, @@ -105,7 +128,7 @@ namespace bbtk menuWindows->AppendCheckItem(ID_Menu_Windows_Command, _T("Show 'command' panel") )->Check(); menuWindows->AppendSeparator(); - menuWindows->Append( ID_Menu_Windows_PackageBrowser, _T("Launch Package &Browser") ); + menuWindows->Append( ID_Menu_Windows_PackageBrowser, _T("Start Package &Browser") ); // menuWindows->AppendSeparator(); // menuWindows->Append ( ID_Menu_Windows_Save, _T("Save interface configuration")); @@ -267,7 +290,7 @@ namespace bbtk } \ catch (InterpreterError e) \ { \ - std::cerr << "* IERROR : "<InterpretFile(command); +*/ + std::string command("reset"); + mWxGUICommand->SendCommand(command); + command = "include toolsbbtk/appli/GUICreatePackage"; + bbtkMessage("Debug",1,"Executing : '"<SendCommand(command); } //================================================================ @@ -405,11 +434,18 @@ namespace bbtk //================================================================ void WxGUIScriptingInterface::OnMenuCreateBlackBox(wxCommandEvent& WXUNUSED(event)) { + /* std::string command("toolsbbtk/appli/GUICreateBlackBox"); bbtkMessage("Debug",1,"Executing : '"<InterpretFile(command); +*/ + std::string command("reset"); + mWxGUICommand->SendCommand(command); + command = "include toolsbbtk/appli/GUICreateBlackBox"; + bbtkMessage("Debug",1,"Executing : '"<SendCommand(command); } //================================================================ @@ -430,28 +466,131 @@ namespace bbtk } //================================================================ + void WxGUIScriptingInterface::DoRegeneratePackageDoc( const std::string& pack ) + { + std::string command; +#if defined(WIN32) + command = "\""; +#endif + command += ConfigurationFile::GetInstance().Get_bin_path(); + command += ConfigurationFile::GetInstance().Get_file_separator(); + command += "bbRegeneratePackageDoc"; +#if defined(WIN32) + command += "\""; +#endif + command += " " + pack + " -q"; + bbtkMessage("debug",1,"Executing system command '"<InterpretLine( "config"); - I->InterpretLine( "message echo 2"); - I->InterpretLine( "exec freeze"); - I->InterpretLine( "include *"); - I->InterpretLine( "help packages"); - I->InterpretLine( "index "+doc_path+"/bbdoc/index-alpha.html Initials"); - I->InterpretLine( "index "+doc_path+"/bbdoc/index-package.html Packages"); - I->InterpretLine( "index "+doc_path+"/bbdoc/index-category.html Categories"); - I->InterpretLine( "index "+doc_path+"/bbdoc/index-adaptors.html Adaptors"); - + void WxGUIScriptingInterface::DoRegenerateBoxesLists() + { + std::string command; +#if defined(WIN32) + command = "\""; +#endif + command += ConfigurationFile::GetInstance().Get_bin_path(); + command += ConfigurationFile::GetInstance().Get_file_separator(); + command += "bbRegenerateBoxesLists"; +#if defined(WIN32) + command += "\""; +#endif + command += " -q"; + bbtkMessage("debug",1,"Executing system command '"<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(); + + } + } + //================================================================ //================================================================ void WxGUIScriptingInterface::InterpreterUserViewHtmlPage(const std::string& page) @@ -549,9 +688,9 @@ namespace bbtk f.open(fname.c_str(), std::ios::out ); f << conf << std::endl; - int x,y; - GetPosition(&x,&y); - f << x << " " << y << std::endl; + // int x,y; + // GetPosition(&x,&y); + // f << x << " " << y << std::endl; int w,h; @@ -577,8 +716,8 @@ namespace bbtk std::string conf; f >> conf; - int x,y; - f >> x >> y ; + // int x,y; + // f >> x >> y ; int w,h; f >> w >> h ; @@ -587,7 +726,7 @@ namespace bbtk // std::cout << conf << std::endl; - Move(x,y); + // Move(x,y); SetSize(w,h); m_mgr.LoadPerspective(std2wx(conf)); } @@ -616,7 +755,10 @@ namespace bbtk EVT_MENU(ID_Menu_CreatePackage, WxGUIScriptingInterface::OnMenuCreatePackage) EVT_MENU(ID_Menu_CreateBlackBox, WxGUIScriptingInterface::OnMenuCreateBlackBox) EVT_MENU(ID_Menu_ShowImageGraph, WxGUIScriptingInterface::OnMenuShowImageGraph) - EVT_MENU(ID_Menu_CreateIndex, WxGUIScriptingInterface::OnMenuCreateIndex) + EVT_MENU(ID_Menu_RegeneratePackageDoc, WxGUIScriptingInterface::OnMenuRegeneratePackageDoc) + EVT_MENU(ID_Menu_RegenerateBoxesLists, WxGUIScriptingInterface::OnMenuRegenerateBoxesLists) + EVT_MENU(ID_Menu_RegenerateAll, WxGUIScriptingInterface::OnMenuRegenerateAll) + EVT_MENU(ID_Menu_PlugPackage, WxGUIScriptingInterface::OnMenuPlugPackage) EVT_MENU(ID_Menu_Windows_Files, WxGUIScriptingInterface::OnMenuWindowsFiles) EVT_MENU(ID_Menu_Windows_Help, WxGUIScriptingInterface::OnMenuWindowsHelp) EVT_MENU(ID_Menu_Windows_Messages, WxGUIScriptingInterface::OnMenuWindowsMessages)