]> Creatis software - bbtkGEditor.git/blobdiff - lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxGEditorTabPanel.h
Feature #1758
[bbtkGEditor.git] / lib / EditorGraphicBBS / bbsWxGUIEditorGraphic / wxGEditorTabPanel.h
index 402e2a7c0e43e30648f037739c85039046a2e1a6..e9b96f9dce45b7f01294d16bf0ec948bbfa5e804 100644 (file)
@@ -57,7 +57,7 @@ Version:   $Revision$
 #include <wxVtk3DBaseView.h>
 
 //Includes std
-#include <iostream>
+#include <fstream>
 
 namespace bbtk
 {
@@ -79,7 +79,7 @@ namespace bbtk
        {
        public:
                wxGEditorTabPanel();
-               wxGEditorTabPanel(wxWindow *parent, int id);
+               wxGEditorTabPanel(wxWindow *parent, int id, Factory::Pointer bbtkfactory);
                ~wxGEditorTabPanel();
 
                void initWxVtkCanvas();
@@ -100,9 +100,26 @@ namespace bbtk
                // Save diagram as BBG
                void saveDiagram(std::string &content, const std::string &path); //DFCH
 
+               // Save temporary diagram as BBG
+               void saveTempDiagram(const std::string &);
+
+               // Save temporary diagram as BBG and update buttons
+               void saveTempandUpdate(const std::string &);
+
                // Load BBG diagram
                void loadDiagram(ifstream &inputStream, const std::string &path); //DFCH
 
+               void saveStringAction(const std::string &action);
+
+               // Load temporary diagram as BBG
+               void  loadTempDiagram(unsigned short un);
+
+               // evaluate the position in the undo actions list
+               unsigned short getUndoState(std::string &);
+
+               // evaluate the position in the redo actions list
+               unsigned short getRedoState(std::string &);
+
                // Add a new complex input object to the scene
                void addComplexInputPort(std::string portName);
 
@@ -151,11 +168,13 @@ namespace bbtk
         std::string GetDescription();
         std::string GetCategory();
 
-
-
        //=========================================================================
 
        private:
+               std::vector<std::string> states;                                // represents each modification of the tab. Maxixum size 100!!
+               std::vector<std::string>::iterator _actualdo;   // actual position on modifications vector
+               std::vector<std::string> sstates;                               // represents string of each modification of the tab. Maxixum size 100!!
+               std::vector<std::string>::iterator _sactualdo;  // actual position onstring  modifications vector
 
                int                                             _id;
                wxAuiManager                    *_panelAUIMgr;
@@ -163,8 +182,9 @@ namespace bbtk
                wxTabPanelsManager              *_panelsManager;
                std::string                             _fullPath;
                std::string                             _fileName;
-
+               
        protected:
+               Factory::Pointer                _bbtkfactory;
 
        };