X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=lib%2FEditorGraphicBBS%2FbbsWxGUIEditorGraphic%2FwxTabPanelsManager.cxx;h=a1e42a01a27185087d1bf9cd40f96bd23f541a21;hb=5cf9c7b92a97ee411e6a441beca8a06d2bffc8b3;hp=0dc9e42a2673810c5f6ea8d6e8fd361f23d9945d;hpb=1910361932998533c37b53ea81d580bba29f0ee1;p=bbtkGEditor.git diff --git a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxTabPanelsManager.cxx b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxTabPanelsManager.cxx index 0dc9e42..a1e42a0 100644 --- a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxTabPanelsManager.cxx +++ b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxTabPanelsManager.cxx @@ -42,11 +42,13 @@ namespace bbtk //========================================================================= - wxTabPanelsManager::wxTabPanelsManager(wxAuiNotebook *notebook) + wxTabPanelsManager::wxTabPanelsManager(wxGUIEditorGraphicBBS *parent) { - _lastId = 0; - _notebook = notebook; + _parent = parent; + _lastId = 0; + _notebook = _parent->getAuiNotebook(); addNewTab(); + _notebook->Connect(wxEVT_COMMAND_AUINOTEBOOK_PAGE_CHANGED,wxAuiNotebookEventHandler(wxTabPanelsManager::OnTabChanged),0,this); } //========================================================================= @@ -57,12 +59,11 @@ namespace bbtk //========================================================================= void wxTabPanelsManager::addNewTab() { - _lastId++; - - wxPanel *newPanel = new wxGEditorTabPanel(_notebook,_lastId); + _lastId++; + wxGEditorTabPanel *newPanel = new wxGEditorTabPanel(_notebook,_lastId); + newPanel->setPanelsManager(this); _panels[_lastId]=newPanel; _actual = newPanel; - _notebook->AddPage(newPanel,_T("Diagram"),true); } @@ -73,14 +74,133 @@ namespace bbtk } //========================================================================= - wxPanel* wxTabPanelsManager::getActualTabPanel() + wxGEditorTabPanel* wxTabPanelsManager::getActualTabPanel() { 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