-/*=========================================================================
+/*
+# ---------------------------------------------------------------------
+#
+# 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++
/* ---------------------------------------------------------------------
-* 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 :
+ */
-/**
-* \class bbtk::GObjectController
-* \brief
-*/
+/****
+ * Design and Developpement of BBTK GEditor
+ * Ricardo A Corredor J <ra.corredor67@uniandes.edu.co>
+ * RaC - 2010
+ ****/
#ifndef __GObjectController_h__
#define __GObjectController_h__
//Includes std
#include <iostream>
-namespace bbtk
-{
-
- class GObjectController : public InteractorStyleMaracas
- {
-
- public:
-
- //Constructors
- GObjectController();
- ~GObjectController();
-
- //Public methods
-
- void setModelAndView(GObjectModel* model, vtkGObjectView* view);
-
- private:
-
- //Attributes
- GObjectModel* _model;
- vtkGObjectView* _view;
-
-
- //Private Methods
-
- protected:
-
- };
-
-
+namespace bbtk {
+ class GObjectController : public InteractorStyleMaracas {
+ public:
+ //Constructors
+ GObjectController( );
+ ~ GObjectController( );
+ //Public methods
+ void setModelAndView( GObjectModel* model, vtkGObjectView* view );
+ // Same type of the saved in the model of the graphical objects
+ int getGObjectType( );
+ GObjectModel* getModel( );
+ vtkGObjectView* getView( );
+ std::string getStatusText( );
+ // Same ObjectID from the model
+ int getId( );
+ void setId( int id );
+ virtual void removeFromScene( );
+ private:
+ //Attributes
+ //Private Methods
+ protected:
+ //Protected Attributes
+ GObjectModel *_model;
+ vtkGObjectView *_view;
+ bool _isLeftClickDown;
+ //Protected Methods
+ // Methods from InteractorStyleMaracas
+ virtual bool OnMouseMove( );
+ virtual bool OnLeftButtonDown( );
+ virtual bool OnLeftButtonUp( );
+ virtual bool OnLeftDClick( );
+ virtual bool OnMiddleButtonDown( );
+ virtual void moveObject( int X, int Y );
+ };
}
// namespace bbtk
#endif