]> Creatis software - bbtkGEditor.git/blobdiff - lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/bbtkwxGUIEditorGraphicBBS.cxx
It is possible to execute the simplest diagram :) Perfect !!!
[bbtkGEditor.git] / lib / EditorGraphicBBS / bbsWxGUIEditorGraphic / bbtkwxGUIEditorGraphicBBS.cxx
index bafa007f88e0dc97733875493bc1da8fca77d973..9c63350ffa8a46baedc00a0693f337a46ef478ca 100644 (file)
@@ -91,14 +91,16 @@ namespace bbtk
                wxToolBar  *_toolbar = new wxToolBar(this, wxID_ANY);
 
                //Adds a tool btn to the toolbar
-               _toolbar->AddTool(wxID_NEW,_T("New"),bmp_new, wxNullBitmap, wxITEM_NORMAL,_T("New tab"), _T("Create a new panel tab"));
+               _toolbar->AddTool(1000,_T("New"),bmp_new, wxNullBitmap, wxITEM_NORMAL,_T("New tab"), _T("Create a new panel tab"));
+               _toolbar->AddTool(1001,_T("Execute"),bmp_new, wxNullBitmap, wxITEM_NORMAL,_T("Execute actual diagram"), _T("Execute actual diagram"));
 
                _toolbar->SetMargins( 2, 2 );
                _toolbar->Realize();
                SetToolBar(_toolbar);
 
                // connect command event handlers
-               Connect(wxID_NEW,wxEVT_COMMAND_TOOL_CLICKED,wxCommandEventHandler(wxGUIEditorGraphicBBS::OnToolLeftClick));
+               Connect(1000,wxEVT_COMMAND_TOOL_CLICKED,wxCommandEventHandler(wxGUIEditorGraphicBBS::OnToolLeftClick));
+               Connect(1001,wxEVT_COMMAND_TOOL_CLICKED,wxCommandEventHandler(wxGUIEditorGraphicBBS::OnToolLeftClick));
 
        }
        //=========================================================================
@@ -283,6 +285,50 @@ namespace bbtk
 
        //=========================================================================
 
+       void wxGUIEditorGraphicBBS::executeActualDiagram()
+       {
+               std::string script = _tabsMgr->getActualDiagramScript();
+               cout<<"RaC wxGUIEditorGraphicBBS::executeActualDiagram SCRIPT"<<endl;
+               cout<<script<<endl;
+
+
+               std::string separator = ConfigurationFile::GetInstance().Get_file_separator ();
+               std::string dir = ConfigurationFile::GetInstance().Get_default_temp_dir();
+               std::string filename = dir + separator + "tmp_bbtk.bbs";
+               
+               ofstream tempFile;
+               tempFile.open(filename.c_str());
+               tempFile << script;
+               tempFile.close();
+               
+               std::string command = "\"";
+
+               #ifdef WIN32
+                       command += "\"";
+               #endif
+
+               //command += ConfigurationFile::GetInstance().Get_bin_path();
+               command +="C:/RaC/CREATIS/bbtkBIN/RelWithDebInfo//";
+
+               #ifdef MACOSX
+                       command += separator + "bbi.app/Contents/MacOS/bbi\" ";
+               #else 
+                       command += separator + "bbi\" ";
+               #endif
+               command += "\""+filename + "\"";
+
+               #ifdef WIN32
+                       command += "\"";
+               #endif
+
+               command += " & ";
+                 
+               printf ("RaC wxGUIEditorGraphicBBS::executeActualDiagram %s \n" , command.c_str() );
+               system( command.c_str() );
+       }
+
+       //=========================================================================
+
        /*****************************************************
        /* HANDLERS 
        /*****************************************************/
@@ -291,9 +337,13 @@ namespace bbtk
        {
                switch (event.GetId())
                {
-               case wxID_NEW :
-                       _tabsMgr->addNewTab();
-                       break;                  
+                       case 1000 :
+                               _tabsMgr->addNewTab();
+                       break;  
+
+                       case 1001 :
+                               executeActualDiagram();
+                       break;  
                }
        }