From 108bfeda96a8850e469fa80add666a5c1dbf1c1f Mon Sep 17 00:00:00 2001 From: davila <> Date: Wed, 14 Nov 2012 07:39:52 +0000 Subject: [PATCH] Feature #1758 Edit ScriptApplication and ScriptCB (edit examples scripts) clean debug comments --- .../bbsKernelEditorGraphic/GlobalConstants.h | 1 + .../bbtkwxGUIEditorGraphicBBS.cxx | 289 ++++++++++++------ .../bbtkwxGUIEditorGraphicBBS.h | 9 + .../wxBlackBoxEditionDialog.cxx | 1 - .../wxGEditorTabPanel.cxx | 61 +++- .../bbsWxGUIEditorGraphic/wxGEditorTabPanel.h | 6 +- .../wxTabPanelsManager.cxx | 16 +- .../wxTabPanelsManager.h | 3 +- .../wxVtkSceneManager.cxx | 16 +- .../bbsWxGUIEditorGraphic/wxVtkSceneManager.h | 1 - 10 files changed, 267 insertions(+), 136 deletions(-) diff --git a/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GlobalConstants.h b/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GlobalConstants.h index b21d18e..c1159ac 100644 --- a/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GlobalConstants.h +++ b/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GlobalConstants.h @@ -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 diff --git a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/bbtkwxGUIEditorGraphicBBS.cxx b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/bbtkwxGUIEditorGraphicBBS.cxx index e7a9362..377f625 100644 --- a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/bbtkwxGUIEditorGraphicBBS.cxx +++ b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/bbtkwxGUIEditorGraphicBBS.cxx @@ -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 diff --git a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/bbtkwxGUIEditorGraphicBBS.h b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/bbtkwxGUIEditorGraphicBBS.h index 1d9872f..e01013e 100644 --- a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/bbtkwxGUIEditorGraphicBBS.h +++ b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/bbtkwxGUIEditorGraphicBBS.h @@ -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(); diff --git a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxBlackBoxEditionDialog.cxx b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxBlackBoxEditionDialog.cxx index 1f56883..57ac9e5 100644 --- a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxBlackBoxEditionDialog.cxx +++ b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxBlackBoxEditionDialog.cxx @@ -245,7 +245,6 @@ namespace bbtk void wxBlackBoxEditionDialog::onClickClose(wxCommandEvent& event) { -printf("EED wxBlackBoxEditionDialog::onClickClose\n"); Close(true); } diff --git a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxGEditorTabPanel.cxx b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxGEditorTabPanel.cxx index 00f669b..104b095 100644 --- a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxGEditorTabPanel.cxx +++ b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxGEditorTabPanel.cxx @@ -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; } diff --git a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxGEditorTabPanel.h b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxGEditorTabPanel.h index 955ca81..e9b96f9 100644 --- a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxGEditorTabPanel.h +++ b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxGEditorTabPanel.h @@ -168,14 +168,12 @@ namespace bbtk std::string GetDescription(); std::string GetCategory(); - - //========================================================================= private: - std::vector states; // represents each modification of the tab. Maxixum size 100!! + std::vector states; // represents each modification of the tab. Maxixum size 100!! std::vector::iterator _actualdo; // actual position on modifications vector - std::vector sstates; // represents string of each modification of the tab. Maxixum size 100!! + std::vector sstates; // represents string of each modification of the tab. Maxixum size 100!! std::vector::iterator _sactualdo; // actual position onstring modifications vector int _id; diff --git a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxTabPanelsManager.cxx b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxTabPanelsManager.cxx index fe453d7..6aa897c 100644 --- a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxTabPanelsManager.cxx +++ b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxTabPanelsManager.cxx @@ -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 diff --git a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxTabPanelsManager.h b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxTabPanelsManager.h index 432e215..a2fcf0f 100644 --- a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxTabPanelsManager.h +++ b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxTabPanelsManager.h @@ -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: diff --git a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.cxx b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.cxx index 9b9c60a..dc22523 100644 --- a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.cxx +++ b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.cxx @@ -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 = ""; 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; diff --git a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.h b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.h index 2c18b09..ce0c2a7 100644 --- a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.h +++ b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.h @@ -275,7 +275,6 @@ namespace bbtk GObjectController *GetGBlackBoxControlerPointedByMouse(); void CancelConnection(); - protected: -- 2.47.1