/*========================================================================= Program: bbtk Module: $RCSfile$ Language: C++ Date: $Date$ Version: $Revision$ =========================================================================*/ /* --------------------------------------------------------------------- * Copyright (c) CREATIS-LRMN (Centre de Recherche en Imagerie Medicale) * Authors : Eduardo Davila, Laurent Guigues, Jean-Pierre Roux * * This software is governed by the CeCILL-B license under French law and * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL-B * license as circulated by CEA, CNRS and INRIA at the following URL * http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html * or in the file LICENSE.txt. * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited * liability. * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL-B license and that you accept its terms. * ------------------------------------------------------------------------ */ /** * \file * \brief Class bbtk::wxTabPanelsManager . */ #include "wxTabPanelsManager.h" namespace bbtk { //========================================================================= wxTabPanelsManager::wxTabPanelsManager(wxGUIEditorGraphicBBS *parent) { _parent = parent; _lastId = 0; _notebook = _parent->getAuiNotebook(); addNewTab(); _notebook->Connect(wxEVT_COMMAND_AUINOTEBOOK_PAGE_CHANGED,wxAuiNotebookEventHandler(wxTabPanelsManager::OnTabChanged),0,this); } //========================================================================= wxTabPanelsManager::~wxTabPanelsManager() { } //========================================================================= void wxTabPanelsManager::addNewTab(wxString tabName) { printf("EED wxTabPanelsManager::addNewTab 0\n"); _lastId++; wxGEditorTabPanel *newPanel = new wxGEditorTabPanel(_notebook,_lastId); newPanel->setPanelsManager(this); _panels[_lastId] = newPanel; _actual = newPanel; _notebook->AddPage(newPanel, tabName ,true); printf("EED wxTabPanelsManager::addNewTab 1\n"); } //========================================================================= wxAuiNotebook* wxTabPanelsManager::getAuiNotebook() { return _notebook; } //========================================================================= wxGEditorTabPanel* wxTabPanelsManager::getActualTabPanel() { return _actual; } //========================================================================= 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(bool wln) { return _actual->getDiagramBBS(wln); } //========================================================================= std::string wxTabPanelsManager::getActualComplexBoxBBS() { return _actual->saveComplexBoxBBS(); } //========================================================================= void wxTabPanelsManager::editBlackBox(GBlackBoxModel *bbmodel) { _parent->editBlackBox(bbmodel); } //========================================================================= void wxTabPanelsManager::deleteAllBoxesActualDiagram() { _actual->deleteAllBoxes(); } //========================================================================= void wxTabPanelsManager::centerViewActualDiagram() { _actual->centerView(); } //========================================================================= void wxTabPanelsManager::saveActualDiagram(std::string &content, const std::string &path) //DFCH { _actual->saveDiagram(content, path); } //========================================================================= void wxTabPanelsManager::loadDiagram(ifstream &inputStream, const std::string &path) //DFCH { _actual->loadDiagram(inputStream, path); } //========================================================================= void wxTabPanelsManager::saveTempActualDiagram() //FCY { _actual->saveTempDiagram(); } //========================================================================= unsigned short wxTabPanelsManager::loadTempDiagram(unsigned short un) //FCY { return _actual->loadTempDiagram(un); } //========================================================================= 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::VerifyLastTabPanel() { printf("wxTabPanelsManager::VerifyActualTabPanel %d \n", this->_notebook->GetPageCount() ); if (this->_notebook->GetPageCount()==0) { this->_actual=NULL; } } //========================================================================= void wxTabPanelsManager::OnTabChanged(wxAuiNotebookEvent& event) { int index = event.GetSelection(); wxGEditorTabPanel* tab = (wxGEditorTabPanel*)_notebook->GetPage(index); int id = tab->getPanelId(); _actual = _panels[id]; _parent->refreshGUIControls(); } //========================================================================= std::string wxTabPanelsManager::GetCbName() { return _actual->GetCbName(); } //========================================================================= void wxTabPanelsManager::SetNameTabPanel(wxString tabpanelname) { int id = _notebook->GetSelection(); _notebook->SetPageText( id , tabpanelname ); } //========================================================================= //DFCH std::string wxTabPanelsManager::GetCurrentTabPanelPath( ) { int id = _notebook->GetSelection(); wxGEditorTabPanel* auxPanel = (wxGEditorTabPanel*) _notebook->GetPage(id); return( auxPanel->GetFullPath( ) ); //return ( (wxGEditorTabPanel) _notebook->GetPage(id)->GetFullPath( ) ); } //========================================================================= std::string wxTabPanelsManager::GetCbPackageName() { return _actual->GetCbPackageName(); } //========================================================================= std::string wxTabPanelsManager::GetAuthor() { return _actual->GetAuthor(); } //========================================================================= std::string wxTabPanelsManager::GetDescription() { return _actual->GetDescription(); } //========================================================================= std::string wxTabPanelsManager::GetCategory() { return _actual->GetCategory(); } //========================================================================= void wxTabPanelsManager::SetCbName(std::string cbName) { _actual->SetCbName( cbName ); } //========================================================================= void wxTabPanelsManager::SetCbPackageName(std::string packagename) { _actual->SetCbPackageName( packagename ); } //========================================================================= void wxTabPanelsManager::SetAuthor(std::string author) { _actual->SetAuthor( author ); } //========================================================================= void wxTabPanelsManager::SetCategory(std::string category) { _actual->SetCategory( category ); } //========================================================================= void wxTabPanelsManager::SetDescription(std::string description) { _actual->SetDescription( description ); } } // EO namespace bbtk // EOF