X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=inline;f=lib%2FEditorGraphicBBS%2FbbsWxGUIEditorGraphic%2FwxTabPanelsManager.cxx;h=a3c0af043f251c6f1c282da9724812b09ee7f093;hb=713c6f1f54a2114c6e495aa6974d33b5718b46b5;hp=0c5b96b3f8b27a7833524f8e03399ba985f6f19f;hpb=e5a27bdba2e0cbc6a918a4fe9cbb0cc57ed85dc1;p=bbtkGEditor.git diff --git a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxTabPanelsManager.cxx b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxTabPanelsManager.cxx index 0c5b96b..a3c0af0 100644 --- a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxTabPanelsManager.cxx +++ b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxTabPanelsManager.cxx @@ -36,7 +36,6 @@ Version: $Revision$ #include "wxTabPanelsManager.h" - namespace bbtk { @@ -49,6 +48,8 @@ namespace bbtk _notebook = _parent->getAuiNotebook(); addNewTab(); _notebook->Connect(wxEVT_COMMAND_AUINOTEBOOK_PAGE_CHANGED,wxAuiNotebookEventHandler(wxTabPanelsManager::OnTabChanged),0,this); + _notebook->Connect(wxEVT_COMMAND_AUINOTEBOOK_PAGE_CLOSE,wxAuiNotebookEventHandler(wxTabPanelsManager::OnTabClose),0,this); + } //========================================================================= @@ -59,14 +60,23 @@ namespace bbtk //========================================================================= void wxTabPanelsManager::addNewTab(wxString tabName) { +printf("EED wxTabPanelsManager::addNewTab 0\n"); + _lastId++; wxGEditorTabPanel *newPanel = new wxGEditorTabPanel(_notebook,_lastId); newPanel->setPanelsManager(this); _panels[_lastId] = newPanel; _actual = newPanel; + _notebook->AddPage(newPanel, tabName ,true); + +printf("EED wxTabPanelsManager::addNewTab 1\n"); } + + + + //========================================================================= wxAuiNotebook* wxTabPanelsManager::getAuiNotebook() { @@ -130,18 +140,44 @@ namespace bbtk //========================================================================= - void wxTabPanelsManager::saveActualDiagram(std::string &content) + void wxTabPanelsManager::saveActualDiagram(std::string &content, const std::string &path) //DFCH { - _actual->saveDiagram(content); + _actual->saveDiagram(content, path); } //========================================================================= - void wxTabPanelsManager::loadDiagram(ifstream &inputStream) + void wxTabPanelsManager::loadDiagram(ifstream &inputStream, const std::string &path) //DFCH + { + _actual->loadDiagram(inputStream, path); + } + + //========================================================================= + void wxTabPanelsManager::saveTempandUpdate(const std::string &action) //FCY + { + _parent->SaveTempActualDiagram(action); + } + //========================================================================= + void wxTabPanelsManager::saveTempActualDiagram(const std::string &action) //FCY { - _actual->loadDiagram(inputStream); + _actual->saveTempDiagram(action); + } + //========================================================================= + void wxTabPanelsManager::loadTempDiagram(unsigned short un) //FCY + { + _actual->loadTempDiagram(un); } + //========================================================================= + unsigned short wxTabPanelsManager::getUndoState( std::string &stun) //FCY + { + return _actual->getUndoState(stun); + } + //========================================================================= + unsigned short wxTabPanelsManager::getRedoState(std::string &stre) //FCY + { + return _actual->getRedoState(stre); + } //========================================================================= bool wxTabPanelsManager::isActualDiagramComplexBox() @@ -208,6 +244,38 @@ printf("wxTabPanelsManager::VerifyActualTabPanel %d \n", this->_notebook->GetPa int id = tab->getPanelId(); _actual = _panels[id]; _parent->refreshGUIControls(); + + } + + //========================================================================= + + void wxTabPanelsManager::OnTabClose(wxAuiNotebookEvent& event) + { + + std::cout<<"RaC wxTabPanelsManager::OnTabClose Start... "<<_panels.size()<0) + { + wxGEditorTabPanel* tab = (wxGEditorTabPanel*)_notebook->GetPage(index); + int id = tab->getPanelId(); + tab->deleteAllBoxes(); + _panels.erase(id); + + _notebook->RemovePage(index); + + std::cout<<"RaC wxTabPanelsManager::OnTabClose IMPORTANT. The complete tab is not erased from memory... "<