]> Creatis software - bbtkGEditor.git/commitdiff
Feature #1758
authordavila <>
Wed, 14 Nov 2012 07:39:52 +0000 (07:39 +0000)
committerdavila <>
Wed, 14 Nov 2012 07:39:52 +0000 (07:39 +0000)
Edit ScriptApplication and ScriptCB  (edit examples scripts)

clean debug comments

lib/EditorGraphicBBS/bbsKernelEditorGraphic/GlobalConstants.h
lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/bbtkwxGUIEditorGraphicBBS.cxx
lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/bbtkwxGUIEditorGraphicBBS.h
lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxBlackBoxEditionDialog.cxx
lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxGEditorTabPanel.cxx
lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxGEditorTabPanel.h
lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxTabPanelsManager.cxx
lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxTabPanelsManager.h
lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.cxx
lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.h

index b21d18e68c572f46db0fdd4598a87b60a77d2ef8..c1159ac19d145d6269c0c60ea4bce82bfd9b209c 100644 (file)
@@ -185,6 +185,7 @@ namespace bbtk {
        const int ID_HELP_BBEDITOR                              =       1014;
        const int ID_BTEXECUTABLEBOX                    =       1016; // EED
        const int ID_EXPORT_CONSOLEAPP                  =       1017; // RaC
+       const int ID_EDIT_COMPLEXBOX_SCRIPT             =       1018; // EED
        
        const int wxID_NOTEBOOK                                 =       1018;  // EED updated
        
index e7a93620d5d2595955f55a1ad5f0c3eff37b481b..377f625fd6f7f914041541df17b8bc339830354d 100644 (file)
@@ -252,27 +252,21 @@ void wxGUIEditorGraphicBBS::initMenu() {
                        wxCommandEventHandler(wxGUIEditorGraphicBBS::OnOpenBBS));
        Connect(ID_SAVE_AS_BBS, wxEVT_COMMAND_MENU_SELECTED,
                        wxCommandEventHandler(wxGUIEditorGraphicBBS::OnSaveActualBBS));
-       Connect(
-                       ID_SAVE_AS_COMPLEXBOX,
-                       wxEVT_COMMAND_MENU_SELECTED,
+       Connect( ID_SAVE_AS_COMPLEXBOX, wxEVT_COMMAND_MENU_SELECTED,
                        wxCommandEventHandler(wxGUIEditorGraphicBBS::OnSaveActualComplexBox));
-       Connect(
-                       ID_EXPORT_CONSOLEAPP,
-                               wxEVT_COMMAND_MENU_SELECTED,
+       Connect( ID_EXPORT_CONSOLEAPP, wxEVT_COMMAND_MENU_SELECTED,
                                wxCommandEventHandler(wxGUIEditorGraphicBBS::OnExportConsoleExecCommand));
        Connect(wxID_EXIT, wxEVT_COMMAND_MENU_SELECTED,
                        wxCommandEventHandler(wxGUIEditorGraphicBBS::OnExit));
 
-       // Create Help menu and its items
+       // Create Edit menu and its items
        wxMenu *editMenu = new wxMenu;
-       editMenu->Append(ID_COPY_TO_COMPLEXDIAGRAM,
-                       _T("Copy selected to complex box"),
-                       _T("Creates a new complex box diagram with selected boxes"));
-
-       Connect(
-                       ID_COPY_TO_COMPLEXDIAGRAM,
-                       wxEVT_COMMAND_MENU_SELECTED,
-                       wxCommandEventHandler(wxGUIEditorGraphicBBS::OnCopySelectedToComplexDiagram));
+       editMenu->Append(ID_COPY_TO_COMPLEXDIAGRAM, _T("Copy selected to complex box"), _T("Creates a new complex box diagram with selected boxes"));
+       editMenu->Append(ID_EDIT_COMPLEXBOX_SCRIPT, _T("Edit Complex Box"), _T("Edit Complex Box"));
+       Connect( ID_COPY_TO_COMPLEXDIAGRAM, wxEVT_COMMAND_MENU_SELECTED,
+                        wxCommandEventHandler(wxGUIEditorGraphicBBS::OnCopySelectedToComplexDiagram));
+       Connect( ID_EDIT_COMPLEXBOX_SCRIPT, wxEVT_COMMAND_MENU_SELECTED,
+                       wxCommandEventHandler(wxGUIEditorGraphicBBS::OnEditComplexBoxScript));
 
        // Create Help menu and its items
        wxMenu *helpMenu = new wxMenu;
@@ -593,29 +587,47 @@ void wxGUIEditorGraphicBBS::OnExecuteActualDiagram(wxCommandEvent& event) {
        executeScript(script2);
 }
 
+       
+//=========================================================================
+void wxGUIEditorGraphicBBS::OpenBBS(std::string filePathName, std::string fileName) 
+{
+       _tabsMgr->addNewTab( crea::std2wx(fileName) );
+       bbtk::InterpreterBBS::Pointer I = bbtk::InterpreterBBS::New( this->_tabsMgr->getActualTabPanel()->getSceneManager(), _pkgBrowser->GetFactory());
+       // We tell the interpreter to throw exceptions on error
+       I->SetThrow(true);
+       // Interpret the file supposed to define a box called 'Processing'
+       I->InterpretFile( filePathName );
+       refreshGUIControls();
+}
+       
 //=========================================================================
 // HANDLERS
 //=========================================================================
-void wxGUIEditorGraphicBBS::OnOpenBBS(wxCommandEvent& event) {
-       wxFileDialog * openFileDialog = new wxFileDialog(this, wxT("Open BBS"),
-                       wxEmptyString, wxT("NewBBS"), wxT("*.bbs"), wxOPEN);
-       if (openFileDialog->ShowModal() == wxID_OK) {
-               wxString fileName = openFileDialog->GetPath();
+void wxGUIEditorGraphicBBS::OnOpenBBS(wxCommandEvent& event) 
+{
+       wxFileDialog * openFileDialog = new wxFileDialog(this, wxT("Open BBS"), wxEmptyString, wxT("NewBBS"), wxT("*.bbs"), wxOPEN);
 
+       if (openFileDialog->ShowModal() == wxID_OK) 
+       {
+               OpenBBS( crea::wx2std(openFileDialog->GetPath()) , crea::wx2std(openFileDialog->GetFilename())  );
+       }
+       
+/*EED Borrame  
+       if (openFileDialog->ShowModal() == wxID_OK) 
+       {
+               wxString fileName = openFileDialog->GetPath();
                _tabsMgr->addNewTab(openFileDialog->GetFilename());
-
-               bbtk::InterpreterBBS::Pointer I = bbtk::InterpreterBBS::New(
-                               this->_tabsMgr->getActualTabPanel()->getSceneManager(),
-                               _pkgBrowser->GetFactory());
-
+               bbtk::InterpreterBBS::Pointer I = bbtk::InterpreterBBS::New( this->_tabsMgr->getActualTabPanel()->getSceneManager(), _pkgBrowser->GetFactory());
                // We tell the interpreter to throw exceptions on error
                I->SetThrow(true);
                // Interpret the file supposed to define a box called 'Processing'
                I->InterpretFile((const char*) (fileName.mb_str()));
        }
        refreshGUIControls();
+*/ 
 }
 
+//=========================================================================
 void wxGUIEditorGraphicBBS::SaveActualBBS(std::string filename) {
        ofstream file;
 
@@ -957,73 +969,70 @@ void wxGUIEditorGraphicBBS::refreshGUIControls() {
 
 //=========================================================================
 
-void wxGUIEditorGraphicBBS::OnDeleteAllBoxesActualDiagram(wxCommandEvent& event) {
-       wxMessageDialog *dial = new wxMessageDialog(NULL,
-                       wxT("Are you sure to delete all boxes of the diagram?"),
-                       wxT("Delete all boxes"), wxYES_NO | wxNO_DEFAULT
-                                       | wxICON_QUESTION);
-       if (dial->ShowModal() == wxID_YES) {
+void wxGUIEditorGraphicBBS::OnDeleteAllBoxesActualDiagram(wxCommandEvent& event) 
+{
+       wxMessageDialog *dial = new wxMessageDialog(NULL,wxT("Are you sure to delete all boxes of the diagram?"),wxT("Delete all boxes"), wxYES_NO | wxNO_DEFAULT| wxICON_QUESTION);
+       if (dial->ShowModal() == wxID_YES)
+       {
                _tabsMgr->deleteAllBoxesActualDiagram();
        }
 }
 
 //=========================================================================
 
-void wxGUIEditorGraphicBBS::OnCenterViewActualDiagram(wxCommandEvent& event) {
+void wxGUIEditorGraphicBBS::OnCenterViewActualDiagram(wxCommandEvent& event) 
+{
        _tabsMgr->centerViewActualDiagram();
 }
 
 //=========================================================================
-
-void wxGUIEditorGraphicBBS::OnOpenDiagram(wxCommandEvent& event) {
-       wxFileDialog * openFileDialog = new wxFileDialog(this, wxT("Open diagram"),
-                       wxEmptyString, wxT(""), wxT("*.bbg"), wxOPEN | wxFILE_MUST_EXIST);
-       printf("SCP: wxGUIEditorGraphicBBS::OnOpenDiagram  \n");
-       if (openFileDialog->ShowModal() == wxID_OK) {
-               wxString filePath = openFileDialog->GetPath();
-               ifstream inputStream;
-               std::string fName = (const char*) (filePath.mb_str());
-
-               inputStream.open(fName.c_str());
-               assert(inputStream.good()); // fails
-
-               if(_tabsMgr->FindTab(crea::wx2std(filePath))!=-1) //RaC2012 avoid opening same diagram twice
-               {
-                       inputStream.close();
-                       printf("RaC: Diagram already opened\n");
-                       return;
-               }
-               wxString fileName = openFileDialog->GetFilename();
-               _tabsMgr->addNewTab(fileName);
-               _tabsMgr->loadDiagram(inputStream, fName);
-               _tabsMgr->saveTempActualDiagram("load diagram");
-               GetToolBar()->EnableTool(ID_UNDO, false);
-               GetToolBar()->EnableTool(ID_UNDO, false);
+void wxGUIEditorGraphicBBS::OpenDiagram(std::string filePathName, std::string fileName) 
+{
+       ifstream inputStream;   
+       inputStream.open(filePathName.c_str());
+       assert(inputStream.good()); // fails
+       
+       if(_tabsMgr->FindTab(filePathName)!=-1) //RaC2012 avoid opening same diagram twice
+       {
                inputStream.close();
+               printf("RaC: Diagram already opened\n");
+               return;
        }
+       _tabsMgr->addNewTab( crea::std2wx(fileName) );
+       _tabsMgr->loadDiagram(inputStream, filePathName);
+       _tabsMgr->saveTempActualDiagram("load diagram");
+       GetToolBar()->EnableTool(ID_UNDO, false);
+       GetToolBar()->EnableTool(ID_UNDO, false);
+       inputStream.close();
        refreshGUIControls();
 }
-
+       
 //=========================================================================
 
+void wxGUIEditorGraphicBBS::OnOpenDiagram(wxCommandEvent& event) 
+{
+       wxFileDialog * openFileDialog = new wxFileDialog(this, wxT("Open diagram"), wxEmptyString, wxT(""), wxT("*.bbg"), wxOPEN | wxFILE_MUST_EXIST);
+       if (openFileDialog->ShowModal() == wxID_OK) 
+       {
+               wxString filePath = openFileDialog->GetPath();
+               wxString fileName = openFileDialog->GetFilename();
+               OpenDiagram( crea::wx2std(filePath) , crea::wx2std(fileName) );                                 
+       }
+}
 
-void wxGUIEditorGraphicBBS::OnClickBtnBox(wxCommandEvent& event) {
+//=========================================================================
+void wxGUIEditorGraphicBBS::OnClickBtnBox(wxCommandEvent& event) 
+{
        BlackBoxDescriptor *bbDes = _pkgBrowser->GetActualSelected();
        if (bbDes != NULL) {
                std::string typeName = bbDes->GetTypeName();
                std::string packageName = bbDes->GetPackage()->GetName();
-
                wxGEditorTabPanel *pnl = this->_tabsMgr->getActualTabPanel();
-               
-
                if (pnl != NULL) {
                        wxVtkSceneManager *scn = pnl->getSceneManager();
-printf("EED wxGUIEditorGraphicBBS::OnClickBtnBox 1.\n");                       
                        scn->createGBlackBox(50, 50, packageName, typeName);
-printf("EED wxGUIEditorGraphicBBS::OnClickBtnBox 2.\n");                       
                        scn->refresh();
                }
-
                SaveTempActualDiagram("New Box");
                // if pnl
        }// if bbDes
@@ -1031,7 +1040,8 @@ printf("EED wxGUIEditorGraphicBBS::OnClickBtnBox 2.\n");
 
 //=========================================================================
 
-void wxGUIEditorGraphicBBS::OnClickBtnExecutableBox(wxCommandEvent& event) {
+void wxGUIEditorGraphicBBS::OnClickBtnExecutableBox(wxCommandEvent& event) 
+{
        //DFCH
        wxGEditorTabPanel *pnl = this->_tabsMgr->getActualTabPanel();
 
@@ -1047,8 +1057,8 @@ void wxGUIEditorGraphicBBS::OnClickBtnExecutableBox(wxCommandEvent& event) {
 }
 
 //=========================================================================
-
-void wxGUIEditorGraphicBBS::OnClickBtnComplexBox(wxCommandEvent& event) {
+void wxGUIEditorGraphicBBS::OnClickBtnComplexBox(wxCommandEvent& event) 
+{
        wxToolBar* toolbar = GetToolBar();
        bool temp = toolbar->GetToolState(ID_BTNCOMPLEXBOX);
        if (temp) {
@@ -1060,7 +1070,8 @@ void wxGUIEditorGraphicBBS::OnClickBtnComplexBox(wxCommandEvent& event) {
 
 //=========================================================================
 
-void wxGUIEditorGraphicBBS::OnAddComplexBoxInput(wxCommandEvent& event) {
+void wxGUIEditorGraphicBBS::OnAddComplexBoxInput(wxCommandEvent& event) 
+{
        wxTextEntryDialog *nameDialog = new wxTextEntryDialog(this,
                        wxT("Name of input port"));
        if (nameDialog->ShowModal() == wxID_OK) {
@@ -1073,8 +1084,8 @@ void wxGUIEditorGraphicBBS::OnAddComplexBoxInput(wxCommandEvent& event) {
 }
 
 //=========================================================================
-
-void wxGUIEditorGraphicBBS::OnAddComplexBoxOutput(wxCommandEvent& event) {
+void wxGUIEditorGraphicBBS::OnAddComplexBoxOutput(wxCommandEvent& event) 
+{
        wxTextEntryDialog *nameDialog = new wxTextEntryDialog(this,
                        wxT("Name of output port"));
        if (nameDialog->ShowModal() == wxID_OK) {
@@ -1087,28 +1098,33 @@ void wxGUIEditorGraphicBBS::OnAddComplexBoxOutput(wxCommandEvent& event) {
 }
 
 //=========================================================================
-
 void wxGUIEditorGraphicBBS::OnCopySelectedToComplexDiagram(
-               wxCommandEvent& event) {
+               wxCommandEvent& event) 
+{
        _tabsMgr->copySelectedBBoxesToComplexDiagram();
 }
 
-void wxGUIEditorGraphicBBS::OnHelpBBeditor(wxCommandEvent& event) {
+//=========================================================================
+void wxGUIEditorGraphicBBS::OnHelpBBeditor(wxCommandEvent& event) 
+{
        printf("wxGUIEditorGraphicBBS::OnHelpBBeditor ....not implemented..\n");
 }
 
 //=========================================================================
-void wxGUIEditorGraphicBBS::OnCreatePackage(wxCommandEvent& event) {
-
+void wxGUIEditorGraphicBBS::OnCreatePackage(wxCommandEvent& event) 
+{
        bbtkSystemTools::CreatePackage();
 }
 
 //=========================================================================
-void wxGUIEditorGraphicBBS::OnCreateBlackBox(wxCommandEvent& event) {
+void wxGUIEditorGraphicBBS::OnCreateBlackBox(wxCommandEvent& event) 
+{
        bbtkSystemTools::CreateBlackBox();
 }
+       
 //=========================================================================
-void wxGUIEditorGraphicBBS::OnPlugPackage(wxCommandEvent& event) {
+void wxGUIEditorGraphicBBS::OnPlugPackage(wxCommandEvent& event) 
+{
        //DFGO2012 Plug Package functionnalities
        long style = wxDD_DEFAULT_STYLE | wxDD_DIR_MUST_EXIST;
        wxDirDialog* FD =
@@ -1160,8 +1176,10 @@ void wxGUIEditorGraphicBBS::OnPlugPackage(wxCommandEvent& event) {
        }while(userResponse != wxID_CANCEL);
 
 }
+       
 //=========================================================================
-void wxGUIEditorGraphicBBS::OnEditConfig(wxCommandEvent& event) {
+void wxGUIEditorGraphicBBS::OnEditConfig(wxCommandEvent& event) 
+{
        std::string commandStr;
            std::string configFile = ConfigurationFile::GetInstance().Get_config_xml_full_path();
        #ifdef WIN32
@@ -1172,10 +1190,11 @@ void wxGUIEditorGraphicBBS::OnEditConfig(wxCommandEvent& event) {
                commandStr = commandStr + configFile;
                std::cout << "system: " << commandStr << std::endl;
                system ( commandStr.c_str() );
-    }
-    //=========================================================================
-
-    void wxGUIEditorGraphicBBS::OnShowHTMLDoc(wxCommandEvent& event) {
+}
+       
+//=========================================================================
+void wxGUIEditorGraphicBBS::OnShowHTMLDoc(wxCommandEvent& event) 
+{
         // JGRR & CM WH
         if (_helpHtmlBrowser != NULL){
              _frameAUIMgr->DetachPane(_helpHtmlBrowser);
@@ -1188,14 +1207,33 @@ void wxGUIEditorGraphicBBS::OnEditConfig(wxCommandEvent& event) {
         
         // EO JGRR    & CM WH       
 }
+       
 //=========================================================================
-void wxGUIEditorGraphicBBS::OnCreateIndex(wxCommandEvent& event) {
+void wxGUIEditorGraphicBBS::OnCreateIndex(wxCommandEvent& event) 
+{
        printf("EED wxGUIEditorGraphicBBS::OnCreateIndex ... not implemented ..\n");
 }
 
+       
 //=========================================================================
+void wxGUIEditorGraphicBBS::OnEditComplexBoxScript(wxCommandEvent& event)
+{
+       BlackBoxDescriptor *bbDes = _pkgBrowser->GetActualSelected();
+       if (bbDes != NULL) 
+       {
+               std::string packageName = bbDes->GetPackage()->GetName();
+               std::string typeName = bbDes->GetTypeName();
+               if (!TryToOpenScriptComplexBox(packageName ,typeName))
+               {
+                       wxMessageDialog windowMessage1(NULL,_T("This is not a ComplexBox script."), _T("Alert !"), wxOK);
+                       windowMessage1.ShowModal();
+               }
+       }// if bbDes
+}
 
-void wxGUIEditorGraphicBBS::OnExit(wxCommandEvent& event) {
+//=========================================================================
+void wxGUIEditorGraphicBBS::OnExit(wxCommandEvent& event) 
+{
        Close(true);
 }
 
@@ -1208,58 +1246,52 @@ Factory::Pointer wxGUIEditorGraphicBBS::GetBBTKFactory()
        return _pkgBrowser->GetFactory();
 }
 
-       //=========================================================================
-
-void wxGUIEditorGraphicBBS::enableComplexBox() {
+//=========================================================================
+void wxGUIEditorGraphicBBS::enableComplexBox() 
+{
        _tabsMgr->setActualDiagramComplexBox(true);
        refreshGUIControls();
 }
 
 //=========================================================================
 
-void wxGUIEditorGraphicBBS::disableComplexBox() {
+void wxGUIEditorGraphicBBS::disableComplexBox() 
+{
        _tabsMgr->setActualDiagramComplexBox(false);
        refreshGUIControls();
 }
 
 //=========================================================================
-
 void wxGUIEditorGraphicBBS::setCurrentDiagramDescription(std::string description)
 {
        _tabsMgr->SetDescription(description);
 }
 
 //=========================================================================
-
 void wxGUIEditorGraphicBBS::setCurrentDiagramAuthor(std::string author)
 {
        _tabsMgr->SetAuthor(author);
 }
 
 //=========================================================================
-
 void wxGUIEditorGraphicBBS::setCurrentDiagramCategory(std::string category)
 {
        _tabsMgr->SetCategory(category);
 }
 
 //=========================================================================
-
 std::string wxGUIEditorGraphicBBS::getCurrentDiagramDescription()
 {
        return _tabsMgr->GetDescription();
 }
 
 //=========================================================================
-
 std::string wxGUIEditorGraphicBBS::getCurrentDiagramAuthor()
 {
        return _tabsMgr->GetAuthor();
 }
 
 //=========================================================================
-
-
 std::string wxGUIEditorGraphicBBS::getCurrentDiagramCategory()
 {
        return _tabsMgr->GetCategory();
@@ -1267,13 +1299,76 @@ std::string wxGUIEditorGraphicBBS::getCurrentDiagramCategory()
 
        
 //=========================================================================
-
 bool wxGUIEditorGraphicBBS::isCurrentDiagramComplexBox()
 {
        return _tabsMgr->isActualDiagramComplexBox();
 }
 
 
+//=========================================================================
+void wxGUIEditorGraphicBBS::OpenScript(std::string filePathNameBBS ,std::string boxType)
+{      
+       std::string fileName                                                    = boxType+".bbg";
+       std::string filePathNameBBG                                             = filePathNameBBS;
+       filePathNameBBG[ filePathNameBBG.length()-1 ]   = 'g';
+       
+       wxMessageDialog windowMessage1(NULL,_T("The system is going to open a bbg or bbs for you. Be careful if you save this file."), _T("Alert !"), wxOK);
+       windowMessage1.ShowModal();
+       
+       if ( Utilities::FileExists( filePathNameBBG ) )
+       {
+               OpenDiagram( filePathNameBBG , fileName );     
+       } else {
+               if ( Utilities::FileExists( filePathNameBBS ) )
+               {
+                       OpenBBS( filePathNameBBS , fileName );     
+               } else {
+                       wxMessageDialog windowMessage1(NULL,_T("..ERROR.. loading script bbg/bbs."), _T("Alert !"), wxOK);
+                       windowMessage1.ShowModal();
+               } // FileExists BBS
+       } // FieExists BBG
+} //OpenScript
+       
+       
+       
+//=========================================================================
+bool wxGUIEditorGraphicBBS::TryToOpenScriptApplication(std::string packageName ,std::string boxType)
+{      
+       return TryToOpenScript(packageName ,boxType, true, false);
+}              
+
+//=========================================================================
+bool wxGUIEditorGraphicBBS::TryToOpenScriptComplexBox(std::string packageName ,std::string boxType)
+{      
+       return TryToOpenScript(packageName ,boxType, false, true);
+}              
+       
+       
+//=========================================================================
+bool wxGUIEditorGraphicBBS::TryToOpenScript(std::string packageName ,std::string boxType,bool scriptApplication, bool scriptComplexBox)
+{      
+       Package::Pointer k;
+       std::map< std::string, BlackBoxDescriptor::Pointer> mapDesc;
+       BlackBoxDescriptor::Pointer descriptor;
+       k                       = GetBBTKFactory()->GetPackage(packageName);
+       mapDesc         = k->GetDescriptorMap();
+       descriptor      = mapDesc[boxType];
+
+       bool result=false;
+       
+       if (
+               ((descriptor->IsTypeOfScript_Application()==true) && (scriptApplication==true))
+               ||
+               ((descriptor->IsTypeOfScript_ComplexBox()==true) && (scriptComplexBox==true))           
+               )
+       {
+               result=true;
+               OpenScript(descriptor->GetScriptFileName(),boxType);
+       }
+       
+       return result;
+}      
+       
 } // EO namespace bbtk
 
 // EOF
index 1d9872f17a789d7ab6de606223aa9cae2d7d1fd8..e01013e3e36b932b7eae832233f8e6f9a60ca019 100644 (file)
@@ -152,10 +152,12 @@ namespace bbtk
                        // File menu and toolbar events
                        void OnCreateNewTab(wxCommandEvent& event);
                        void OnOpenDiagram(wxCommandEvent& event);
+                       void OpenDiagram(std::string filePathName, std::string fileName); 
                        void OnSaveActualDiagram(wxCommandEvent& event); //DFCH
                        void OnSaveAsActualDiagram(wxCommandEvent& event); //DFCH
                        void OnExportConsoleExecCommand(wxCommandEvent& event); //RaC
                        void OnOpenBBS(wxCommandEvent& event);
+                       void OpenBBS(std::string filePathName, std::string fileName);
                        void OnSaveActualBBS(wxCommandEvent& event);
                        void OnSaveActualComplexBox(wxCommandEvent& event);
                        void OnExecuteActualDiagram(wxCommandEvent& event);
@@ -172,7 +174,9 @@ namespace bbtk
                        void OnRedo(wxCommandEvent& event);
                        void OnChangeName(wxCommandEvent& event);
                        void OnEditDiagramProperties(wxCommandEvent& event);
+                       void OnEditComplexBoxScript(wxCommandEvent& event);
 
+               
                        // Edit menu events
                        void OnCopySelectedToComplexDiagram(wxCommandEvent& event);                   
                        
@@ -184,6 +188,11 @@ namespace bbtk
                        void OnEditConfig(wxCommandEvent& event);
                        void OnShowHTMLDoc(wxCommandEvent& event);
                        void OnCreateIndex(wxCommandEvent& event);
+                       void OpenScript(std::string filePathNameBBS ,std::string boxType);
+
+                       bool TryToOpenScriptApplication(std::string packageName ,std::string boxType);
+                       bool TryToOpenScriptComplexBox(std::string packageName ,std::string boxType);
+                       bool TryToOpenScript(std::string packageName ,std::string boxType,bool scriptApplication, bool scriptComplexBox);
                
                        Factory::Pointer GetBBTKFactory();
                
index 1f5688306f53dcd211178fac626abd0d39f93558..57ac9e5666351cd0cdb39147b821c1a511c9fd7b 100644 (file)
@@ -245,7 +245,6 @@ namespace bbtk
 
        void wxBlackBoxEditionDialog::onClickClose(wxCommandEvent& event)
        {
-printf("EED wxBlackBoxEditionDialog::onClickClose\n");
                Close(true);
        }
 
index 00f669bc64f9c19a0c96d42d89934c5f7dea8a71..104b09578da3b2b75ecac4f320961d8eb5ad9a84 100644 (file)
@@ -50,8 +50,6 @@ namespace bbtk
        wxGEditorTabPanel::wxGEditorTabPanel(wxWindow *parent,int id, Factory::Pointer bbtkfactory)
         : wxPanel(parent),wxTextDropTarget()
        {
-printf("EED wxGEditorTabPanel::wxGEditorTabPanel 0\n");
-               printf ("EED %p wxGEditorTabPanel 2 ()\n" , this );
                _id=id;
                _panelAUIMgr    = new wxAuiManager(this);
                _sceneManager   = NULL;
@@ -59,27 +57,22 @@ printf("EED wxGEditorTabPanel::wxGEditorTabPanel 0\n");
                _sactualdo              = sstates.begin();
                _bbtkfactory    = bbtkfactory;
                initWxVtkCanvas();
-printf("EED wxGEditorTabPanel::wxGEditorTabPanel 1\n");
        }
 
        //=========================================================================
        wxGEditorTabPanel::~wxGEditorTabPanel()
        {
-printf ("EED %p ~wxGEditorTabPanel() START \n" , this );
 //ED02JUIN2010         _sceneManager->disconnectDrop();
 
         _panelsManager->VerifyLastTabPanel();
                //FCY memory leaks
                delete _panelAUIMgr;
                delete _sceneManager;
-
-               printf ("EED %p ~wxGEditorTabPanel() END\n" , this );
        }
 
        //=========================================================================
        void wxGEditorTabPanel::initWxVtkCanvas()
        {
-printf("EED wxGEditorTabPanel::initWxVtkCanvas 0\n");
                wxVtk3DBaseView *baseview = new wxVtk3DBaseView(this);
                baseview->Configure();
 //EED 15 oct 2012              _sceneManager=new wxVtkSceneManager(this,baseview,_id);
@@ -91,7 +84,6 @@ printf("EED wxGEditorTabPanel::initWxVtkCanvas 0\n");
                _panelAUIMgr->AddPane((wxWindow*)baseview->GetWxVTKRenderWindowInteractor(),wxAuiPaneInfo().Fixed().CenterPane());
 
                _panelAUIMgr->Update();
-printf("EED wxGEditorTabPanel::initWxVtkCanvas 1\n");
        }
 
        //=========================================================================
@@ -113,8 +105,57 @@ printf("EED wxGEditorTabPanel::initWxVtkCanvas 1\n");
                 result = strtok( NULL, delims );
                 boxType += result;
 
-               _sceneManager->createGBlackBox(x,y,packageName, boxType);
-               saveTempandUpdate("drop box");
+               if ( _panelsManager->TryToOpenScriptApplication(packageName,boxType) == false )
+               {
+                       _sceneManager->createGBlackBox(x,y,packageName, boxType);
+                       saveTempandUpdate("drop box");
+               }
+
+/*EED Borrame
+       >>>>>>  TryToOpenScriptApplication
+               Package::Pointer k;
+               std::map< std::string, BlackBoxDescriptor::Pointer> mapDesc;
+               BlackBoxDescriptor::Pointer descriptor;
+               k                       = _bbtkfactory->GetPackage(packageName);
+               mapDesc         = k->GetDescriptorMap();
+               descriptor      = mapDesc[boxType];
+               
+               if (descriptor->IsTypeOfScript_Application()==true)
+               {
+                       OpenScript(descriptor->GetScriptFileName(),boxType);
+               >>>>>   OpenScript
+                       printf("EED wxGEditorTabPanel::OnDropText packageName=%s   boxType=%s   APPLI ScriptFileName=%s\n", packageName.c_str() , boxType.c_str() , descriptor->GetScriptFileName().c_str() );
+                       std::string fileName                                                    = boxType+".bbg";
+                       std::string filePathNameBBS                                             = descriptor->GetScriptFileName();
+                       std::string filePathNameBBG                                             = filePathNameBBS;
+                       filePathNameBBG[ filePathNameBBG.length()-1 ]   = 'g';
+                       
+                       wxMessageDialog windowMessage1(NULL,_T("The system is going to open a bbg or bbs for you. Be careful if you save this file."), _T("Alert !"), wxOK);
+                       windowMessage1.ShowModal();
+                       
+                       if ( Utilities::FileExists( filePathNameBBG ) )
+                       {
+                               _panelsManager->OpenDiagram( filePathNameBBG , fileName );     
+                       } else {
+                               if ( Utilities::FileExists( filePathNameBBS ) )
+                               {
+                                       _panelsManager->OpenBBS( filePathNameBBS , fileName );     
+                               } else {
+                                       wxMessageDialog windowMessage1(NULL,_T("..ERROR.. loading script bbg/bbs."), _T("Alert !"), wxOK);
+                                       windowMessage1.ShowModal();
+                               }
+                       }
+                       <<<<<
+               } 
+       <<<<<<< 
+// EED Borrame         
+//             else {
+//                     _sceneManager->createGBlackBox(x,y,packageName, boxType);
+//                     saveTempandUpdate("drop box");
+//             }
+
+ */
+               
          return true;
        }
 
index 955ca814d9c50227783961f8f4a07972f0c365f1..e9b96f9dce45b7f01294d16bf0ec948bbfa5e804 100644 (file)
@@ -168,14 +168,12 @@ namespace bbtk
         std::string GetDescription();
         std::string GetCategory();
 
-
-
        //=========================================================================
 
        private:
-               std::vector<std::string> states; // represents each modification of the tab. Maxixum size 100!!
+               std::vector<std::string> states;                                // represents each modification of the tab. Maxixum size 100!!
                std::vector<std::string>::iterator _actualdo;   // actual position on modifications vector
-               std::vector<std::string> sstates; // represents string of each modification of the tab. Maxixum size 100!!
+               std::vector<std::string> sstates;                               // represents string of each modification of the tab. Maxixum size 100!!
                std::vector<std::string>::iterator _sactualdo;  // actual position onstring  modifications vector
 
                int                                             _id;
index fe453d791a001df2bc4b3f8fa63364a276387727..6aa897c1fce75f5239190283519bed80543e7fbf 100644 (file)
@@ -370,22 +370,18 @@ printf("wxTabPanelsManager::VerifyActualTabPanel  %d \n", this->_notebook->GetPa
         _actual->SetCategory( category );
     }
 
-
        //=========================================================================
     void wxTabPanelsManager::SetDescription(std::string description)
     {
         _actual->SetDescription( description );
     }
 
-
-
-
-
-
-
-
-
-
+       //=========================================================================
+       bool wxTabPanelsManager::TryToOpenScriptApplication(std::string packageName ,std::string boxType)
+    {
+        _parent->TryToOpenScriptApplication( packageName, boxType );
+    }
+               
 }  // EO namespace bbtk
 
 // EOF
index 432e215906d14582c6ecc08a6006fb268ccdf08e..a2fcf0f7303058cbb88e7b85c9ffe1c176fa138b 100644 (file)
@@ -124,8 +124,7 @@ namespace bbtk
                std::string GetNameTabPanel();
            std::string GetCurrentTabPanelPath( ); //DFCH
            int  FindTab(std::string filename);
-
-
+               bool TryToOpenScriptApplication(std::string packageName ,std::string boxType);
 
        private:
 
index 9b9c60a8b826890daf3ed879da402150402ea41f..dc22523d93d522e21044ec8198bd4d274f258e1b 100644 (file)
@@ -106,7 +106,6 @@ wxVtkSceneManager::~wxVtkSceneManager()
 
 void wxVtkSceneManager::configureBaseView() 
 {
-       printf("EED wxVtkSceneManager::configureBaseView 0\n");
        vtkInteractorStyleBaseView2D *interactorstylebaseview = vtkInteractorStyleBaseView2D::New();
 
        _baseView->SetInteractorStyleBaseView(interactorstylebaseview);
@@ -194,7 +193,6 @@ void wxVtkSceneManager::configureBaseView()
        _aPolygonMapper->Modified();
 
        _baseView->GetRenderer()->AddActor(_fillObjectActor);
-       printf("EED wxVtkSceneManager::configureBaseView 1\n");
 }
 
 //=========================================================================
@@ -1851,7 +1849,6 @@ void wxVtkSceneManager::getCleanLine(stringstream &inputStream, std::string &lin
 //=========================================================================
 void wxVtkSceneManager::loadDiagram(stringstream &inputStream) 
 {
-       printf("EED wxVtkSceneManager::loadDiagram Start \n");
        int size;
        std::string version = "<void>";
        std::string line = "";
@@ -2295,20 +2292,16 @@ void wxVtkSceneManager::loadDiagram(stringstream &inputStream)
                                        conView->getManualContourView()->AddPoint();
                                }
                        }// version !=1.0
-
                } // for numConns
-
-       } // start
-       
-printf("EED wxVtkSceneManager::loadDiagram End \n");
-
+       } // start      
 }
 //=========================================================================
 
 
 //=========================================================================
 void wxVtkSceneManager::configGComBoxInputOutputPort(bool inputoutput,
-               std::string portName, double xIn, double yIn, double zIn) {
+               std::string portName, double xIn, double yIn, double zIn) 
+{
        int idPort;
        if (inputoutput == true) {
                idPort = createGComplexBoxInputPort(portName);
@@ -2324,7 +2317,8 @@ void wxVtkSceneManager::configGComBoxInputOutputPort(bool inputoutput,
 
 
 //=========================================================================
-GBoxModel* wxVtkSceneManager::findGBox(std::string boxname) {
+GBoxModel* wxVtkSceneManager::findGBox(std::string boxname) 
+{
        int j;
        int idB;
        GBoxModel *bMod;
index 2c18b092183331bae67fe632783787347298a24f..ce0c2a70d59994e73cd5e43d92a6dc13a53009cd 100644 (file)
@@ -275,7 +275,6 @@ namespace bbtk
         GObjectController *GetGBlackBoxControlerPointedByMouse();
                void CancelConnection();
                
-               
 
        protected: