]> Creatis software - bbtkGEditor.git/commitdiff
Change in colors and middle button to select executable box(es)
authorcorredor <>
Mon, 26 Apr 2010 12:39:20 +0000 (12:39 +0000)
committercorredor <>
Mon, 26 Apr 2010 12:39:20 +0000 (12:39 +0000)
lib/EditorGraphicBBS/bbsKernelEditorGraphic/GBlackBoxModel.cxx
lib/EditorGraphicBBS/bbsKernelEditorGraphic/GBlackBoxModel.h
lib/EditorGraphicBBS/bbsKernelEditorGraphic/GlobalConstants.h
lib/EditorGraphicBBS/bbsKernelEditorGraphic/wxVtkSceneManager.cxx
lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/GBlackBoxController.cxx
lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/GBlackBoxController.h
lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/GObjectController.cxx
lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/GObjectController.h
lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGBlackBoxView.cxx
lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGBlackBoxView.h

index e58e73a..deeb490 100644 (file)
@@ -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 = "";
index 209af97..82214a4 100644 (file)
@@ -82,11 +82,15 @@ namespace bbtk
 
                virtual std::string getStatusText();
 
+               bool isExecutable();
+               void setExecutable(bool executable);
+
        private:
 
                //Private Attributes
                std::vector<GPortModel*> _inputs;
                std::vector<GPortModel*> _outputs;
+               bool _isExecutable;
 
                //Private Methods
 
index eafadc4..0d3c826 100644 (file)
@@ -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;
index f1f1fed..22d8977 100644 (file)
@@ -66,7 +66,7 @@ namespace bbtk
        void wxVtkSceneManager::disconnectDrop()
        {
                _baseView->GetWxVTKRenderWindowInteractor()->SetDropTarget(NULL);
-       }
+       }
 
        //=========================================================================
 
index bafa37f..efe5ba8 100644 (file)
@@ -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;
        }
 
index 66ca365..d5e3445 100644 (file)
@@ -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();
+
 
        };
 
index 7926e68..3ba353c 100644 (file)
@@ -124,6 +124,13 @@ namespace bbtk
                return true;
        }
 
+       //=========================================================================
+       
+       bool GObjectController::OnMiddleButtonDown()//virtual
+       {
+               return true;
+       }
+
        //=========================================================================
 
        void GObjectController::moveObject(int X,int Y)
index 6c5fe8d..ed826a4 100644 (file)
@@ -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);
 
index 70aed5f..34e4f90 100644 (file)
@@ -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);
index 4650503..67b2a26 100644 (file)
@@ -46,6 +46,7 @@ Version:   $Revision$
 //Includes same project
 #include "GlobalConstants.h"
 #include "vtkGObjectView.h"
+#include "GBlackBoxModel.h"
 
 //Includes creaMaracasVisu