From 34bcc7054d714ab35dd9c0dae2b2f8a5c26f21b0 Mon Sep 17 00:00:00 2001 From: corredor <> Date: Thu, 6 May 2010 09:37:24 +0000 Subject: [PATCH] It is possible to delete connections !!! --- .../wxVtkSceneManager.cxx | 11 ++++++ .../GConnectorController.cxx | 8 ++++- .../manualConnectorContourController.cxx | 34 ++++++++++++++++--- .../manualConnectorContourController.h | 1 + .../manualConnectorContourView.cxx | 6 ++++ .../manualConnectorContourView.h | 3 +- 6 files changed, 56 insertions(+), 7 deletions(-) diff --git a/lib/EditorGraphicBBS/bbsKernelEditorGraphic/wxVtkSceneManager.cxx b/lib/EditorGraphicBBS/bbsKernelEditorGraphic/wxVtkSceneManager.cxx index 24099d8..41f2fd5 100644 --- a/lib/EditorGraphicBBS/bbsKernelEditorGraphic/wxVtkSceneManager.cxx +++ b/lib/EditorGraphicBBS/bbsKernelEditorGraphic/wxVtkSceneManager.cxx @@ -275,6 +275,7 @@ namespace bbtk manContourView->SetColorEditContour(0.5, 0.5, 0.5); manContourView->SetColorSelectContour(1, 0.8, 0); manContourView->SetWidthLine(1); + manContourView->SetShowText(false); manContourControl->SetModelView( manContourModel , manContourView ); @@ -310,6 +311,9 @@ namespace bbtk connectorView->setBaseView(_baseView); connectorcontroller->setModelAndView(connectorModel,connectorView); + connectorModel->addObserver(connectorView); + connectorModel->addObserver(this); + int newId = _controllers.size(); connectorcontroller->setId(newId); _controllers[newId] = connectorcontroller; @@ -369,6 +373,7 @@ namespace bbtk { int id = idController; _selectedObjects.push_back(id); + cout<<"RaC wxVtkSceneManager::update _selectedObjects.push_back id:"<getObjectId()); } + else if(control->getGObjectType()==GCONNECTOR) + { + GConnectorModel *conMod = (GConnectorModel*)control->getModel(); + cout<<"RaC wxVtkSceneManager::deleteObject id:"<getObjectId()<getObjectId()); + } for(int i = 0;iGetEventPosition(X, Y); _controller->MouseReleaseLeft(X,Y); + if(_controller->GetManualViewBaseContour()->GetSelected()==true) + { + cout<<"RaC GConnectorController::OnLeftButtonUp GetSelected():"<<_controller->GetManualViewBaseContour()->GetSelected() <setState(SELECTED); + _model->notifyObservers(getId(),ADD_TO_SELECTED); + } } return true; @@ -194,7 +200,7 @@ namespace bbtk GConnectorModel *conMod = (GConnectorModel*)_model; conMod->disconnectConnection(); - _controller->SetEditable(true); + _controller->SetEditable(false); _controller->DeleteContour(); } diff --git a/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/manualConnectorContourController.cxx b/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/manualConnectorContourController.cxx index 0a35264..415c64d 100644 --- a/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/manualConnectorContourController.cxx +++ b/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/manualConnectorContourController.cxx @@ -46,9 +46,37 @@ namespace bbtk } //========================================================================= + manualConnectorContourController::~manualConnectorContourController() { } + + //========================================================================= + + void manualConnectorContourController::MouseMove(int x, int y) // virtual + { + int z=GetZ(); + GetManualViewBaseContour()->SelectPosiblePoint(x,y,z); + GetManualViewBaseContour()->SelectPosibleContour(x,y,z); + if (GetState()==1){ SetPoint( _bakIdPoint , x , y ,z); } + if (GetState()==5){ SetPoint( _bakIdPoint , x , y ,z); } + if ( GetState()==6 && !IsEditable() && GetPosibleToMove() &&IsMoving() ) + { + //GetManualViewBaseContour()->MoveContour(x,y,z); + } + if (GetState()!=7 || GetManualViewBaseContour()->GetPosibleSelected() ){ + GetManualViewBaseContour()->Refresh(); + this->_vtkInteractorStyleBaseView->SetRefresh_waiting(); + } + if (!IsEditable()) + { + GetManualViewBaseContour()->RemoveControlPoints(); + GetManualViewBaseContour()->Refresh(); + this->_vtkInteractorStyleBaseView->SetRefresh_waiting(); + } + + } + //========================================================================= void manualConnectorContourController::MouseClickRight(int x, int y) @@ -60,11 +88,7 @@ namespace bbtk SetEditable( false ); SetPosibleToMove( false ); SetState(0); - - if(!_created) - { - //DeleteContour(); - } + } //========================================================================= diff --git a/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/manualConnectorContourController.h b/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/manualConnectorContourController.h index cb404e0..a987842 100644 --- a/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/manualConnectorContourController.h +++ b/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/manualConnectorContourController.h @@ -69,6 +69,7 @@ namespace bbtk //Public methods virtual void MouseClickRight(int x, int y); virtual void MouseClickLeft(int x, int y); + virtual void MouseMove(int x, int y); private: diff --git a/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/manualConnectorContourView.cxx b/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/manualConnectorContourView.cxx index 1a1bbb3..6fb8685 100644 --- a/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/manualConnectorContourView.cxx +++ b/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/manualConnectorContourView.cxx @@ -82,8 +82,14 @@ namespace bbtk } } } + //========================================================================= + void manualConnectorContourView::RefreshText() // virtual + { + + } + } // EO namespace bbtk diff --git a/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/manualConnectorContourView.h b/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/manualConnectorContourView.h index b0ec5e2..7ef4521 100644 --- a/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/manualConnectorContourView.h +++ b/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/manualConnectorContourView.h @@ -68,7 +68,8 @@ namespace bbtk //Public methods virtual void TransfromCoordViewWorld(double &X, double &Y, double &Z, int type=2); void updateStartAndEnd(double* start , double* end); - virtual void AddControlPoints(); + virtual void AddControlPoints(); + virtual void RefreshText(); private: -- 2.45.1