bool GObjectController::OnMouseMove()
{
- cout<<"RaC GObjectController::OnMouseMove "<<endl;
+
if ( _vtkInteractorStyleBaseView!=NULL)
{
int X,Y;
int state = _model->getState();
//Evaluate new state
- if(state == CLICKED)
- {
- _model->setState(DRAG);
- //MoveObject(X,Y);
-
- }
- if(state == DRAG)
+ if(!_model->hasChanged() && state == DRAG)
{
//MoveObject(X,Y);
}
- if(state == NOTHING_HAPPENS)
+
+ if(!_model->hasChanged() && state == NOTHING_HAPPENS)
{
if(_view->isPointInside(X,Y))
{
- _model->setState(HIGHLIGHTED);
+ _model->setState(HIGHLIGHTED);
+ _model->setChanged();
}
}
- if(state==HIGHLIGHTED)
+ if(!_model->hasChanged() && state==HIGHLIGHTED)
{
if(!_view->isPointInside(X,Y))
{
- _model->setState(NOTHING_HAPPENS);
+ _model->setState(NOTHING_HAPPENS);
+ _model->setChanged();
}
}
- _view->update();
+ _model->notifyObservers();
}
return true;
}
wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk3DBaseView()->GetWxVTKRenderWindowInteractor();
wxVTKiren->GetEventPosition(X,Y);
- //MouseClickLeft(X,Y);
+ int state = _model->getState();
+
+ //Evaluate new state
+ if(!_model->hasChanged() && state==HIGHLIGHTED)
+ {
+ _model->setState(DRAG);
+ _model->setChanged();
+ }
+
+ if( !_model->hasChanged() && state == SELECTED)
+ {
+ if(_view->isPointInside(X,Y))
+ {
+ _model->setState(DRAG);
+ _model->setChanged();
+ }
+ }
+
+ _model->notifyObservers();
}
return true;
}
{
int X,Y;
wxVTKRenderWindowInteractor *wxVTKiren;
- wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->GetWxVTKRenderWindowInteractor();
+ wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk3DBaseView()->GetWxVTKRenderWindowInteractor();
wxVTKiren->GetEventPosition(X,Y);
- //MouseReleaseLeft(X,Y);
+
+ int state = _model->getState();
+
+ //Evaluate new state
+ if(!_model->hasChanged() && state==CLICKED)
+ {
+ _model->setState(SELECTED);
+ _model->setChanged();
+ }
+
+ if( !_model->hasChanged() && state == DRAG)
+ {
+ _model->setState(SELECTED);
+ _model->setChanged();
+ }
+
+ _model->notifyObservers();
+
}
return true;
}
{
int X,Y;
wxVTKRenderWindowInteractor *wxVTKiren;
- wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->GetWxVTKRenderWindowInteractor();
+ wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk3DBaseView()->GetWxVTKRenderWindowInteractor();
wxVTKiren->GetEventPosition(X,Y);
- //this->MouseDLeft(X,Y);
+ _model->notifyObservers();
}
return true;
}
//=========================================================================
-bool GObjectController::OnMiddleButtonDown()
-{
- if ( _vtkInteractorStyleBaseView!=NULL )
- {
- int X,Y;
- wxVTKRenderWindowInteractor *wxVTKiren;
- wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->GetWxVTKRenderWindowInteractor();
- wxVTKiren->GetEventPosition(X,Y);
- //GetManualViewBaseContour()->InitMove( X, Y,GetZ());
- }
- return true;
-}
-//=========================================================================
-bool GObjectController::OnMiddleButtonUp()
-{
- return true;
-}
-//=========================================================================
bool GObjectController::OnRightButtonDown()
{
if( _vtkInteractorStyleBaseView!= NULL )
{
int X,Y;
wxVTKRenderWindowInteractor *wxVTKiren;
- wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->GetWxVTKRenderWindowInteractor();
+ wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk3DBaseView()->GetWxVTKRenderWindowInteractor();
wxVTKiren->GetEventPosition(X, Y);
+
+ int state = _model->getState();
+
+ //Evaluate new state
+ if( !_model->hasChanged() && state == SELECTED)
+ {
+ _model->setState(NOTHING_HAPPENS);
+ _model->setChanged();
+ }
- //SetCompleteCreation( true );
- //SetKeyBoardMoving( false );
- //this->GetManualContourModel()->SetCloseContour(true);
- //MouseClickRight(X,Y);
+ _model->notifyObservers();
}
return true;
}
//=========================================================================
-bool GObjectController::OnRightButtonUp()
-{
- return true;
-}
-//=========================================================================
+
} // EO namespace bbtk