bbtk::GBlackBoxController Class Reference

#include <GBlackBoxController.h>

Inheritance diagram for bbtk::GBlackBoxController:

Inheritance graph
[legend]
Collaboration diagram for bbtk::GBlackBoxController:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 GBlackBoxController ()
 ~GBlackBoxController ()
void setModelAndView (GObjectModel *model, vtkGObjectView *view)
int getGObjectType ()
GObjectModelgetModel ()
vtkGObjectViewgetView ()
std::string getStatusText ()
int getId ()
void setId (int id)
virtual void removeFromScene ()

Protected Member Functions

virtual bool OnMouseMove ()
virtual bool OnLeftButtonDown ()
virtual bool OnLeftButtonUp ()
virtual bool OnMiddleButtonDown ()
virtual bool OnRightButtonUp ()
virtual bool OnLeftDClick ()
virtual void moveObject (int X, int Y)

Protected Attributes

GObjectModel_model
vtkGObjectView_view
bool _isLeftClickDown

Private Attributes

bool _objHasBeenMoved


Detailed Description

Definition at line 61 of file GBlackBoxController.h.


Constructor & Destructor Documentation

bbtk::GBlackBoxController::GBlackBoxController (  ) 

Definition at line 47 of file GBlackBoxController.cxx.

00048         {
00049 
00050         }

bbtk::GBlackBoxController::~GBlackBoxController (  ) 

Definition at line 53 of file GBlackBoxController.cxx.

00054         {
00055         }


Member Function Documentation

int bbtk::GObjectController::getGObjectType (  )  [inherited]

int bbtk::GObjectController::getId (  )  [inherited]

GObjectModel * bbtk::GObjectController::getModel (  )  [inherited]

std::string bbtk::GObjectController::getStatusText (  )  [inherited]

Definition at line 181 of file GObjectController.cxx.

References bbtk::GObjectController::_model, and bbtk::GObjectModel::getStatusText().

Referenced by bbtk::wxVtkSceneManager::OnMouseMove().

00181                                                 {
00182         return _model->getStatusText( ) ;
00183     }

Here is the call graph for this function:

Here is the caller graph for this function:

vtkGObjectView * bbtk::GObjectController::getView (  )  [inherited]

void bbtk::GObjectController::moveObject ( int  X,
int  Y 
) [protected, virtual, inherited]

Definition at line 145 of file GObjectController.cxx.

References bbtk::GObjectController::_view, and bbtk::vtkGObjectView::moveObject().

00145                                                       {
00146         _view->moveObject( X , Y ) ;
00147     }

Here is the call graph for this function:

bool bbtk::GBlackBoxController::OnLeftButtonDown (  )  [protected, virtual]

Reimplemented from bbtk::GBoxController.

Definition at line 103 of file GBlackBoxController.cxx.

References bbtk::GObjectController::_isLeftClickDown, bbtk::GObjectController::_model, _objHasBeenMoved, bbtk::GObjectController::_view, bbtk::ADD_TO_SELECTED, bbtk::DRAG, bbtk::GObjectController::getId(), bbtk::vtkGObjectView::getState(), bbtk::vtkGObjectView::isPointInside(), bbtk::NOTHING_HAPPENS, bbtk::Observable::notifyObservers(), bbtk::REMOVE_FROM_SELECTED, bbtk::SELECTED, and bbtk::vtkGObjectView::setState().

00104         {
00105                 _objHasBeenMoved = false;
00106                 _isLeftClickDown = true;
00107         bool ok=true;
00108                 
00109                 int X,Y;
00110                 wxVTKRenderWindowInteractor *_wxVTKiren;
00111                 _wxVTKiren= _vtkInteractorStyleBaseView->GetWxVtk3DBaseView()->GetWxVTKRenderWindowInteractor();
00112                 _wxVTKiren->GetEventPosition( X , Y );
00113                 
00114                 
00115                 
00116                 int state  = _view->getState();
00117                 //Evaluate new state
00118                 
00119                 if(_view->isPointInside(X,Y))
00120                 
00121 //              if(state == HIGHLIGHTED)
00122 //EED3oct2010           if ( (state == HIGHLIGHTED) && (ctrlkey==1  ) )
00123                 {
00124                     ok=false;
00125                         _view->setState(SELECTED);
00126                         _model->notifyObservers(getId(),ADD_TO_SELECTED);
00127                 }
00128                 
00129       
00130                 int shiftkey            = _vtkInteractorStyleBaseView->GetInteractor()->GetShiftKey();
00131                 int ctrlkey             = _vtkInteractorStyleBaseView->GetInteractor()->GetControlKey();
00132                 ctrlkey = ctrlkey + shiftkey;
00133                 
00134                 
00135                 if ( (state==DRAG) && (ctrlkey==1) &&  (_view->isPointInside(X,Y)==true) )
00136                 {
00137                         _view->setState(NOTHING_HAPPENS);
00138                         _model->notifyObservers(getId(),REMOVE_FROM_SELECTED);
00139                 }
00140 
00141                 return ok;
00142         }

