X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FEditorGraphicBBS%2FbbsWxGUIEditorGraphic%2FwxVtkSceneManager.cxx;h=d334129e967a9914b7ba8011441538ad2a30d7bf;hb=a3c95f8a4a71a532a46804e8c4f213aa2188d73b;hp=ca8d541dcb63085981ecc1708557ecbb9487488d;hpb=e12e7f1b6c5a32373366ffe4172e5ddcd1a05209;p=bbtkGEditor.git diff --git a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.cxx b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.cxx index ca8d541..d334129 100644 --- a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.cxx +++ b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.cxx @@ -74,19 +74,24 @@ 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 ??"; + _MessageKind = " "; + _MessageLevel = " "; + + _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 +156,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 +806,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 +848,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 +858,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; @@ -1337,6 +1354,7 @@ bool wxVtkSceneManager::MakeBoxExecutable() { //========================================================================= std::string wxVtkSceneManager::getDiagramBBS(bool wln) { + std::cout << "wxVtkSceneManager::getDiagramBBS" << std::endl; bool existsExec = false; std::vector packages; @@ -1394,7 +1412,7 @@ std::string wxVtkSceneManager::getDiagramBBS(bool wln) { script += "\n"; //ups2 - + script += LineNumber(wln, lnNmbr); script += "author \""; script += _Author; @@ -1419,9 +1437,10 @@ std::string wxVtkSceneManager::getDiagramBBS(bool wln) { script += LineNumber(wln, lnNmbr); script += "new "; int id = boxes[i]; - GObjectController *control = _controllers[id]; - GBlackBoxModel *model = (GBlackBoxModel*) control->getModel(); + GObjectController *control = _controllers[id]; + GBlackBoxModel *model = (GBlackBoxModel*) control->getModel(); + script += model->getBBTKPackage()+":"; script += model->getBBTKType(); script += " "; script += model->getBBTKName(); @@ -1510,6 +1529,15 @@ std::string wxVtkSceneManager::getDiagramBBS(bool wln) { script += "# Complex input ports\n"; script += complexInputs; + if((_MessageKind!=" ")&&(_MessageLevel!=" ")){ + script += LineNumber(wln, lnNmbr); + script += "message "; + script += _MessageKind; + script += " "; + script += _MessageLevel; + script += "\n"; + } + for (i = 0; i < (int) execBoxes.size(); i++) { script += LineNumber(wln, lnNmbr); script += "exec "; @@ -1529,6 +1557,7 @@ std::string wxVtkSceneManager::getDiagramBBS(bool wln) { //========================================================================= std::string wxVtkSceneManager::saveComplexBoxBBS() { + std::cout<<"wxVtkSceneManager::saveComplexBoxBBS"< packages; std::vector boxes; std::vector connections; @@ -1695,6 +1724,12 @@ std::string wxVtkSceneManager::saveComplexBoxBBS() { script += "\n"; + script += "message "; + script += _MessageKind; + script += " "; + script += _MessageLevel; + script += "\n"; + for (i = 0; i < (int) execBoxes.size(); i++) { script += "exec "; int id = execBoxes[i]; @@ -1834,10 +1869,17 @@ void wxVtkSceneManager::saveDiagram(std::string &content) { sprintf(buffer, "%d", bsize); content += buffer; content += "\n"; - + for (int i = 0; i < bsize; i++) { int id = boxes[i]; + std::cout<<"id "<getStatusText()<getModel()->getBBTKType()<getModel()->getBBTKType();//CFT + std::cout<<"nname: "<getModel()->getBBTKName()<getModel()->getGObjectType()<getModel()->save(content); } @@ -2918,6 +2960,31 @@ std::string wxVtkSceneManager::GetDescription() { //========================================================================= +void wxVtkSceneManager::SetMessageKind(std::string kind) { + _MessageKind = kind; + +} + +//========================================================================= + +std::string wxVtkSceneManager::GetMessageKind(){ + return _MessageKind; +} + +//========================================================================= + +void wxVtkSceneManager::SetMessageLevel(std::string Level){ + _MessageLevel = Level; +} + +//========================================================================= + +std::string wxVtkSceneManager::GetMessageLevel(){ + return _MessageLevel; +} + +//========================================================================= + std::vector< std::string> wxVtkSceneManager::GetExternalInputsNames() {