X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FEditorGraphicBBS%2FbbsWxGUIEditorGraphic%2FwxTabPanelsManager.cxx;h=86750fc35833f4ee646b04e3a0d14805fe7a97fc;hb=c831683a7a606ee930de94df48aa0064d6db4dfa;hp=f34682c4533e8d5ba88921b19c4870ea4a9d834d;hpb=ac7e88cf5991d996435b15c7d731b67078f8b2c9;p=bbtkGEditor.git diff --git a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxTabPanelsManager.cxx b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxTabPanelsManager.cxx index f34682c..86750fc 100644 --- a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxTabPanelsManager.cxx +++ b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxTabPanelsManager.cxx @@ -42,27 +42,30 @@ namespace bbtk //========================================================================= - wxTabPanelsManager::wxTabPanelsManager(wxAuiNotebook *notebook) + wxTabPanelsManager::wxTabPanelsManager(wxGUIEditorGraphicBBS *parent) { + printf ("EED %p wxTabPanelsManager()\n" , this ); + _parent = parent; _lastId = 0; - _notebook = notebook; + _notebook = _parent->getAuiNotebook(); addNewTab(); + _notebook->Connect(wxEVT_COMMAND_AUINOTEBOOK_PAGE_CHANGED,wxAuiNotebookEventHandler(wxTabPanelsManager::OnTabChanged),0,this); } //========================================================================= wxTabPanelsManager::~wxTabPanelsManager() { + printf ("EED %p ~wxTabPanelsManager()\n" , this ); } //========================================================================= void wxTabPanelsManager::addNewTab() { - _lastId++; - + _lastId++; wxGEditorTabPanel *newPanel = new wxGEditorTabPanel(_notebook,_lastId); + newPanel->setPanelsManager(this); _panels[_lastId]=newPanel; _actual = newPanel; - _notebook->AddPage(newPanel,_T("Diagram"),true); } @@ -78,9 +81,128 @@ namespace bbtk return _actual; } - /***************************************************** - /* HANDLERS - /*****************************************************/ + //========================================================================= + + void wxTabPanelsManager::displayBlackBoxInfo(std::string packageName, std::string boxName) + { + _parent->displayBlackBoxInfo(packageName,boxName); + } + + //========================================================================= + + void wxTabPanelsManager::updateStatusBar(std::string textStatus) + { + _parent->updateStatusBar(textStatus); + } + + //========================================================================= + + std::string wxTabPanelsManager::getActualDiagramBBS() + { + return _actual->getDiagramBBS(); + } + + //========================================================================= + + std::string wxTabPanelsManager::getActualComplexBoxBBS(std::string cbName,std::string cbAuthor,std::string cbCategory,std::string cbDescription) + { + return _actual->saveComplexBoxBBS(cbName,cbAuthor,cbCategory,cbDescription); + } + + //========================================================================= + + void wxTabPanelsManager::editBlackBox(GBlackBoxModel *bbmodel) + { + _parent->editBlackBox(bbmodel); + } + + //========================================================================= + + void wxTabPanelsManager::deleteAllBoxesActualDiagram() + { + _actual->deleteAllBoxes(); + } + + //========================================================================= + + void wxTabPanelsManager::centerViewActualDiagram() + { + _actual->centerView(); + } + + //========================================================================= + + void wxTabPanelsManager::saveActualDiagram(std::string &content) + { + _actual->saveDiagram(content); + } + + //========================================================================= + + void wxTabPanelsManager::loadDiagram(ifstream &inputStream) + { + _actual->loadDiagram(inputStream); + } + + //========================================================================= + + bool wxTabPanelsManager::isActualDiagramComplexBox() + { + return _actual->isComplexBox(); + } + + //========================================================================= + + void wxTabPanelsManager::setActualDiagramComplexBox(bool val) + { + _actual->setComplexBox(val); + } + + //========================================================================= + + void wxTabPanelsManager::addActualDiagramComplexInputPort(std::string portName) + { + _actual->addComplexInputPort(portName); + } + + //========================================================================= + + void wxTabPanelsManager::addActualDiagramComplexOutputPort(std::string portName) + { + _actual->addComplexOutputPort(portName); + } + + //========================================================================= + + void wxTabPanelsManager::copySelectedBBoxesToComplexDiagram() + { + std::map mapSelected = _actual->getSelectedObjects(); + addNewTab(); + setActualDiagramComplexBox(true); + _actual->addObjects(mapSelected); + _parent->refreshGUIControls(); + } + + //========================================================================= + + int wxTabPanelsManager::getNumActualSelectedObjects() + { + return _actual->getNumSelectedObjects(); + } + + //========================================================================= + + void wxTabPanelsManager::OnTabChanged(wxAuiNotebookEvent& event) + { + int index = event.GetSelection(); + wxGEditorTabPanel* tab =(wxGEditorTabPanel*)_notebook->GetPage(index); + int id = tab->getPanelId(); + _actual = _panels[id]; + _parent->refreshGUIControls(); + } + + //========================================================================= + } // EO namespace bbtk