From 8fda22926665e75ccf2d7c8231e854ff3fc7c12c Mon Sep 17 00:00:00 2001 From: corredor <> Date: Mon, 26 Apr 2010 12:39:20 +0000 Subject: [PATCH] Change in colors and middle button to select executable box(es) --- .../bbsKernelEditorGraphic/GBlackBoxModel.cxx | 16 +++++++++- .../bbsKernelEditorGraphic/GBlackBoxModel.h | 4 +++ .../bbsKernelEditorGraphic/GlobalConstants.h | 4 +-- .../wxVtkSceneManager.cxx | 2 +- .../GBlackBoxController.cxx | 31 ++++++++++++++++++- .../GBlackBoxController.h | 14 ++++++--- .../GObjectController.cxx | 7 +++++ .../GObjectController.h | 1 + .../vtkGBlackBoxView.cxx | 8 +++++ .../bbsVtkGUIEditorGraphic/vtkGBlackBoxView.h | 1 + 10 files changed, 78 insertions(+), 10 deletions(-) diff --git a/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GBlackBoxModel.cxx b/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GBlackBoxModel.cxx index e58e73a..deeb490 100644 --- a/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GBlackBoxModel.cxx +++ b/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GBlackBoxModel.cxx @@ -43,6 +43,7 @@ namespace bbtk //========================================================================= GBlackBoxModel::GBlackBoxModel() { + _isExecutable = false; } //========================================================================= @@ -109,7 +110,6 @@ namespace bbtk } //========================================================================= - std::string GBlackBoxModel::getBBTKPackage() { @@ -125,6 +125,20 @@ namespace bbtk //========================================================================= + bool GBlackBoxModel::isExecutable() + { + return _isExecutable; + } + + //========================================================================= + + void GBlackBoxModel::setExecutable(bool executable) + { + _isExecutable = executable; + } + + //========================================================================= + std::string GBlackBoxModel::getStatusText() { std::string temp = ""; diff --git a/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GBlackBoxModel.h b/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GBlackBoxModel.h index 209af97..82214a4 100644 --- a/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GBlackBoxModel.h +++ b/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GBlackBoxModel.h @@ -82,11 +82,15 @@ namespace bbtk virtual std::string getStatusText(); + bool isExecutable(); + void setExecutable(bool executable); + private: //Private Attributes std::vector _inputs; std::vector _outputs; + bool _isExecutable; //Private Methods diff --git a/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GlobalConstants.h b/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GlobalConstants.h index eafadc4..0d3c826 100644 --- a/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GlobalConstants.h +++ b/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GlobalConstants.h @@ -100,8 +100,8 @@ namespace bbtk const double BOXFILL_NH_B=0.15; const double BOXFILL_HIGHLIGHTED_R=0.05; - const double BOXFILL_HIGHLIGHTED_G=0.45; - const double BOXFILL_HIGHLIGHTED_B=0.65; + const double BOXFILL_HIGHLIGHTED_G=0.30; + const double BOXFILL_HIGHLIGHTED_B=0.45; const double BOXFILL_DRAG_R=0.75; const double BOXFILL_DRAG_G=0.75; diff --git a/lib/EditorGraphicBBS/bbsKernelEditorGraphic/wxVtkSceneManager.cxx b/lib/EditorGraphicBBS/bbsKernelEditorGraphic/wxVtkSceneManager.cxx index f1f1fed..22d8977 100644 --- a/lib/EditorGraphicBBS/bbsKernelEditorGraphic/wxVtkSceneManager.cxx +++ b/lib/EditorGraphicBBS/bbsKernelEditorGraphic/wxVtkSceneManager.cxx @@ -66,7 +66,7 @@ namespace bbtk void wxVtkSceneManager::disconnectDrop() { _baseView->GetWxVTKRenderWindowInteractor()->SetDropTarget(NULL); - } + } //========================================================================= diff --git a/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/GBlackBoxController.cxx b/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/GBlackBoxController.cxx index bafa37f..efe5ba8 100644 --- a/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/GBlackBoxController.cxx +++ b/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/GBlackBoxController.cxx @@ -140,8 +140,37 @@ namespace bbtk //========================================================================= - bool GBlackBoxController::OnRightButtonDown() + bool GBlackBoxController::OnRightButtonUp() { + GBlackBoxModel *bbmodel = (GBlackBoxModel*)_model; + if(bbmodel->isExecutable()) + { + bbmodel->setExecutable(false); + } + + return true; + } + + //========================================================================= + + bool GBlackBoxController::OnMiddleButtonDown() + { + int X,Y; + wxVTKRenderWindowInteractor *wxVTKiren; + wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk3DBaseView()->GetWxVTKRenderWindowInteractor(); + wxVTKiren->GetEventPosition(X,Y); + + int state = _view->getState(); + + //Evaluate new state + if(_view->isPointInside(X,Y)) + { + GBlackBoxModel *bbmodel = (GBlackBoxModel*)_model; + _view->setState(HIGHLIGHTED); + bbmodel->setExecutable(true); + bbmodel->notifyObservers(_id); + } + return true; } diff --git a/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/GBlackBoxController.h b/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/GBlackBoxController.h index 66ca365..d5e3445 100644 --- a/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/GBlackBoxController.h +++ b/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/GBlackBoxController.h @@ -46,6 +46,7 @@ Version: $Revision$ //Includes same project #include "GlobalConstants.h" #include "GObjectController.h" +#include "GBlackBoxModel.h" //Includes creaMaracasVisu @@ -66,11 +67,7 @@ namespace bbtk ~GBlackBoxController(); //Public methods - virtual bool OnMouseMove(); - virtual bool OnLeftButtonDown(); - virtual bool OnLeftButtonUp(); - virtual bool OnLeftDClick(); - virtual bool OnRightButtonDown(); + private: @@ -80,6 +77,13 @@ namespace bbtk //Private Methods protected: + virtual bool OnMouseMove(); + virtual bool OnLeftButtonDown(); + virtual bool OnLeftButtonUp(); + virtual bool OnMiddleButtonDown(); + virtual bool OnLeftDClick(); + virtual bool OnRightButtonUp(); + }; diff --git a/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/GObjectController.cxx b/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/GObjectController.cxx index 7926e68..3ba353c 100644 --- a/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/GObjectController.cxx +++ b/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/GObjectController.cxx @@ -124,6 +124,13 @@ namespace bbtk return true; } + //========================================================================= + + bool GObjectController::OnMiddleButtonDown()//virtual + { + return true; + } + //========================================================================= void GObjectController::moveObject(int X,int Y) diff --git a/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/GObjectController.h b/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/GObjectController.h index 6c5fe8d..ed826a4 100644 --- a/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/GObjectController.h +++ b/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/GObjectController.h @@ -98,6 +98,7 @@ namespace bbtk virtual bool OnLeftButtonDown(); virtual bool OnLeftButtonUp(); virtual bool OnLeftDClick(); + virtual bool OnMiddleButtonDown(); virtual void moveObject(int X,int Y); diff --git a/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGBlackBoxView.cxx b/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGBlackBoxView.cxx index 70aed5f..34e4f90 100644 --- a/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGBlackBoxView.cxx +++ b/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGBlackBoxView.cxx @@ -196,11 +196,19 @@ namespace bbtk _fillObjectActor->GetProperty()->SetColor(BOXFILL_NH_R,BOXFILL_NH_G,BOXFILL_NH_B); _nameActor->GetTextProperty()->SetColor(BOXTEXT_NH_R,BOXTEXT_NH_G,BOXTEXT_NH_B); _typeActor->GetTextProperty()->SetColor(BOXTEXT_NH_R,BOXTEXT_NH_G,BOXTEXT_NH_B); + + GBlackBoxModel *bbmodel = (GBlackBoxModel*)_model; + if(bbmodel->isExecutable()) + { + _borderObjectActor->GetProperty()->SetColor(BOXBORDER_NH_R,0.9,BOXBORDER_HIGHLIGHTED_B); + _fillObjectActor->GetProperty()->SetColor(BOXFILL_NH_R,0.9,BOXFILL_HIGHLIGHTED_B); + } } else if(_state==HIGHLIGHTED) { _borderObjectActor->GetProperty()->SetLineWidth(2); + _borderObjectActor->GetProperty()->SetColor(BOXBORDER_HIGHLIGHTED_R,BOXBORDER_HIGHLIGHTED_G,BOXBORDER_HIGHLIGHTED_B); _fillObjectActor->GetProperty()->SetColor(BOXFILL_HIGHLIGHTED_R,BOXFILL_HIGHLIGHTED_G,BOXFILL_HIGHLIGHTED_B); _nameActor->GetTextProperty()->SetColor(BOXTEXT_HIGHLIGHTED_R,BOXTEXT_HIGHLIGHTED_G,BOXTEXT_HIGHLIGHTED_B); diff --git a/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGBlackBoxView.h b/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGBlackBoxView.h index 4650503..67b2a26 100644 --- a/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGBlackBoxView.h +++ b/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGBlackBoxView.h @@ -46,6 +46,7 @@ Version: $Revision$ //Includes same project #include "GlobalConstants.h" #include "vtkGObjectView.h" +#include "GBlackBoxModel.h" //Includes creaMaracasVisu -- 2.45.1