]> Creatis software - bbtkGEditor.git/blobdiff - lib/EditorGraphicBBS/bbsKernelEditorGraphic/wxVtkSceneManager.cxx
Stable version ... The connection is correctly painted :)
[bbtkGEditor.git] / lib / EditorGraphicBBS / bbsKernelEditorGraphic / wxVtkSceneManager.cxx
index 4e337be93c3d97cc460fee84c9377324d2457934..daa6327c157cceea4e7cd481750fa60fa7654e82 100644 (file)
@@ -180,8 +180,7 @@ namespace bbtk
                controller->setModelAndView(model,view);
 
                //Resgiter change to the observers of the actual model
-               model->setChanged();
-               model->notifyObservers();
+               model->notifyObservers(_idManager);
                
                //Register the controller of the new object
                registerController((InteractorStyleMaracas*) controller);
@@ -233,7 +232,7 @@ namespace bbtk
                //Associates the controller with the correspondent model and view
                controller->setModelAndView(model,view);
 
-               model->notifyObservers();
+               model->notifyObservers(_idManager);
 
                //Register the controller of the new object
                registerController((InteractorStyleMaracas*) controller);
@@ -250,7 +249,7 @@ namespace bbtk
                int type = GCONNECTOR;
 
                manualConnectorContourController* manContourControl     = new manualConnectorContourController();
-               manualConnectorContourView* manViewerContour    = new manualConnectorContourView();
+               manualConnectorContourView* manContourView      = new manualConnectorContourView();
                manualContourModel* manContourModel     = new manualContourModel();
 
                GConnectorController* connectorcontroller = new GConnectorController();                         
@@ -261,21 +260,21 @@ namespace bbtk
                manContourModel->SetCloseContour(false);
                connectorModel->setStartPort(startPort);
 
-               manViewerContour->SetModel( manContourModel );
-               manViewerContour->SetWxVtkBaseView( _baseView );
-               manViewerContour->SetRange( 0.5 );
-               manViewerContour->SetZ( 900 );
+               manContourView->SetModel( manContourModel );
+               manContourView->SetWxVtkBaseView( _baseView );
+               manContourView->SetRange( 0.5 );
+               manContourView->SetZ( 900 );
 
-               manViewerContour->SetColorNormalContour(0, 0, 1);
-               manViewerContour->SetColorEditContour(0.5, 0.5, 0.5);
-               manViewerContour->SetColorSelectContour(1, 0.8, 0);
-               manViewerContour->SetWidthLine(1);
+               manContourView->SetColorNormalContour(0, 0, 1);
+               manContourView->SetColorEditContour(0.5, 0.5, 0.5);
+               manContourView->SetColorSelectContour(1, 0.8, 0);
+               manContourView->SetWidthLine(1);
 
-               manContourControl->SetModelView( manContourModel , manViewerContour );
+               manContourControl->SetModelView( manContourModel , manContourView );
                
                manContourControl->CreateNewManualContour();
 
-               manViewerContour->RefreshContour();
+               manContourView->RefreshContour();
 
 
                double x,y,z;
@@ -285,14 +284,14 @@ namespace bbtk
                manContourModel->SetCloseContour(false);
                
                manContourModel->AddPoint(x,y,z);
-               manViewerContour->AddPoint();
+               manContourView->AddPoint();
 
                manContourModel->AddPoint(x,y,z);
-               manViewerContour->AddPoint();
+               manContourView->AddPoint();
 
                int bak= manContourControl->GetNumberOfPointsManualContour() - 1;
                manContourControl->_bakIdPoint=bak;
-               manViewerContour->Refresh();
+               manContourView->Refresh();
 
                manContourControl->SetMoving( false );
 
@@ -300,7 +299,8 @@ namespace bbtk
 
                connectorcontroller->setManualContourController(manContourControl);             
                connectorModel->setManualContourModel(manContourModel);
-               connectorcontroller->setModelAndView(connectorModel,NULL);
+               connectorView->setManualContourView(manContourView);
+               connectorcontroller->setModelAndView(connectorModel,connectorView);
 
                int newId = _controllers.size();
                connectorcontroller->setId(newId);
@@ -344,11 +344,9 @@ namespace bbtk
                if(command == INIT_CREATION_CONTOUR)
                {       
                        GObjectController* cont = _controllers[idController];
-                       if(cont->getGObjectType() == GPORT)
-                       {
-                               GPortModel* startOutputPort = (GPortModel*)cont->getModel();
-                               createGConnector(startOutputPort);
-                       }
+                       GPortModel* startOutputPort = (GPortModel*)cont->getModel();
+                       createGConnector(startOutputPort);
+
                        // The last one is the controller of the connector
                        for(int i=0;i<_controllers.size()-1;i++)
                        {
@@ -376,26 +374,22 @@ namespace bbtk
                }
                else if(command == FIN_CREATION_CONTOUR && _worldState == CREATING_CONTOUR)
                {
+                       
                        _worldState = NOTHING_HAPPENS;
                        int id = _controllers.size()-1;
                        GObjectController* cont = _controllers[id];                     
                        GConnectorModel* modelContour = (GConnectorModel*)cont->getModel();
 
                        GObjectController* finPort = _controllers[idController];
-                       if(cont->getGObjectType() == GPORT)
+                       if(finPort->getGObjectType() == GPORT)
                        {
                                GPortModel* modelPort = (GPortModel*)finPort->getModel();
                                modelContour->setEndPort(modelPort);
                        }                       
 
-                       manualContourControler* manCont = ((GConnectorController*)cont)->getManualContourController();
-                       
-                       //manCont->SetCompleteCreation( true );
-                       //manCont->SetKeyBoardMoving( false );
-                       //manCont->GetManualContourModel()->SetCloseContour(false);
-                       //manCont->SetEditable( false );
-                       //manCont->SetPosibleToMove( false );
-                       //manCont->SetState(0);
+                       manualConnectorContourController* manCont = ((GConnectorController*)cont)->getManualContourController();                        
+                       manualConnectorContourView* connView = (manualConnectorContourView*)manCont->GetManualViewBaseContour();
+                       connView->Refresh();
 
                        for(int i=0;i<_controllers.size();i++)
                        {