#include <GBlackBoxController.h>
Public Member Functions | |
GBlackBoxController () | |
~GBlackBoxController () | |
void | setModelAndView (GObjectModel *model, vtkGObjectView *view) |
int | getGObjectType () |
GObjectModel * | getModel () |
vtkGObjectView * | getView () |
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 |
Definition at line 61 of file GBlackBoxController.h.
bbtk::GBlackBoxController::GBlackBoxController | ( | ) |
bbtk::GBlackBoxController::~GBlackBoxController | ( | ) |
int bbtk::GObjectController::getGObjectType | ( | ) | [inherited] |
Definition at line 151 of file GObjectController.cxx.
References bbtk::GObjectController::_model, and bbtk::GObjectModel::getGObjectType().
Referenced by bbtk::wxVtkSceneManager::addObjects(), bbtk::wxVtkSceneManager::deleteObject(), bbtk::wxVtkSceneManager::DuplicateObjects(), bbtk::wxVtkSceneManager::getBlackBoxes(), bbtk::wxVtkSceneManager::getComplexInputPorts(), bbtk::wxVtkSceneManager::getComplexOutputPorts(), bbtk::wxVtkSceneManager::getConnections(), bbtk::wxVtkSceneManager::getDiagramBBS(), bbtk::wxVtkSceneManager::GetGBlackBoxControlerPointedByMouse(), bbtk::wxVtkSceneManager::getSelectedObjects(), bbtk::wxVtkSceneManager::OnLeftButtonDown(), bbtk::wxVtkSceneManager::OnMouseMove(), bbtk::wxVtkSceneManager::saveComplexBoxBBS(), and bbtk::wxVtkSceneManager::update().
00151 { 00152 return _model->getGObjectType( ) ; 00153 }
int bbtk::GObjectController::getId | ( | ) | [inherited] |
Definition at line 169 of file GObjectController.cxx.
References bbtk::GObjectController::_model, and bbtk::GObjectModel::getObjectId().
Referenced by bbtk::wxVtkSceneManager::addObjects(), bbtk::wxVtkSceneManager::createGInputPort(), bbtk::wxVtkSceneManager::createGOutputPort(), bbtk::wxVtkSceneManager::DuplicateObjects(), bbtk::wxVtkSceneManager::getBlackBoxes(), bbtk::wxVtkSceneManager::getComplexInputPorts(), bbtk::wxVtkSceneManager::getComplexOutputPorts(), bbtk::wxVtkSceneManager::getConnections(), bbtk::wxVtkSceneManager::getSelectedObjects(), bbtk::wxVtkSceneManager::MakeBoxExecutable(), bbtk::GBoxController::OnLeftButtonDown(), OnLeftButtonDown(), bbtk::GPortController::OnLeftButtonUp(), bbtk::GConnectorController::OnLeftButtonUp(), bbtk::GBoxController::OnLeftButtonUp(), OnLeftButtonUp(), OnMiddleButtonDown(), bbtk::GObjectController::OnMouseMove(), bbtk::GBoxController::OnMouseMove(), and OnMouseMove().
00169 { 00170 return _model->getObjectId( ) ; 00171 }
GObjectModel * bbtk::GObjectController::getModel | ( | ) | [inherited] |
Definition at line 157 of file GObjectController.cxx.
References bbtk::GObjectController::_model.
Referenced by bbtk::wxVtkSceneManager::addObjects(), bbtk::wxVtkSceneManager::boxExist(), bbtk::wxVtkSceneManager::CancelConnection(), bbtk::wxVtkSceneManager::configGBlackBox(), bbtk::wxVtkSceneManager::configGComBoxInputOutputPort(), bbtk::wxVtkSceneManager::configGConnetion(), bbtk::wxVtkSceneManager::createGComplexBoxInputPort(), bbtk::wxVtkSceneManager::createGComplexBoxOutputPort(), bbtk::wxVtkSceneManager::createGInputPort(), bbtk::wxVtkSceneManager::createGOutputPort(), bbtk::wxVtkSceneManager::deleteObject(), bbtk::wxVtkSceneManager::DuplicateObjects(), bbtk::wxVtkSceneManager::getDiagramBBS(), bbtk::wxVtkSceneManager::getSelectedObjects(), bbtk::wxVtkSceneManager::MakeBoxExecutable(), bbtk::wxVtkSceneManager::OnLeftButtonDown(), bbtk::wxVtkSceneManager::OnLeftButtonUp(), bbtk::wxVtkSceneManager::OnLeftDClick(), bbtk::wxVtkSceneManager::OnMouseMove(), bbtk::wxVtkSceneManager::saveComplexBoxBBS(), bbtk::wxVtkSceneManager::saveDiagram(), bbtk::wxVtkSceneManager::UnSelectBlackBoxes(), and bbtk::wxVtkSceneManager::update().
00157 { 00158 return _model ; 00159 }
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 }
vtkGObjectView * bbtk::GObjectController::getView | ( | ) | [inherited] |
Definition at line 163 of file GObjectController.cxx.
References bbtk::GObjectController::_view.
Referenced by bbtk::wxVtkSceneManager::addObjects(), bbtk::wxVtkSceneManager::CancelConnection(), bbtk::wxVtkSceneManager::configGConnetion(), bbtk::wxVtkSceneManager::DuplicateObjects(), bbtk::wxVtkSceneManager::GetGBlackBoxControlerPointedByMouse(), bbtk::wxVtkSceneManager::getSelectedObjects(), bbtk::wxVtkSceneManager::MakeBoxExecutable(), bbtk::wxVtkSceneManager::OnLeftButtonDown(), bbtk::wxVtkSceneManager::OnLeftButtonUp(), bbtk::wxVtkSceneManager::OnMouseMove(), bbtk::wxVtkSceneManager::UnSelectBlackBoxes(), and bbtk::wxVtkSceneManager::update().
00163 { 00164 return _view ; 00165 }
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 }
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 }
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 }
bool bbtk::GObjectController::OnLeftDClick | ( | ) | [protected, virtual, inherited] |
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 }
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 }
bool bbtk::GBlackBoxController::OnRightButtonUp | ( | ) | [protected, virtual] |
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 }
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 }
void bbtk::GObjectController::setModelAndView | ( | GObjectModel * | model, | |
vtkGObjectView * | view | |||
) | [inherited] |
Definition at line 58 of file GObjectController.cxx.
References bbtk::GObjectController::_model, and bbtk::GObjectController::_view.
Referenced by bbtk::wxVtkSceneManager::createGBlackBox(), bbtk::wxVtkSceneManager::createGComplexBoxInputPort(), bbtk::wxVtkSceneManager::createGComplexBoxOutputPort(), bbtk::wxVtkSceneManager::createGConnector(), and bbtk::wxVtkSceneManager::createGPort().
bool bbtk::GObjectController::_isLeftClickDown [protected, inherited] |
Definition at line 100 of file GObjectController.h.
Referenced by bbtk::GPortController::GPortController(), bbtk::GPortController::OnLeftButtonDown(), bbtk::GObjectController::OnLeftButtonDown(), bbtk::GBoxController::OnLeftButtonDown(), OnLeftButtonDown(), bbtk::GPortController::OnLeftButtonUp(), bbtk::GBoxController::OnLeftButtonUp(), OnLeftButtonUp(), and OnMouseMove().
GObjectModel* bbtk::GObjectController::_model [protected, inherited] |
Definition at line 97 of file GObjectController.h.
Referenced by bbtk::GObjectController::getGObjectType(), bbtk::GObjectController::getId(), bbtk::GObjectController::getModel(), bbtk::GObjectController::getStatusText(), bbtk::GBoxController::OnLeftButtonDown(), OnLeftButtonDown(), bbtk::GPortController::OnLeftButtonUp(), bbtk::GConnectorController::OnLeftButtonUp(), bbtk::GBoxController::OnLeftButtonUp(), OnLeftButtonUp(), OnMiddleButtonDown(), bbtk::GObjectController::OnMouseMove(), bbtk::GBoxController::OnMouseMove(), OnMouseMove(), bbtk::GConnectorController::removeFromScene(), bbtk::GObjectController::setId(), and bbtk::GObjectController::setModelAndView().
bool bbtk::GBlackBoxController::_objHasBeenMoved [private] |
Definition at line 77 of file GBlackBoxController.h.
Referenced by OnLeftButtonDown(), OnLeftButtonUp(), and OnMouseMove().
vtkGObjectView* bbtk::GObjectController::_view [protected, inherited] |
Definition at line 98 of file GObjectController.h.
Referenced by bbtk::GObjectController::getView(), bbtk::GObjectController::moveObject(), bbtk::GPortController::OnLeftButtonDown(), bbtk::GObjectController::OnLeftButtonDown(), bbtk::GBoxController::OnLeftButtonDown(), OnLeftButtonDown(), bbtk::GPortController::OnLeftButtonUp(), bbtk::GConnectorController::OnLeftButtonUp(), bbtk::GBoxController::OnLeftButtonUp(), OnLeftButtonUp(), OnMiddleButtonDown(), bbtk::GObjectController::OnMouseMove(), bbtk::GBoxController::OnMouseMove(), OnMouseMove(), bbtk::GObjectController::removeFromScene(), and bbtk::GObjectController::setModelAndView().