Here is the call graph for this function:

bool bbtk::GBlackBoxController::OnLeftButtonUp (  )  [protected, virtual]

Reimplemented from bbtk::GBoxController.

Definition at line 146 of file GBlackBoxController.cxx.

References bbtk::GObjectController::_isLeftClickDown, bbtk::GObjectController::_model, _objHasBeenMoved, bbtk::GObjectController::_view, bbtk::GObjectController::getId(), bbtk::vtkGObjectView::getState(), bbtk::NOTHING_HAPPENS, bbtk::Observable::notifyObservers(), bbtk::REMOVE_FROM_SELECTED, bbtk::SELECTED, and bbtk::vtkGObjectView::setState().

00147         {
00148         _isLeftClickDown    = false;
00149                 int state           = _view->getState();
00150 
00151                 //Evaluate new state
00152 
00153 //EED Borrame
00154 //              int X,Y;
00155 //              wxVTKRenderWindowInteractor *wxVTKiren;
00156 //              wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk3DBaseView()->GetWxVTKRenderWindowInteractor();
00157 //              wxVTKiren->GetEventPosition(X,Y);
00158 //              if(_isLeftClickDown)
00159 //              {
00160 //                      _isLeftClickDown=false;
00161 //                      if(_view->isPointInside(X,Y))
00162 //                      {
00163                                 // It is supposed that I'm always inside even if the box is in drag
00164 //                              _view->setState(SELECTED);
00165 //                              _model->notifyObservers(getId());
00166 //                      }
00167 //              }
00168 
00169 
00170 
00171                 int shiftkey            = _vtkInteractorStyleBaseView->GetInteractor()->GetShiftKey();
00172                 int ctrlkey             = _vtkInteractorStyleBaseView->GetInteractor()->GetControlKey();
00173                 ctrlkey = ctrlkey + shiftkey;
00174                 
00175                 
00176                 if ( (state==SELECTED) && (ctrlkey==0) && (_objHasBeenMoved==false))
00177                 {
00178                         _view->setState(NOTHING_HAPPENS);
00179                         _model->notifyObservers(getId(),REMOVE_FROM_SELECTED);
00180                 }
00181 
00182 
00183 
00184                 return true;
00185 
00186         }

Here is the call graph for this function:

bool bbtk::GObjectController::OnLeftDClick (  )  [protected, virtual, inherited]

Reimplemented in bbtk::GConnectorController.

Definition at line 130 of file GObjectController.cxx.

00131     {
00132 
00133         return true ;
00134     }

bool bbtk::GBlackBoxController::OnMiddleButtonDown (  )  [protected, virtual]

Reimplemented from bbtk::GBoxController.

Definition at line 197 of file GBlackBoxController.cxx.

References bbtk::GObjectController::_model, bbtk::GObjectController::_view, bbtk::GObjectController::getId(), bbtk::HIGHLIGHTED, bbtk::GBlackBoxModel::isExecutable(), bbtk::vtkGObjectView::isPointInside(), bbtk::Observable::notifyObservers(), bbtk::GBlackBoxModel::setExecutable(), and bbtk::vtkGObjectView::setState().

