+/*
+# ---------------------------------------------------------------------
+#
+# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
+# pour la Santé)
+# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+#
+# 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.
+# ------------------------------------------------------------------------
+*/
+
/*=========================================================================
Program: bbtk
Module: $RCSfile$
_notebook = _parent->getAuiNotebook();
addNewTab();
_notebook->Connect(wxEVT_COMMAND_AUINOTEBOOK_PAGE_CHANGED,wxAuiNotebookEventHandler(wxTabPanelsManager::OnTabChanged),0,this);
+ _notebook->Connect(wxEVT_COMMAND_AUINOTEBOOK_PAGE_CLOSE,wxAuiNotebookEventHandler(wxTabPanelsManager::OnTabClose),0,this);
+
}
//=========================================================================
}
//=========================================================================
- void wxTabPanelsManager::addNewTab(wxString tabName)
+ wxGUIEditorGraphicBBS* wxTabPanelsManager::GetParentGUIEditorGraphicBBS() const
{
-printf("EED wxTabPanelsManager::addNewTab 0\n");
+ return this->_parent;
+ }
+ //=========================================================================
+ void wxTabPanelsManager::addNewTab(wxString tabName)
+ {
_lastId++;
- wxGEditorTabPanel *newPanel = new wxGEditorTabPanel(_notebook,_lastId);
+
+ //EED 13/10/2012 wxGEditorTabPanel *newPanel = new wxGEditorTabPanel( _notebook,_lastId );
+ wxGEditorTabPanel *newPanel = new wxGEditorTabPanel( _notebook,_lastId, _parent->GetBBTKFactory() );
+
newPanel->setPanelsManager(this);
_panels[_lastId] = newPanel;
_actual = newPanel;
_notebook->AddPage(newPanel, tabName ,true);
-printf("EED wxTabPanelsManager::addNewTab 1\n");
}
+
+
+
+
//=========================================================================
wxAuiNotebook* wxTabPanelsManager::getAuiNotebook()
{
{
_actual->loadDiagram(inputStream, path);
}
+
//=========================================================================
- void wxTabPanelsManager::saveTempActualDiagram() //FCY
+ void wxTabPanelsManager::saveTempandUpdate(const std::string &action) //FCY
{
- _actual->saveTempDiagram();
+ _parent->SaveTempActualDiagram(action);
}
//=========================================================================
- unsigned short wxTabPanelsManager::loadTempDiagram(unsigned short un) //FCY
+ void wxTabPanelsManager::saveTempActualDiagram(const std::string &action) //FCY
{
- return _actual->loadTempDiagram(un);
+ _actual->saveTempDiagram(action);
+ }
+ //=========================================================================
+ void wxTabPanelsManager::loadTempDiagram(unsigned short un) //FCY
+ {
+ _actual->loadTempDiagram(un);
}
+ //=========================================================================
+ unsigned short wxTabPanelsManager::getUndoState( std::string &stun) //FCY
+ {
+ return _actual->getUndoState(stun);
+ }
+ //=========================================================================
+ unsigned short wxTabPanelsManager::getRedoState(std::string &stre) //FCY
+ {
+ return _actual->getRedoState(stre);
+ }
//=========================================================================
bool wxTabPanelsManager::isActualDiagramComplexBox()
int id = tab->getPanelId();
_actual = _panels[id];
_parent->refreshGUIControls();
+
+ }
+
+ //=========================================================================
+
+ void wxTabPanelsManager::OnTabClose(wxAuiNotebookEvent& event)
+ {
+
+ std::cout<<"RaC wxTabPanelsManager::OnTabClose Start... "<<_panels.size()<<std::endl;
+ int index = event.GetSelection();
+
+ if(_panels.size()>0)
+ {
+ wxGEditorTabPanel* tab = (wxGEditorTabPanel*)_notebook->GetPage(index);
+ int id = tab->getPanelId();
+ tab->deleteAllBoxes();
+ _panels.erase(id);
+
+ _notebook->RemovePage(index);
+
+ std::cout<<"RaC wxTabPanelsManager::OnTabClose IMPORTANT. The complete tab is not erased from memory... "<<std::endl;
+ //////////////////////////////
+ // TO FIX . RaC May 2012 - IMPORTANT. The complete tab is not erased from memory.
+ // Only the objects are deleted and the tab is hidden
+ // Execution problems when a tab is deleted using delete or DeletePage
+ // delete tab;
+
+ map<int, wxGEditorTabPanel*>::iterator it = _panels.begin() ;
+ _actual=(*it).second;
+
+ std::cout<<"RaC wxTabPanelsManager::OnTabClose End..."<< std::endl;
+ }
}
//=========================================================================
_notebook->SetPageText( id , tabpanelname );
}
+ std::string wxTabPanelsManager::GetNameTabPanel()
+ {
+ int id = _notebook->GetSelection();
+ return crea::wx2std(_notebook->GetPageText(id));
+ }
+
//=========================================================================
//DFCH
std::string wxTabPanelsManager::GetCurrentTabPanelPath( )
//return ( (wxGEditorTabPanel) _notebook->GetPage(id)->GetFullPath( ) );
}
+ //=========================================================================
+
+ int wxTabPanelsManager::FindTab(std::string filename)
+ {
+ std::map<int, wxGEditorTabPanel*>::iterator it;
+ for (it = _panels.begin(); it != _panels.end(); ++it)
+ {
+ wxGEditorTabPanel *obj = it->second;
+ int id = it->first;
+ if(obj->GetFullPath()==filename)
+ return id;
+ }
+ return -1;
+ }
//=========================================================================
std::string wxTabPanelsManager::GetCbPackageName()
return _actual->GetCategory();
}
+ //=========================================================================
+ std::string wxTabPanelsManager::GetMessageKind()
+ {
+ return _actual->GetMessageKind();
+ }
+
+ //=========================================================================
+ std::string wxTabPanelsManager::GetMessageLevel()
+ {
+ return _actual->GetMessageLevel();
+ }
+
//=========================================================================
void wxTabPanelsManager::SetCbName(std::string cbName)
{
_actual->SetCategory( category );
}
-
//=========================================================================
void wxTabPanelsManager::SetDescription(std::string description)
{
}
+ //=========================================================================
+ void wxTabPanelsManager::SetMessageKind(std::string kind){
+ _actual->SetMessageKind(kind);
+ }
+ //=========================================================================
+ void wxTabPanelsManager::SetMessageLevel(std::string level){
+ _actual->SetMessageLevel(level);
+ }
-
-
-
-
-
+ //=========================================================================
+ bool wxTabPanelsManager::TryToOpenScriptApplication(std::string packageName ,std::string boxType)
+ {
+ return _parent->TryToOpenScriptApplication( packageName, boxType );
+ }
+
} // EO namespace bbtk
// EOF