]> Creatis software - bbtkGEditor.git/blobdiff - lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/GBlackBoxController.cxx
Stable version ... The connection is correctly painted :)
[bbtkGEditor.git] / lib / EditorGraphicBBS / bbsVtkGUIEditorGraphic / GBlackBoxController.cxx
index cf4037ed249cf742a07c863e7117953f1cb5d9ae..4554e541c77c02809c61f285c1b748d57b230f97 100644 (file)
@@ -62,33 +62,31 @@ namespace bbtk
                        _wxVTKiren= _vtkInteractorStyleBaseView->GetWxVtk3DBaseView()->GetWxVTKRenderWindowInteractor();
                        _wxVTKiren->GetEventPosition( X , Y );
 
-                       int state  = _model->getState();
+                       int state  = _view->getState();
                        
                        //Evaluate new state
-                       if(!_model->hasChanged() && state == DRAG)
+                       if( state == DRAG)
                        {
                                moveObject(X,Y);
-                               _model->setChanged();
                        }
 
-                       if(!_model->hasChanged() && state == NOTHING_HAPPENS)
+                       if(state == NOTHING_HAPPENS)
                        {
                                if(_view->isPointInside(X,Y))
                                {
-                                       _model->setState(HIGHLIGHTED);
-                                       _model->setChanged();                           
+                                       _view->setState(HIGHLIGHTED);           
                                }                       
                        }
-                       if(!_model->hasChanged() && state==HIGHLIGHTED)
+                       if( state==HIGHLIGHTED)
                        {
                                if(!_view->isPointInside(X,Y))
                                {
-                                       _model->setState(NOTHING_HAPPENS);
-                                       _model->setChanged();
+                                       _view->setState(NOTHING_HAPPENS);
                                }
                        }
                        
-                       _model->notifyObservers();
+                       _model->notifyObservers(_id);
+                       
                }
                return true;
        }
@@ -105,27 +103,25 @@ namespace bbtk
                        wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk3DBaseView()->GetWxVTKRenderWindowInteractor();
                        wxVTKiren->GetEventPosition(X,Y);
 
-                       int state  = _model->getState();
+                       int state  = _view->getState();
                        
                        //Evaluate new state
-                       if(!_model->hasChanged() && state==HIGHLIGHTED)
+                       if( state==HIGHLIGHTED)
                        {
                                _view->isStartDragging(true);
-                               _model->setState(DRAG);
-                               _model->setChanged();
+                               _view->setState(DRAG);
                        }
 
-                       if( !_model->hasChanged() && state == SELECTED)
+                       if(  state == SELECTED)
                        {
                                if(_view->isPointInside(X,Y))
                                {
                                        _view->isStartDragging(true);
-                                       _model->setState(DRAG);
-                                       _model->setChanged();
+                                       _view->setState(DRAG);
                                }       
                        }
                        
-                       _model->notifyObservers();
+                       _model->notifyObservers(_id);
                }
                return true;
        }
@@ -141,22 +137,20 @@ namespace bbtk
                        wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk3DBaseView()->GetWxVTKRenderWindowInteractor();
                        wxVTKiren->GetEventPosition(X,Y);
 
-                       int state  = _model->getState();
+                       int state  = _view->getState();
                        
                        //Evaluate new state
-                       if(!_model->hasChanged() && state==CLICKED)
+                       if(state==CLICKED)
                        {
-                               _model->setState(SELECTED);
-                               _model->setChanged();
+                               _view->setState(SELECTED);
                        }
 
-                       if( !_model->hasChanged() && state == DRAG)
+                       if( state == DRAG)
                        {
-                               _model->setState(SELECTED);
-                               _model->setChanged();
+                               _view->setState(SELECTED);
                        }
 
-                       _model->notifyObservers();
+                       _model->notifyObservers(_id);
 
                }
                return true;
@@ -173,7 +167,7 @@ namespace bbtk
                        wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk3DBaseView()->GetWxVTKRenderWindowInteractor();
                        wxVTKiren->GetEventPosition(X,Y);
 
-                       _model->notifyObservers();
+                       _model->notifyObservers(_id);
                }
                return true;
        }
@@ -189,19 +183,18 @@ namespace bbtk
                        wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk3DBaseView()->GetWxVTKRenderWindowInteractor();
                        wxVTKiren->GetEventPosition(X, Y);
                        
-                       int state  = _model->getState();
+                       int state  = _view->getState();
                        
                        //Evaluate new state
-                       if( !_model->hasChanged() && state == SELECTED)
+                       if(  state == SELECTED)
                        {
-                               _model->setState(NOTHING_HAPPENS);
-                               _model->setChanged();                   
+                               _view->setState(NOTHING_HAPPENS);
                        }
 
-                       _model->notifyObservers();
+                       _model->notifyObservers(_id);
                }
                return true;
-}
+       }
 
        //=========================================================================