]> Creatis software - bbtkGEditor.git/blobdiff - lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxTabPanelsManager.cxx
no message
[bbtkGEditor.git] / lib / EditorGraphicBBS / bbsWxGUIEditorGraphic / wxTabPanelsManager.cxx
index 0dc9e42a2673810c5f6ea8d6e8fd361f23d9945d..a1e42a01a27185087d1bf9cd40f96bd23f541a21 100644 (file)
@@ -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<int,GObjectController*> 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