X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=kernel%2Fsrc%2FbbtkWxGUIScriptingInterface.cxx;h=c311ee2aaa303367d4b2a0c413eed65ce129db91;hb=30b4292974380b80ab23dedc97aa2585ed0cc8f7;hp=6e20b0333eb13df2d84c9076dcff3801297b8109;hpb=a280c10c9ba7730cd9105a91bf1a40e72503a6e3;p=bbtk.git diff --git a/kernel/src/bbtkWxGUIScriptingInterface.cxx b/kernel/src/bbtkWxGUIScriptingInterface.cxx index 6e20b03..c311ee2 100644 --- a/kernel/src/bbtkWxGUIScriptingInterface.cxx +++ b/kernel/src/bbtkWxGUIScriptingInterface.cxx @@ -2,8 +2,8 @@ Program: bbtk Module: $RCSfile: bbtkWxGUIScriptingInterface.cxx,v $ Language: C++ - Date: $Date: 2009/11/05 16:47:42 $ - Version: $Revision: 1.39 $ + Date: $Date: 2009/12/08 14:10:36 $ + Version: $Revision: 1.40 $ =========================================================================*/ /* --------------------------------------------------------------------- @@ -57,6 +57,7 @@ #include #include + //#include "icons/cc_run.xpm" namespace bbtk @@ -509,7 +510,7 @@ namespace bbtk std::string configFile = ConfigurationFile::GetInstance().Get_config_xml_full_path(); Open(configFile); - wxMessageDialog ww(NULL,_T("If you change the bbtk_config.xml, you have to reinicialice this appliaction..."), _T("Alert !"), wxOK); + wxMessageDialog ww(NULL,_T("If you change the bbtk_config.xml, you have to restart this appliaction..."), _T("Alert !"), wxOK); ww.ShowModal(); } //================================================================ @@ -697,8 +698,6 @@ namespace bbtk command += " -q"; bbtkMessage("debug",1,"Executing system command '"<3) && (target[s-1]=='s') - && (target[s-2]=='b') - && (target[s-3]=='b') - && (target[s-4]=='.')) - { - mWxGUITextEditor->Open(target); -#if NOTEBOOK - mwxNotebook->SetSelection(0); -#endif - mWxGUITextEditor->SetFocus(); - return false; - } + && (target[s-2]=='b') + && (target[s-3]=='b') + && (target[s-4]=='.')) + { + mWxGUITextEditor->Open(target); + #if NOTEBOOK + mwxNotebook->SetSelection(0); + #endif + mWxGUITextEditor->SetFocus(); + return false; + } + + if ((s>3) && (target[s-1]=='f') + && (target[s-2]=='d') + && (target[s-3]=='p') + && (target[s-4]=='.')) + { + + // Open pdf in linux + // gnome-open target + + // Open pdf in macOS + + // Open pdf in windows + int size=target.size(); + int pos=target.rfind("\\"); + std::string commandStart("start "); + std::string commandPath("/D \""+target.substr(0,pos) +"\""); + std::string commandPDF( target.substr(pos+1,size-pos+1) ); + + printf("EED WxGUIScriptingInterface::WxGUIHtmlBrowserUserOnLinkClicked cc %s \n",commandPath.c_str() ); + // cleanning path + while (commandPath.rfind("\\\\")!=-1 ) + { + commandPath.erase( commandPath.rfind("\\\\") , 1 ); + printf("EED WxGUIScriptingInterface::WxGUIHtmlBrowserUserOnLinkClicked cc %s \n",commandPath.c_str() ); + } + + std::string command = commandStart+commandPath+" "+commandPDF; + printf("EED WxGUIScriptingInterface::WxGUIHtmlBrowserUserOnLinkClicked BB %s \n",command.c_str() ); + system( command.c_str() ); + return false; + } return true; } //================================================================