]> Creatis software - bbtkGEditor.git/blobdiff - lib/EditorGraphicBBS/bbsKernelEditorGraphic/wxVtkSceneManager.h
The buttons and the objects to create input and output complex box ports were added...
[bbtkGEditor.git] / lib / EditorGraphicBBS / bbsKernelEditorGraphic / wxVtkSceneManager.h
index c6f7a6b11468719bec613bf3d7e03722b71d654b..118d136d2a9fec85a709ff4ab993e4ae252f5310 100644 (file)
@@ -46,8 +46,10 @@ Version:   $Revision$
 //Includes same project
 #include "GObjectsMVCFactory.h"
 #include "Observer.h"
+#include "GBoxModel.h"
+#include "GComplexBoxPortModel.h"
 #include "GPortModel.h"
-#include "GConnectorView.h"
+#include "vtkGConnectorView.h"
 #include "GConnectorModel.h"
 #include "GConnectorController.h"
 #include "vtkGPortView.h"
@@ -89,35 +91,52 @@ namespace bbtk
                ~wxVtkSceneManager();
 
                void configureBaseView();
-               void createGBlackBox(int x, int y,std::string packageName, std::string boxName);
-               void createGPort(int portType, 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);
+               int createGBlackBox(int x, int y,std::string packageName, std::string boxType);
+               int createGComplexBoxInputPort(std::string inputName);
+               int createGComplexBoxOutputPort(std::string outputName);
+               GPortController* createGPort(int portType, std::string bbtkName, std::string bbtkType, int posinBox,GBoxModel *blackBox);
+               int createGInputPort(int portType, int posinBox,GBoxModel *blackBox, BlackBoxInputDescriptor *desc);
+               int createGOutputPort(int portType, int posinBox,GBoxModel *blackBox, BlackBoxOutputDescriptor *desc);
+               int 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 bool OnLeftDClick();
 
                virtual void update(int idController,int command);
 
                void displayBlackBoxInfo(std::string packageName, std::string boxName);
+               void updateStatusBar(std::string textStatus);
+               std::string getDiagramScript();
+               void deleteObject(int id);
+               void deleteAllBoxes();
+               void saveDiagram(std::string &content);
+               void loadDiagram(ifstream &inputStream);
+               void centerView();
+
+               void refreshScene();
+               std::vector<int> getBoxes();
+               std::vector<int> getConnections();
+
+               bool isComplexBox();
+               void setComplexBox(bool val);
+
                
        private:
 
                wxGEditorTabPanel *_parent;
 
-               // Last controller created
-               int _idLastController;
-
                // Id of the manager, the same of the panel
                int _idManager;
 
@@ -136,6 +155,8 @@ namespace bbtk
                //Saves the id's of the selected objects in the controllers map
                std::vector<int> _selectedObjects;
 
+               bool _isComplexBox;
+
        protected:
 
        };