]> Creatis software - bbtkGEditor.git/blobdiff - lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxTabPanelsManager.cxx
*** empty log message ***
[bbtkGEditor.git] / lib / EditorGraphicBBS / bbsWxGUIEditorGraphic / wxTabPanelsManager.cxx
index f34682c4533e8d5ba88921b19c4870ea4a9d834d..86750fc35833f4ee646b04e3a0d14805fe7a97fc 100644 (file)
@@ -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<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