00198         {
00199                 int X,Y;
00200                 wxVTKRenderWindowInteractor *wxVTKiren;
00201                 wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk3DBaseView()->GetWxVTKRenderWindowInteractor();
00202                 wxVTKiren->GetEventPosition(X,Y);
00203 
00204 //              int state  = _view->getState();
00205 
00206                 //Evaluate new state
00207                 if(_view->isPointInside(X,Y))
00208                 {
00209                         GBlackBoxModel *bbmodel = (GBlackBoxModel*)_model;
00210                         _view->setState(HIGHLIGHTED);
00211                         if(bbmodel->isExecutable())
00212                         {
00213                                 bbmodel->setExecutable(false);
00214                         }
00215                         else
00216                         {
00217                                 bbmodel->setExecutable(true);
00218                         }
00219                         bbmodel->notifyObservers(getId());
00220                 }
00221 
00222                 return true;
00223         }

Here is the call graph for this function:

bool bbtk::GBlackBoxController::OnMouseMove (  )  [protected, virtual]

Reimplemented from bbtk::GBoxController.

Definition at line 58 of file GBlackBoxController.cxx.

References bbtk::GObjectController::_isLeftClickDown, bbtk::GObjectController::_model, _objHasBeenMoved, bbtk::GObjectController::_view, bbtk::DRAG, bbtk::GObjectController::getId(), bbtk::vtkGObjectView::getState(), bbtk::HIGHLIGHTED, bbtk::vtkGObjectView::isPointInside(), bbtk::NOTHING_HAPPENS, bbtk::Observable::notifyObservers(), and bbtk::vtkGObjectView::setState().

00059         {
00060 
00061                 if ( _vtkInteractorStyleBaseView!=NULL)
00062                 {
00063                         int X,Y;
00064                         wxVTKRenderWindowInteractor *_wxVTKiren;
00065                         _wxVTKiren= _vtkInteractorStyleBaseView->GetWxVtk3DBaseView()->GetWxVTKRenderWindowInteractor();
00066                         _wxVTKiren->GetEventPosition( X , Y );
00067 
00068                         int state  = _view->getState();
00069 
00070                         //Evaluate new state
00071 
00072                         if(state == NOTHING_HAPPENS)
00073                         {
00074                                 if(_view->isPointInside(X,Y))
00075                                 {
00076                                         _view->setState(HIGHLIGHTED);
00077                                 }
00078                                                 return true; // to avoid to redraw all if nothing
00079                         } // state
00080 
00081                         if( state==HIGHLIGHTED)
00082                         {
00083                                 if(!_view->isPointInside(X,Y))
00084                                 {
00085                                         _view->setState(NOTHING_HAPPENS);
00086                                 }
00087                         } // state
00088 
00089 
00090                         if ((state==DRAG) && (_isLeftClickDown==true) )
00091                         {
00092                             _objHasBeenMoved=true;
00093                         } // state
00094 
00095                         _model->notifyObservers(getId());
00096 
00097                 }
00098                 return true;
00099         }

Here is the call graph for this function:

bool bbtk::GBlackBoxController::OnRightButtonUp (  )  [protected, virtual]

Reimplemented from bbtk::GBoxController.

Definition at line 190 of file GBlackBoxController.cxx.

00191         {
00192                 return true;
00193         }

void bbtk::GObjectController::removeFromScene (  )  [virtual, inherited]

Reimplemented in bbtk::GConnectorController.

Definition at line 187 of file GObjectController.cxx.

References bbtk::GObjectController::_view, and bbtk::vtkGObjectView::removeFromScene().

Referenced by bbtk::wxVtkSceneManager::deleteAllBoxes(), and bbtk::wxVtkSceneManager::deleteObject().

00187                                              {
00188         _view->removeFromScene( ) ;
00189     }

Here is the call graph for this function:

Here is the caller graph for this function:

void bbtk::GObjectController::setId ( int  id  )  [inherited]

Definition at line 175 of file GObjectController.cxx.

References bbtk::GObjectController::_model, and bbtk::GObjectModel::setObjectId().

00175                                           {
00176         _model->setObjectId( id ) ;
00177     }

Here is the call graph for this function:

void bbtk::GObjectController::setModelAndView ( GObjectModel model,
vtkGObjectView view 
) [inherited]


Member Data Documentation

bool bbtk::GObjectController::_isLeftClickDown [protected, inherited]

Definition at line 77 of file GBlackBoxController.h.

Referenced by OnLeftButtonDown(), OnLeftButtonUp(), and OnMouseMove().


The documentation for this class was generated from the following files:

Generated on Thu May 31 15:13:37 2012 for bbtkGEditor by  doxygen 1.5.7.1