_id=id;
_panelAUIMgr = new wxAuiManager(this);
_sceneManager = NULL;
+ _actualdo = states.begin();
initWxVtkCanvas();
printf("EED wxGEditorTabPanel::wxGEditorTabPanel 1\n");
}
//=========================================================================
+ void wxGEditorTabPanel::saveTempDiagram() //FCY
+ {
+ std::string content = "";
+ // writing file header
+ content += "# ----------------------------------\n";
+ content += "# - BBTKGEditor v 1.2 BBG BlackBox Diagram file\n";
+ content += "# - ";
+ content += "temp";
+ content += "\n";
+ content += "# ----------------------------------\n";
+ content += "\n";
+ content += "APP_START\n";
+ _sceneManager->saveDiagram(content);
+ content += "APP_END\n"; //put here to avoid mistakes
+ if(_actualdo == states.end() ) // same size, write to the end
+ {
+ states.push_back (content);
+ }
+ else
+ {
+ std::vector<std::string>::iterator it = _actualdo+1;
+ states.erase(it, states.end());
+ states.push_back(content);
+ }
+ _actualdo = states.end();
+
+ }
+
+ //=========================================================================
+
void wxGEditorTabPanel::loadDiagram(ifstream &inputStream, const std::string &path) //DFCH
{
this->SetFullPath(path);
- _sceneManager->loadDiagram(inputStream);
+ stringstream ss;
+ ss << inputStream ;
+ _sceneManager->loadDiagram(ss);
}
+ //=========================================================================
+ unsigned short wxGEditorTabPanel::loadTempDiagram(unsigned short un) //FCY
+ {
+ unsigned short res = 1;
+ deleteAllBoxes();
+ std::stringstream ss;
+ if (un == 0) //undo
+ {
+ if(_actualdo == states.end() ) // same size, write to the end
+ {
+ (_actualdo--);
+ }
+ if(_actualdo != states.begin() )
+ {
+ ss << *(--_actualdo);
+ }
+ else
+ {
+ ss << *_actualdo;
+ res = 0;
+ }
+ }
+ else //redo
+ {
+ _actualdo++;
+ if(_actualdo != states.end())
+ {
+ ss << *_actualdo;
+ }
+ else
+ {
+ res = 0;
+ }
+ }
+ _sceneManager->loadDiagram(ss);
+ return res;
+ }
+
//=========================================================================
int wxGEditorTabPanel::getPanelId()