#include <wxVtk3DBaseView.h>
//Includes std
-#include <iostream>
+#include <fstream>
namespace bbtk
{
{
public:
wxGEditorTabPanel();
- wxGEditorTabPanel(wxWindow *parent, int id);
+ wxGEditorTabPanel(wxWindow *parent, int id, Factory::Pointer bbtkfactory);
~wxGEditorTabPanel();
void initWxVtkCanvas();
void editBlackBox(GBlackBoxModel *bbmodel);
// Save diagram as BBG
- void saveDiagram(std::string &content);
+ 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);
+ 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);
wxVtkSceneManager* getSceneManager();
-
+ void SetFullPath( const std::string& );
+ void SetFileName( const std::string& );
void SetCbName(std::string cbName);
void SetCbPackageName(std::string packagename);
void SetAuthor(std::string author);
void SetCategory(std::string category);
void SetDescription(std::string description);
+ //Getters
+ std::string GetFullPath( );
+ std::string GetFileName( );
+
std::string GetCbName();
std::string GetCbPackageName();
std::string GetAuthor();
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;
wxVtkSceneManager *_sceneManager;
wxTabPanelsManager *_panelsManager;
-
+ std::string _fullPath;
+ std::string _fileName;
+
protected:
+ Factory::Pointer _bbtkfactory;
};