]> Creatis software - bbtkGEditor.git/blobdiff - lib/EditorGraphicBBS/bbsKernelEditorGraphic/wxVtkSceneManager.h
Implemented deleting of boxes from the scene....
[bbtkGEditor.git] / lib / EditorGraphicBBS / bbsKernelEditorGraphic / wxVtkSceneManager.h
index 4a3f7e1a090320646cb33313b6bb03d9af1075e8..5079fdc643307eea8b63b620d23987292a53999d 100644 (file)
@@ -53,6 +53,7 @@ Version:   $Revision$
 #include "vtkGPortView.h"
 #include "manualConnectorContourView.h"
 #include "manualConnectorContourController.h"
+#include "wxGEditorTabPanel.h"
 
 //Includes bbtk
 #include <bbtkBlackBoxInputDescriptor.h>
@@ -79,33 +80,47 @@ Version:   $Revision$
 
 namespace bbtk
 {
+       class wxGEditorTabPanel;
 
        class wxVtkSceneManager : public InteractorStyleMaracas , public Observer
        {
        public: 
-               wxVtkSceneManager(wxDropTarget *parent, wxVtk3DBaseView *baseView, int idManager);
+               wxVtkSceneManager(wxGEditorTabPanel *parent, wxVtk3DBaseView *baseView, int idManager);
                ~wxVtkSceneManager();
 
                void configureBaseView();
-               void createGBlackBox(int x, int y,std::string packageName, std::string boxName);
-               void createGPort(int portType, int posinBox,GBlackBoxModel *blackBox);
+               void createGBlackBox(int x, int y,std::string packageName, std::string boxType);
+               void createGPort(int portType, std::string bbtkName, std::string bbtkType, int posinBox,GBlackBoxModel *blackBox);
                void createGInputPort(int portType, int posinBox,GBlackBoxModel *blackBox, BlackBoxInputDescriptor *desc);
                void createGOutputPort(int portType, int posinBox,GBlackBoxModel *blackBox, BlackBoxOutputDescriptor *desc);
                void createGConnector(GPortModel* startPort);
 
                void registerController(InteractorStyleMaracas *param);
+               void unregisterController(InteractorStyleMaracas *param);
 
                vtkRenderWindow* getRenderWindow();
                vtkRenderer* getRenderer();
 
                void disconnectDrop();
                
+               virtual bool OnChar();
                virtual bool OnMouseMove();
+               virtual bool  OnLeftButtonDown(); 
+               virtual bool  OnLeftButtonUp();
+               virtual bool OnRightButtonUp();
 
                virtual void update(int idController,int command);
+
+               void displayBlackBoxInfo(std::string packageName, std::string boxName);
+               void updateStatusBar(std::string textStatus);
+               std::string getDiagramScript();
+               void removeObject(int id);
+
                
        private:
 
+               wxGEditorTabPanel *_parent;
+
                // Last controller created
                int _idLastController;
 
@@ -115,12 +130,18 @@ namespace bbtk
                // Boxes number in the scene
                int _numBoxes;
 
+               // StartDragging
+               bool _startDragging;
+
                wxVtk3DBaseView *_baseView;
 
                int _worldState;
 
                std::map<int,GObjectController*> _controllers;
 
+               //Saves the id's of the selected objects in the controllers map
+               std::vector<int> _selectedObjects;
+
        protected:
 
        };