]> Creatis software - bbtkGEditor.git/commitdiff
1977 bbGEditor Bug New Urgent Black boxes Input/Output text is not displayed correctl...
authordavila <eduardo.davila@creatis.insa-lyon.fr>
Mon, 24 Feb 2014 12:35:44 +0000 (13:35 +0100)
committerdavila <eduardo.davila@creatis.insa-lyon.fr>
Mon, 24 Feb 2014 12:35:44 +0000 (13:35 +0100)
lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.cxx
lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.h

index ca8d541dcb63085981ecc1708557ecbb9487488d..7c2ff2df3823ff29006145257918127a15abf9ef 100644 (file)
@@ -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               = "<VOID>";
-       _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("<void>");
        _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;
index dfecab706d1484a08c2ff63ae3c822de46a6f5b9..31c974d1204a41ddb2243580f47ecf9ac23bbaf9 100644 (file)
@@ -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;