]> Creatis software - bbtkGEditor.git/blobdiff - lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/bbtkwxGUIEditorGraphicBBS.cxx
Fixing last details of the edition dialog new name
[bbtkGEditor.git] / lib / EditorGraphicBBS / bbsWxGUIEditorGraphic / bbtkwxGUIEditorGraphicBBS.cxx
index 6049911d6ddceab8ccc1aed7075a6a4559b16a0d..77caf4593a5f7a53a3ad334f4c5128d4c580b698 100644 (file)
@@ -34,6 +34,7 @@ Version:   $Revision$
 */
 
 #include "bbtkwxGUIEditorGraphicBBS.h"
+#include "creaWx.h"
 
 namespace bbtk
 {
@@ -67,10 +68,11 @@ namespace bbtk
                initTabPanelsManager();
                initPackageBrowser();
                initHelpHTMLBrowser();
-               initPropertiesPanel();
 
                CreateStatusBar();
                _frameAUIMgr->Update();
+               _actualPkgBrowserBoxName="";
+               _actualPkgBrowserPkgName="";
        }
 
 
@@ -89,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));
 
        }
        //=========================================================================
@@ -133,9 +137,9 @@ namespace bbtk
        //=========================================================================
        void wxGUIEditorGraphicBBS::initTabPanelsManager()
        {
-               wxAuiNotebook *notebook = new wxAuiNotebook(this,wxID_ANY,wxDefaultPosition,wxDefaultSize,wxAUI_NB_TOP|wxAUI_NB_TAB_MOVE|wxAUI_NB_CLOSE_ON_ACTIVE_TAB|wxAUI_NB_TAB_FIXED_WIDTH|wxAUI_NB_WINDOWLIST_BUTTON);
-               _tabsMgr = new wxTabPanelsManager(notebook);
-               _frameAUIMgr->AddPane(notebook,wxAuiPaneInfo().CenterPane());   
+               _notebook = new wxAuiNotebook(this,wxID_ANY,wxDefaultPosition,wxDefaultSize,wxAUI_NB_TOP|wxAUI_NB_TAB_MOVE|wxAUI_NB_CLOSE_ON_ACTIVE_TAB|wxAUI_NB_TAB_FIXED_WIDTH|wxAUI_NB_WINDOWLIST_BUTTON);
+               _tabsMgr = new wxTabPanelsManager(this);
+               _frameAUIMgr->AddPane(_notebook,wxAuiPaneInfo().CenterPane());  
 
        }
        
@@ -149,14 +153,6 @@ namespace bbtk
 
        //================================================================
 
-       void wxGUIEditorGraphicBBS::initPropertiesPanel()
-       {
-               _propertiesPanel = new wxPropertiesPanel(this);
-               _frameAUIMgr->AddPane(_propertiesPanel,wxAuiPaneInfo().Right().MinSize(200,200).CloseButton(false).Floatable(false));
-       }
-
-       //================================================================
-
        void wxGUIEditorGraphicBBS::DoRegeneratePackageDoc( const std::string& pack )
        {
                std::string mess("Regenerating doc for package '");
@@ -251,7 +247,95 @@ namespace bbtk
                DoRegenerateBoxesLists();
        }
 
-  //================================================================
+       //================================================================
+
+       wxAuiNotebook* wxGUIEditorGraphicBBS::getAuiNotebook()
+       {
+               return _notebook;
+       }
+
+       //================================================================
+
+       void wxGUIEditorGraphicBBS::displayBlackBoxInfo(std::string packageName, std::string boxName)
+       {
+               if(_actualPkgBrowserPkgName != packageName || _actualPkgBrowserBoxName != boxName )
+               {
+                       _actualPkgBrowserPkgName = packageName;
+                       _actualPkgBrowserBoxName = boxName;
+
+                       BlackBoxDescriptor::Pointer descriptor = GObjectsMVCFactory::getInstance()->getBlackBoxDescriptor(packageName, boxName);
+                       _pkgBrowser->WxGUIBlackBoxListUserOnSelected(descriptor.get());
+               }
+       }
+
+       //=========================================================================
+
+       void wxGUIEditorGraphicBBS::editBlackBox(GBlackBoxModel *bbmodel)
+       {
+               wxBlackBoxEditionDialog* dialog = new wxBlackBoxEditionDialog(this,bbmodel);
+               dialog->Show();
+       }
+
+       //=========================================================================
+
+       void wxGUIEditorGraphicBBS::editDiagramParameters(wxVtkSceneManager* scene)
+       {
+               wxBlackBoxEditionDialog* dialog = new wxBlackBoxEditionDialog(this,scene);
+               dialog->Show();
+       }
+
+       //=========================================================================
+
+       void wxGUIEditorGraphicBBS::updateStatusBar(std::string textStatus)
+       {
+               SetStatusText(crea::std2wx(textStatus));
+       }
+
+       //=========================================================================
+
+       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 
@@ -261,10 +345,13 @@ namespace bbtk
        {
                switch (event.GetId())
                {
-               case wxID_NEW :
-                       std::cout<<"RaC New"<<std::endl;
-                       _tabsMgr->addNewTab();
-                       break;                  
+                       case 1000 :
+                               _tabsMgr->addNewTab();
+                       break;  
+
+                       case 1001 :
+                               executeActualDiagram();
+                       break;  
                }
        }