From: Claire Mouton Date: Thu, 13 Mar 2014 15:07:44 +0000 (+0100) Subject: Merge branch 'master' of ssh://git.creatis.insa-lyon.fr/bbtkGEditor X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;h=447f0466f545453283ac5593549ea0ce7224c693;hp=1082efd7788c15fb139380241a328a5ff187634c;p=bbtkGEditor.git Merge branch 'master' of ssh://git.creatis.insa-lyon.fr/bbtkGEditor --- diff --git a/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GBoxModel.cxx b/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GBoxModel.cxx index 55cdf5e..cb7b911 100644 --- a/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GBoxModel.cxx +++ b/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GBoxModel.cxx @@ -229,7 +229,6 @@ namespace bbtk //JPR void GBoxModel::addColons(std::string &text) { - printf("EED JPR >>>>>>>>>>>>>>> %s\n",text.c_str() ); std::string character("&&2P&&"); size_t pos; pos = text.find(character); diff --git a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/bbtkwxGUIEditorGraphicBBS.cxx b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/bbtkwxGUIEditorGraphicBBS.cxx index 9359662..9782025 100644 --- a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/bbtkwxGUIEditorGraphicBBS.cxx +++ b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/bbtkwxGUIEditorGraphicBBS.cxx @@ -1094,18 +1094,28 @@ void wxGUIEditorGraphicBBS::OnClickBtnComplexBox(wxCommandEvent& event) } //========================================================================= - +//EED01 void wxGUIEditorGraphicBBS::OnAddComplexBoxInput(wxCommandEvent& event) { wxTextEntryDialog *nameDialog = new wxTextEntryDialog(this, wxT("Name of input port")); - if (nameDialog->ShowModal() == wxID_OK) { + if (nameDialog->ShowModal() == wxID_OK) + { wxString fileName = nameDialog->GetValue(); - if (!fileName.IsEmpty()) { + if (!fileName.IsEmpty()) + { std::string portName = (const char*) (fileName.mb_str()); - _tabsMgr->addActualDiagramComplexInputPort(portName); - } - } + if ( !boxNameExists(portName) ) + { + _tabsMgr->addActualDiagramComplexInputPort(portName); + } else { + wxMessageDialog *dial = new wxMessageDialog(NULL, + wxT("Impossible to create Box. The name already exists. Please provide another name"), + wxT("Change name: name already exists"), wxOK | wxICON_EXCLAMATION | wxSTAY_ON_TOP); + dial->ShowModal(); + } + } // if !fileName + } // if namaDialog } //========================================================================= @@ -1113,13 +1123,24 @@ void wxGUIEditorGraphicBBS::OnAddComplexBoxOutput(wxCommandEvent& event) { wxTextEntryDialog *nameDialog = new wxTextEntryDialog(this, wxT("Name of output port")); - if (nameDialog->ShowModal() == wxID_OK) { + if (nameDialog->ShowModal() == wxID_OK) + { wxString fileName = nameDialog->GetValue(); - if (!fileName.IsEmpty()) { + if (!fileName.IsEmpty()) + { std::string portName = (const char*) (fileName.mb_str()); + if ( !boxNameExists(portName) ) + { _tabsMgr->addActualDiagramComplexOutputPort(portName); - } - } + } else { + wxMessageDialog *dial = new wxMessageDialog(NULL, + wxT("Impossible to create Box. The name already exists. Please provide another name"), + wxT("Change name: name already exists"), wxOK | wxICON_EXCLAMATION | wxSTAY_ON_TOP); + dial->ShowModal(); + } + + } // if !filename + } // namaDialog } //========================================================================= diff --git a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.cxx b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.cxx index 3879245..7c2ff2d 100644 --- a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.cxx +++ b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.cxx @@ -74,19 +74,22 @@ namespace bbtk { wxVtkSceneManager::wxVtkSceneManager(wxGEditorTabPanel *parent, wxVtk3DBaseView *baseView, int idManager,Factory::Pointer bbtkfactory) { _cbName = "ComplexBoxName"; - _cbPackageName = "PackageName"; + _cbPackageName = "PackageName"; _Author = "Author ??"; _Category = ""; - _Description = "Description ??"; + _Description = "Description ??"; + + _bugTextActor_text = "void"; + _bugTextActor_status = 0; _parent = parent; _numBoxes = 0; _idManager = idManager; _baseView = baseView; - _bbtkfactory = bbtkfactory; + _bbtkfactory = bbtkfactory; - _startDragging = false; - _isComplexBox = false; + _startDragging = false; + _isComplexBox = false; if (_baseView != NULL) { //EED02JUIN2010 @@ -151,6 +154,7 @@ void wxVtkSceneManager::configureBaseView() // Actos Port_Text _textActor = vtkTextActor3D::New(); +// _textActor = vtkTextActor::New(); _textActor->SetPosition(-9999, -9999, GPOSITION_Z); _textActor->SetInput(""); _textActor->GetTextProperty()->SetFontSize(60); @@ -800,7 +804,7 @@ bool wxVtkSceneManager::OnMouseMove() { int X, Y; bool okStatusMessage = false; - bool okPortMessage = false; + bool okPortMessage = false; wxVTKRenderWindowInteractor *wxVTKiren; wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk3DBaseView()->GetWxVTKRenderWindowInteractor(); wxVTKiren->GetEventPosition(X, Y); @@ -842,7 +846,7 @@ bool wxVtkSceneManager::OnMouseMove() if ((state == HIGHLIGHTED) || (state == SELECTED_POSSIBLE_CONNECTION )) { // EO JGRR & CM - okStatusMessage = true; + okStatusMessage = true; updateStatusBar(desc->getStatusText()); if (type == GBLACKBOX) { @@ -852,32 +856,43 @@ bool wxVtkSceneManager::OnMouseMove() if (type == GPORT) { // PortText - okPortMessage = true; - py = py + 5; - _textActor->SetInput(desc->getStatusText().c_str()); - _textActor->SetScale(0.1); - _textActor->SetPosition(px - 25, py + 1, pz + 2); - - // FillPortText - px = px - 33; - //py = py; - _fillObjectActor->SetScale(1); - _fillObjectActor->GetProperty()->SetOpacity(0.50); - _fillObjectActor->SetPosition(px, py, 1); - _aPolygonMapper->Modified(); - } // if GPORT + if ( ( _bugTextActor_text==desc->getStatusText() ) || (_bugTextActor_status==0) ) + { + _bugTextActor_status = 1; + okPortMessage = true; + py = py + 5; + _textActor->SetScale(0.1); + std::string tmp = desc->getStatusText()+"\n"; + _textActor->SetInput( tmp.c_str() ); + _textActor->SetPosition(px - 25, py + 1, pz + 2); + _textActor->Modified(); + // FillPortText + px = px - 33; + //py = py; + _fillObjectActor->SetScale(1); + _fillObjectActor->GetProperty()->SetOpacity(0.50); + _fillObjectActor->SetPosition(px, py, 1); + _aPolygonMapper->Modified(); + } else { + _bugTextActor_status = 2; + } // _bugTextActor_tex + _bugTextActor_text = desc->getStatusText(); - } // for controllers it - } + } // if GPORT + } //if state + } // for controllers it } if (okStatusMessage == false) { updateStatusBar(""); } - if (okPortMessage == false) + if ((okPortMessage == false) || (_bugTextActor_status== 2 ) ) { + _bugTextActor_status = 0; _textActor->SetScale(0.0001); + _textActor->SetInput("a\n"); + _textActor->Modified(); _fillObjectActor->SetScale(0.0001); } return true; @@ -1874,6 +1889,7 @@ void wxVtkSceneManager::getCleanLine(stringstream &inputStream, std::string &lin //========================================================================= void wxVtkSceneManager::loadDiagram(stringstream &inputStream) { + int size; std::string version = ""; std::string line = ""; @@ -2016,6 +2032,7 @@ void wxVtkSceneManager::loadDiagram(stringstream &inputStream) } + //----------------------- //- COMPLEX OUTPUT PORTS //----------------------- @@ -2145,6 +2162,7 @@ void wxVtkSceneManager::loadDiagram(stringstream &inputStream) result = strtok(NULL, delims);//name std::string name(result); + getCleanLine(inputStream, line);//ISEXEC:TRUE|FALSE char exec[15]; strcpy(exec, line.c_str()); @@ -2276,6 +2294,7 @@ void wxVtkSceneManager::loadDiagram(stringstream &inputStream) result = strtok(NULL, delims); std::string nameEndPort(result); + int idCon = configGConnetion(nameStartBox, nameStartPort,nameEndBox, nameEndPort); if (version != "1.0") { @@ -2352,7 +2371,8 @@ GBoxModel* wxVtkSceneManager::findGBox(std::string boxname) for (j = 0; j < (int) lstB.size(); j++) { idB = lstB[j]; bMod = (GBoxModel*) _controllers[idB]->getModel(); - if (_controllers[idB]->getModel()->getBBTKName() == boxname) { + if (_controllers[idB]->getModel()->getBBTKName() == boxname) + { boxModel = bMod; } } // for @@ -2364,7 +2384,8 @@ GBoxModel* wxVtkSceneManager::findGBox(std::string boxname) for (j = 0; j < (int) lstInputs.size(); j++) { idB = lstInputs[j]; bMod = (GBoxModel*) _controllers[idB]->getModel(); - if (_controllers[idB]->getModel()->getBBTKName() == boxname) { + if (_controllers[idB]->getModel()->getBBTKName() == boxname) + { boxModel = bMod; } } // for @@ -2375,7 +2396,8 @@ GBoxModel* wxVtkSceneManager::findGBox(std::string boxname) for (j = 0; j < (int) lstOutputs.size(); j++) { int idB = lstOutputs[j]; bMod = (GBoxModel*) _controllers[idB]->getModel(); - if (_controllers[idB]->getModel()->getBBTKName() == boxname) { + if (_controllers[idB]->getModel()->getBBTKName() == boxname) + { boxModel = bMod; } } // for @@ -2405,7 +2427,7 @@ int wxVtkSceneManager::configGConnetion(std::string nameStartBox, if (boxModel != NULL) { startP = boxModel->getOutputPort(nameStartPort); if(startP == NULL){ - printf("SCP: ERROR in wxVtkSceneManager::configGConnetion start port %s is null. Port name is probably wrong.\n", nameStartPort.c_str()); + printf("SCP: ERROR in wxVtkSceneManager::configGConnetion start port is null. Port name is probably wrong. Start>%s::%s End>%s::%s\n", nameStartBox.c_str(), nameStartPort.c_str(), nameEndBox.c_str(), nameEndPort.c_str() ); } } @@ -2417,7 +2439,7 @@ int wxVtkSceneManager::configGConnetion(std::string nameStartBox, if (boxModel != NULL) { endP = boxModel->getInputPort(nameEndPort); if(endP == NULL){ - printf("SCP: ERROR in wxVtkSceneManager::configGConnetion end port %s is null. Port name is probably wrong\n", nameStartPort.c_str(), nameEndPort.c_str()); + printf("SCP: ERROR in wxVtkSceneManager::configGConnetion end port is null. Port name is probably wrong. Start>%s::%s End>%s::%s \n", nameStartBox.c_str(), nameStartPort.c_str(), nameEndBox.c_str(), nameEndPort.c_str()); } } diff --git a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.h b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.h index dfecab7..31c974d 100644 --- a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.h +++ b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.h @@ -287,8 +287,11 @@ namespace bbtk int _contLastId; vtkTextActor3D *_textActor; - vtkPoints *_pts; - vtkActor *_fillObjectActor; + std::string _bugTextActor_text; + int _bugTextActor_status; + + vtkPoints *_pts; + vtkActor *_fillObjectActor; vtkDataSetMapper *_aPolygonMapper; Factory::Pointer _bbtkfactory;