//=========================================================================
wxGEditorTabPanel::wxGEditorTabPanel(wxWindow *parent,int id):wxPanel(parent),wxTextDropTarget()
{
+printf("EED wxGEditorTabPanel::wxGEditorTabPanel 0\n");
printf ("EED %p wxGEditorTabPanel 2 ()\n" , this );
_id=id;
_panelAUIMgr = new wxAuiManager(this);
_sceneManager = NULL;
+ _actualdo = states.begin();
initWxVtkCanvas();
+printf("EED wxGEditorTabPanel::wxGEditorTabPanel 1\n");
}
//=========================================================================
//ED02JUIN2010 _sceneManager->disconnectDrop();
_panelsManager->VerifyLastTabPanel();
+ //FCY memory leaks
+ delete _panelAUIMgr;
+ delete _sceneManager;
}
//=========================================================================
void wxGEditorTabPanel::initWxVtkCanvas()
{
+printf("EED wxGEditorTabPanel::initWxVtkCanvas 0\n");
wxVtk3DBaseView *baseview = new wxVtk3DBaseView(this);
baseview->Configure();
_sceneManager=new wxVtkSceneManager(this,baseview,_id);
_panelAUIMgr->AddPane((wxWindow*)baseview->GetWxVTKRenderWindowInteractor(),wxAuiPaneInfo().Fixed().CenterPane());
_panelAUIMgr->Update();
+printf("EED wxGEditorTabPanel::initWxVtkCanvas 1\n");
}
//=========================================================================
//=========================================================================
- std::string wxGEditorTabPanel::saveComplexBoxBBS(std::string cbName, std::string paName,std::string cbAuthor,std::string cbCategory,std::string cbDescription)
+ std::string wxGEditorTabPanel::saveComplexBoxBBS()
{
- return _sceneManager->saveComplexBoxBBS(cbName,paName,cbAuthor,cbCategory,cbDescription);
+ return _sceneManager->saveComplexBoxBBS();
}
//=========================================================================
void wxGEditorTabPanel::centerView()
{
- _sceneManager->centerView();
+ if(_sceneManager)
+ {
+ _sceneManager->centerView();
+ }
}
//=========================================================================
- void wxGEditorTabPanel::saveDiagram(std::string &content)
+ void wxGEditorTabPanel::saveDiagram(std::string &content, const std::string &path) //DFCH
{
+ this->SetFullPath(path);
_sceneManager->saveDiagram(content);
}
//=========================================================================
- void wxGEditorTabPanel::loadDiagram(ifstream &inputStream)
+ void wxGEditorTabPanel::saveTempDiagram() //FCY
{
- _sceneManager->loadDiagram(inputStream);
+ 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);
+ stringstream ss;
+ ss << inputStream.rdbuf() ;
+ _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()
{
return _id;
return _sceneManager;
}
+ //=========================================================================
+ std::string wxGEditorTabPanel::GetCbName()
+ {
+ return _sceneManager->GetCbName();
+ }
+
+
+ //=========================================================================
+ std::string wxGEditorTabPanel::GetCbPackageName()
+ {
+ return _sceneManager->GetCbPackageName();
+ }
+
+ //=========================================================================
+ std::string wxGEditorTabPanel::GetAuthor()
+ {
+ return _sceneManager->GetAuthor();
+ }
+
+ //=========================================================================
+ std::string wxGEditorTabPanel::GetDescription()
+ {
+ return _sceneManager->GetDescription();
+ }
+
+ //=========================================================================
+ std::string wxGEditorTabPanel::GetCategory()
+ {
+ return _sceneManager->GetCategory();
+ }
+
+ //=========================================================================
+ void wxGEditorTabPanel::SetCbName(std::string cbName)
+ {
+ _sceneManager->SetCbName( cbName );
+ }
+
+ //=========================================================================
+ void wxGEditorTabPanel::SetCbPackageName(std::string packagename)
+ {
+ _sceneManager->SetCbPackageName( packagename );
+ }
+
+
+ //=========================================================================
+ void wxGEditorTabPanel::SetAuthor(std::string author)
+ {
+ _sceneManager->SetAuthor( author );
+ }
+
+
+ //=========================================================================
+ void wxGEditorTabPanel::SetCategory(std::string category)
+ {
+ _sceneManager->SetCategory( category );
+ }
+
+
+ //=========================================================================
+ void wxGEditorTabPanel::SetDescription(std::string description)
+ {
+ _sceneManager->SetDescription( description );
+ }
+ //=========================================================================
+ //DFCH
+ void wxGEditorTabPanel::SetFullPath( const std::string& fullpath )
+ {
+ this->_fullPath = fullpath;
+ }
+ //=========================================================================
+ //DFCH
+ void wxGEditorTabPanel::SetFileName( const std::string& filename )
+ {
+ this->_fileName = filename;
+ }
+ //=========================================================================
+ //DFCH
+ std::string wxGEditorTabPanel::GetFullPath( )
+ {
+ return( this->_fullPath );
+ }
+ //=========================================================================
+ //DFCH
+ std::string wxGEditorTabPanel::GetFileName( )
+ {
+ return( this->_fileName );
+ }
+
+
+
} // EO namespace bbtk