]> Creatis software - bbtkGEditor.git/blobdiff - lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxTabPanelsManager.cxx
no message
[bbtkGEditor.git] / lib / EditorGraphicBBS / bbsWxGUIEditorGraphic / wxTabPanelsManager.cxx
index 1e9061e1dc7176d68addc78334b0eed71c43373e..a1e42a01a27185087d1bf9cd40f96bd23f541a21 100644 (file)
@@ -44,10 +44,11 @@ namespace bbtk
        //=========================================================================
        wxTabPanelsManager::wxTabPanelsManager(wxGUIEditorGraphicBBS *parent)
        {
-               _parent = parent;
-               _lastId = 0;
-               _notebook = _parent->getAuiNotebook();
+               _parent         = parent;
+               _lastId         = 0;
+               _notebook       = _parent->getAuiNotebook();
                addNewTab();
+               _notebook->Connect(wxEVT_COMMAND_AUINOTEBOOK_PAGE_CHANGED,wxAuiNotebookEventHandler(wxTabPanelsManager::OnTabChanged),0,this);
        }
 
        //=========================================================================
@@ -58,13 +59,11 @@ namespace bbtk
        //=========================================================================
        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);
        }
 
@@ -96,9 +95,16 @@ namespace bbtk
 
        //=========================================================================
 
-       std::string wxTabPanelsManager::getActualDiagramScript()
+       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->getDiagramScript();
+               return _actual->saveComplexBoxBBS(cbName,cbAuthor,cbCategory,cbDescription);
        }
 
        //=========================================================================
@@ -110,9 +116,87 @@ namespace bbtk
 
        //=========================================================================
 
-       void wxTabPanelsManager::editDiagramParameters(wxVtkSceneManager* scene)
+       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)
        {
-               _parent->editDiagramParameters(scene);
+               int index = event.GetSelection();
+               wxGEditorTabPanel* tab =(wxGEditorTabPanel*)_notebook->GetPage(index);          
+               int id = tab->getPanelId();
+               _actual = _panels[id];
+               _parent->refreshGUIControls();
        }
 
        //=========================================================================