]> Creatis software - bbtkGEditor.git/blob - lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/GObjectController.cxx
Changes to manage the events capturing in the vtkWorld. Some problems with that ....
[bbtkGEditor.git] / lib / EditorGraphicBBS / bbsVtkGUIEditorGraphic / GObjectController.cxx
1 /*=========================================================================                                                                               
2 Program:   bbtk
3 Module:    $RCSfile$
4 Language:  C++
5 Date:      $Date$
6 Version:   $Revision$
7 =========================================================================*/
8
9 /* ---------------------------------------------------------------------
10
11 * Copyright (c) CREATIS-LRMN (Centre de Recherche en Imagerie Medicale)
12 * Authors : Eduardo Davila, Laurent Guigues, Jean-Pierre Roux
13 *
14 *  This software is governed by the CeCILL-B license under French law and 
15 *  abiding by the rules of distribution of free software. You can  use, 
16 *  modify and/ or redistribute the software under the terms of the CeCILL-B 
17 *  license as circulated by CEA, CNRS and INRIA at the following URL 
18 *  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html 
19 *  or in the file LICENSE.txt.
20 *
21 *  As a counterpart to the access to the source code and  rights to copy,
22 *  modify and redistribute granted by the license, users are provided only
23 *  with a limited warranty  and the software's author,  the holder of the
24 *  economic rights,  and the successive licensors  have only  limited
25 *  liability. 
26 *
27 *  The fact that you are presently reading this means that you have had
28 *  knowledge of the CeCILL-B license and that you accept its terms.
29 * ------------------------------------------------------------------------ */                                                                         
30
31 /**
32 *  \file 
33 *  \brief Class bbtk::GObjectController 
34 */
35
36
37 #include "GObjectController.h"
38
39 namespace bbtk
40 {
41
42
43         //=========================================================================
44         GObjectController::GObjectController()
45         {
46                 
47         }
48
49         //=========================================================================
50         GObjectController::~GObjectController()
51         {
52         }
53         //=========================================================================
54
55         void GObjectController::setModelAndView(GObjectModel* model, vtkGObjectView* view)
56         {
57                 _model = model;
58                 _view = view;
59         }
60         //=========================================================================
61
62 bool GObjectController::OnMouseMove()
63 {
64         cout<<"RaC GObjectController::OnMouseMove "<<endl;
65         if ( _vtkInteractorStyleBaseView!=NULL)
66         {
67                 int X,Y;
68                 wxVTKRenderWindowInteractor *_wxVTKiren;
69                 _wxVTKiren= _vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->GetWxVTKRenderWindowInteractor();
70                 _wxVTKiren->GetEventPosition( X , Y );
71
72                 int state  = _model->getState();
73                 
74                 //Evaluate new state
75                 if(state == CLICKED)
76                 {
77                         _model->setState(DRAG);
78                         //MoveObject(X,Y);
79                         
80                 }
81                 if(state == DRAG)
82                 {
83                         //MoveObject(X,Y);
84                         
85                 }
86                 if(state == NOTHING_HAPPENS)
87                 {
88                         if(_view->isPointInside(X,Y))
89                         {
90                                 _model->setState(HIGHLIGHTED);                          
91                         }
92                 }
93                 
94                 _view->refresh();
95         }
96         return true;
97 }
98 //=========================================================================
99 bool GObjectController::OnLeftButtonDown()
100 {
101         
102         if ( _vtkInteractorStyleBaseView!=NULL )
103         {
104                 int X,Y;
105                 wxVTKRenderWindowInteractor *wxVTKiren;
106                 wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->GetWxVTKRenderWindowInteractor();
107                 wxVTKiren->GetEventPosition(X,Y);
108
109                 //MouseClickLeft(X,Y);
110         }
111         return true;
112 }
113 //=========================================================================
114 bool GObjectController::OnLeftButtonUp()
115 {
116         if ( _vtkInteractorStyleBaseView!=NULL )
117         {
118                 int X,Y;
119                 wxVTKRenderWindowInteractor *wxVTKiren;
120                 wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->GetWxVTKRenderWindowInteractor();
121                 wxVTKiren->GetEventPosition(X,Y);
122                 //MouseReleaseLeft(X,Y);
123         }
124         return true;
125 }
126 //=========================================================================
127 bool GObjectController::OnLeftDClick()
128 {
129         if ( _vtkInteractorStyleBaseView!=NULL )
130         {
131                 int X,Y;
132                 wxVTKRenderWindowInteractor *wxVTKiren;
133                 wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->GetWxVTKRenderWindowInteractor();
134                 wxVTKiren->GetEventPosition(X,Y);
135
136                 //this->MouseDLeft(X,Y);
137         }
138         return true;
139 }
140 //=========================================================================
141 bool GObjectController::OnMiddleButtonDown()
142 {
143         if ( _vtkInteractorStyleBaseView!=NULL )
144         {
145                 int X,Y;
146                 wxVTKRenderWindowInteractor *wxVTKiren;
147                 wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->GetWxVTKRenderWindowInteractor();
148                 wxVTKiren->GetEventPosition(X,Y);
149                 //GetManualViewBaseContour()->InitMove( X, Y,GetZ());
150         }
151         return true;
152 }
153 //=========================================================================
154 bool GObjectController::OnMiddleButtonUp()
155 {
156         return true;
157 }
158 //=========================================================================
159 bool GObjectController::OnRightButtonDown()
160 {
161         if( _vtkInteractorStyleBaseView!= NULL )
162         {
163                 int X,Y;
164                 wxVTKRenderWindowInteractor *wxVTKiren;
165                 wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->GetWxVTKRenderWindowInteractor();
166                 wxVTKiren->GetEventPosition(X, Y);
167
168                 //SetCompleteCreation( true );
169                 //SetKeyBoardMoving( false );
170                 //this->GetManualContourModel()->SetCloseContour(true);
171                 //MouseClickRight(X,Y);
172         }
173         return true;
174 }
175 //=========================================================================
176 bool GObjectController::OnRightButtonUp()
177 {
178         return true;
179 }
180 //=========================================================================
181
182 }  // EO namespace bbtk
183
184 // EOF
185