X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FEditorGraphicBBS%2FbbsVtkGUIEditorGraphic%2FGObjectController.cxx;h=19994d9505abc1818699ae6ac202687ed80861d8;hb=952979ff2fe394f9d781d92c23c919fdda854b8e;hp=645997b25ed8c7d07df31afb2a71a25d523e5b96;hpb=a6d479881eeb637cd06afa3b2177e430fa05571e;p=bbtkGEditor.git diff --git a/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/GObjectController.cxx b/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/GObjectController.cxx index 645997b..19994d9 100644 --- a/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/GObjectController.cxx +++ b/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/GObjectController.cxx @@ -1,4 +1,29 @@ -/*========================================================================= +/* +# --------------------------------------------------------------------- +# +# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image +# pour la Santé) +# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton +# +# This software is governed by the CeCILL-B license under French law and +# abiding by the rules of distribution of free software. You can use, +# modify and/ or redistribute the software under the terms of the CeCILL-B +# license as circulated by CEA, CNRS and INRIA at the following URL +# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +# or in the file LICENSE.txt. +# +# As a counterpart to the access to the source code and rights to copy, +# modify and redistribute granted by the license, users are provided only +# with a limited warranty and the software's author, the holder of the +# economic rights, and the successive licensors have only limited +# liability. +# +# The fact that you are presently reading this means that you have had +# knowledge of the CeCILL-B license and that you accept its terms. +# ------------------------------------------------------------------------ +*/ + +/*========================================================================= Program: bbtk Module: $RCSfile$ Language: C++ @@ -8,187 +33,189 @@ Version: $Revision$ /* --------------------------------------------------------------------- -* Copyright (c) CREATIS-LRMN (Centre de Recherche en Imagerie Medicale) -* Authors : Eduardo Davila, Laurent Guigues, Jean-Pierre Roux -* -* This software is governed by the CeCILL-B license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL-B -* license as circulated by CEA, CNRS and INRIA at the following URL -* http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html -* or in the file LICENSE.txt. -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited -* liability. -* -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL-B license and that you accept its terms. -* ------------------------------------------------------------------------ */ + * Copyright (c) CREATIS-LRMN (Centre de Recherche en Imagerie Medicale) + * Authors : Eduardo Davila, Laurent Guigues, Jean-Pierre Roux + * + * This software is governed by the CeCILL-B license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-B + * license as circulated by CEA, CNRS and INRIA at the following URL + * http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html + * or in the file LICENSE.txt. + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-B license and that you accept its terms. + * ------------------------------------------------------------------------ */ /** -* \file -* \brief Class bbtk::GObjectController -*/ + * \file + * \brief Class bbtk::GObjectController + */ #include "GObjectController.h" + +#ifdef _DEBUG +#define new DEBUG_NEW +#endif namespace bbtk { + //========================================================================= + + GObjectController::GObjectController( ) { + + } + + //========================================================================= + + GObjectController::~GObjectController( ) { + } + + //========================================================================= + + void GObjectController::setModelAndView( GObjectModel* model , vtkGObjectView* view ) { + _model = model ; + _view = view ; + } + + //========================================================================= + + bool GObjectController::OnMouseMove( ) { + int X , Y ; + crea::wxVTKRenderWindowInteractor *_wxVTKiren ; + _wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk3DBaseView( )->GetWxVTKRenderWindowInteractor( ) ; + _wxVTKiren->GetEventPosition( X , Y ) ; + int state = _view->getState( ) ; + + + //Evaluate new state + if ( state == NOTHING_HAPPENS ) { + if ( _view->isPointInside( X , Y ) ) { + _view->setState( HIGHLIGHTED ) ; + } + } + if ( state == HIGHLIGHTED ) { + if ( !_view->isPointInside( X , Y ) ) { + _view->setState( NOTHING_HAPPENS ) ; + } + } + + // JGRR & CM WH + + if ( state == POSSIBLE_CONNECTION ) { + if ( _view->isPointInside( X , Y ) ) { + _view->setState( SELECTED_POSSIBLE_CONNECTION ) ; + } + } + + if ( state == SELECTED_POSSIBLE_CONNECTION ) { + if ( !_view->isPointInside( X , Y ) ) { + _view->setState( POSSIBLE_CONNECTION ) ; + } + } + + // EO JGRR & CM WH + + _model->notifyObservers( getId( ) ) ; + + + return true ; + } + + //========================================================================= + + bool GObjectController::OnLeftButtonDown( )//virtual + { + int state = _view->getState( ) ; + + //Evaluate new state + if ( state == HIGHLIGHTED ) { + _isLeftClickDown = true ; + _view->setState( SELECTED ) ; + } + return true ; + } + + //========================================================================= + + bool GObjectController::OnLeftButtonUp( )//virtual + { + return true ; + } + + //========================================================================= + + bool GObjectController::OnLeftDClick( )//virtual + { + + return true ; + } + + //========================================================================= + + bool GObjectController::OnMiddleButtonDown( )//virtual + { + return true ; + } + + //========================================================================= + + void GObjectController::moveObject( int X , int Y ) { + _view->moveObject( X , Y ) ; + } + + //========================================================================= + + int GObjectController::getGObjectType( ) { + return _model->getGObjectType( ) ; + } + + //========================================================================= + + GObjectModel* GObjectController::getModel( ) { + return _model ; + } + + //========================================================================= + + vtkGObjectView* GObjectController::getView( ) { + return _view ; + } + + //========================================================================= + + int GObjectController::getId( ) { + return _model->getObjectId( ) ; + } + + //========================================================================= + + void GObjectController::setId( int id ) { + _model->setObjectId( id ) ; + } + + //========================================================================= + + std::string GObjectController::getStatusText( ) { + return _model->getStatusText( ) ; + } + + //========================================================================= + + void GObjectController::removeFromScene( ) { + _view->removeFromScene( ) ; + } + //========================================================================= - //========================================================================= - GObjectController::GObjectController() - { - - } - - //========================================================================= - - GObjectController::~GObjectController() - { - } - - //========================================================================= - - void GObjectController::setModelAndView(GObjectModel* model, vtkGObjectView* view) - { - _model = model; - _view = view; - } - - //========================================================================= - - bool GObjectController::OnMouseMove() - { - int X,Y; - wxVTKRenderWindowInteractor *_wxVTKiren; - _wxVTKiren= _vtkInteractorStyleBaseView->GetWxVtk3DBaseView()->GetWxVTKRenderWindowInteractor(); - _wxVTKiren->GetEventPosition( X , Y ); - int state = _view->getState(); - - //Evaluate new state - if( state == NOTHING_HAPPENS) - { - if(_view->isPointInside(X,Y)) - { - _view->setState(HIGHLIGHTED); - } - } - if( state==HIGHLIGHTED) - { - if(!_view->isPointInside(X,Y)) - { - _view->setState(NOTHING_HAPPENS); - } - } - - _model->notifyObservers(getId()); - - - return true; - } - - //========================================================================= - - bool GObjectController::OnLeftButtonDown()//virtual - { - int state = _view->getState(); - - //Evaluate new state - if(state == HIGHLIGHTED) - { - _isLeftClickDown=true; - _view->setState(SELECTED); - } - return true; - } - - //========================================================================= - - bool GObjectController::OnLeftButtonUp()//virtual - { - - return true; - } - - //========================================================================= - - bool GObjectController::OnLeftDClick()//virtual - { - - return true; - } - - //========================================================================= - - bool GObjectController::OnMiddleButtonDown()//virtual - { - return true; - } - - //========================================================================= - - void GObjectController::moveObject(int X,int Y) - { - _view->moveObject(X,Y); - } - - //========================================================================= - - int GObjectController::getGObjectType() - { - return _model->getGObjectType(); - } - - //========================================================================= - - GObjectModel* GObjectController::getModel() - { - return _model; - } - - //========================================================================= - - vtkGObjectView* GObjectController::getView() - { - return _view; - } - - //========================================================================= - - int GObjectController::getId() - { - return _model->getObjectId(); - } - - //========================================================================= - - void GObjectController::setId(int id) - { - _model->setObjectId(id); - } - - //========================================================================= - - std::string GObjectController::getStatusText() - { - return _model->getStatusText(); - } - - //========================================================================= - - void GObjectController::removeFromScene() - { - _view->removeFromScene(); - } - - //========================================================================= - -} // EO namespace bbtk +} // EO namespace bbtk // EOF