X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FcreaPanelButtonContainer%2FbuttonContainerSettings.cxx;h=130b81b7faea6aa56ce59df6b8ecb925fb2c4eda;hb=8eebd53dcbe07edf0569621003178ee37d69a39b;hp=721e82f1b7f70dbf7a6c65889140d172b9771e74;hpb=497867af0d89e85bac1566016ee3fe1014207489;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaPanelButtonContainer/buttonContainerSettings.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaPanelButtonContainer/buttonContainerSettings.cxx index 721e82f..130b81b 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaPanelButtonContainer/buttonContainerSettings.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaPanelButtonContainer/buttonContainerSettings.cxx @@ -1,27 +1,27 @@ /*# --------------------------------------------------------------------- -# -# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image -# pour la Sant�) -# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton -# Previous Authors : Laurent Guigues, Jean-Pierre Roux -# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil -# -# 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. -# ------------------------------------------------------------------------ */ + # + # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image + # pour la Sant�) + # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton + # Previous Authors : Laurent Guigues, Jean-Pierre Roux + # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil + # + # 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 buttonContainerSettings.cxx @@ -35,297 +35,257 @@ namespace creaPanelButtonContainer { // ---------------------------------------------------------------------------------- - ButtonContainerSettings::ButtonContainerSettings( ) + ButtonContainerSettings::ButtonContainerSettings() { } // ---------------------------------------------------------------------------------- - ButtonContainerSettings::~ButtonContainerSettings( ) + ButtonContainerSettings::~ButtonContainerSettings() { } - + // ---------------------------------------------------------------------------------- - ButtonContainerSettings::ButtonGroupMap - ButtonContainerSettings::GetButtonGroupContainer( ) + ButtonContainerSettings::ButtonGroupMap ButtonContainerSettings::GetButtonGroupContainer() { - std::cout<< "MLER | ButtonContainerSettings:: GetButtonGroupContainer( ) " << std::endl; return m_ButtonGroupContainer; } // ---------------------------------------------------------------------------------- - ButtonContainerSettings::KeyMapList - ButtonContainerSettings::GetGroupNameList( ) + ButtonContainerSettings::KeyMapList ButtonContainerSettings::GetGroupNameList() { - std::cout<< "MLER | ButtonContainerSettings:: GetGroupNameList( ) " << std::endl; return m_GroupNameList; } // ---------------------------------------------------------------------------------- //GetButtonPanel returns the panel associated to the buttonAction - ButtonContainerSettings::PanelButton - ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) + ButtonContainerSettings::PanelButton ButtonContainerSettings::GetPanelButton( + const StringType &buttonName) { try { - std::cout<< "MLER | ButtonContainerSettings:: GetPanelButton " << std::endl; - - for( KeyMapList::iterator it = this->m_GroupNameList.begin( ); it - != this->m_GroupNameList.end( ); ++it ) + for (KeyMapList::iterator it = this->m_GroupNameList.begin(); + it != this->m_GroupNameList.end(); ++it) { - - //std::cout<< std::endl<<"MLER ButtonContainerSettings // GetPanelButton :: it "<< *it<m_ButtonGroupContainer[ ( *it ) ]; - for( ButtonList::iterator it1 = list.begin( ); it1 != list.end( ); ++it1 ) + ButtonList list = this->m_ButtonGroupContainer[(*it)]; + for (ButtonList::iterator it1 = list.begin(); it1 != list.end(); ++it1) { - if ( ( *it1 )->first->first.compare( buttonName ) == 0 ) - { - return ( ( *it1 )->second->second ); - }//fi - }//rof - }//rof - }//yrt - catch ( std::exception& e ) + if ((*it1)->first->first.compare(buttonName) == 0) + return ((*it1)->second->second); + } //rof + } //rof + } //yrt + catch (std::exception& e) { std::cerr - << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) " - << "exception: " << e.what( ) << std::endl; - }//hctac - return ( NULL ); - } -/* - // ---------------------------------------------------------------------------------- - ButtonContainerSettings::PanelButton - ButtonContainerSettings::GetPanelList( const StringType &buttonName ) - { - std::cout<< "MLER | ButtonContainerSettings:: GetPanelList " << std::endl; - - - try { - if(m_itemsMap.empty()) - std::cout<< "no tengo nada "<< std::endl; - - for( ItemsMap::iterator it= this->m_itemsMap.begin(); it!=this->m_itemsMap.end(); ++it ) - { - if( (*it).first.compare(buttonName) == 0 ) - return ( (*it).second ); - } - - - }catch ( std::exception& e ) - { - std::cerr - << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) " - << "exception: " << e.what( ) << std::endl; - }//hctac + << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) " + << "exception: " << e.what() << std::endl; + } //hctac return (NULL); - } -*/ // ---------------------------------------------------------------------------------- ButtonContainerSettings::ButtonGroupSettings* - ButtonContainerSettings::GetButtonGroupSettings( TFunctor* functor ) + ButtonContainerSettings::GetButtonGroupSettings(TFunctor* functor) { ButtonGroupSettings* settings = NULL; try { - std::cout<< "MLER | ButtonContainerSettings:: GetButtonGroupSettings() " << std::endl; - settings = new ButtonGroupSettings( ); + settings = new ButtonGroupSettings(); - for( KeyMapList::iterator it = this->m_GroupNameList.begin( ); it - != this->m_GroupNameList.end( ); ++it ) + for (KeyMapList::iterator it = this->m_GroupNameList.begin(); + it != this->m_GroupNameList.end(); ++it) { - ButtonList list = this->m_ButtonGroupContainer[ ( *it ) ]; + ButtonList list = this->m_ButtonGroupContainer[(*it)]; - for( ButtonList::iterator it1 = list.begin( ); it1 != list.end( ); ++it1 ) + for (ButtonList::iterator it1 = list.begin(); it1 != list.end(); ++it1) { - std::cout<<"MLER ButtonContainerSettings // GetButtonGroupSettings :: groupName "<< *it<first->first <AddButton( ( *it ), ( *it1 )->first->first, ( *it1 )->first->second, ( *it1 )->second->first, functor ); - }//rof - }//rof - }//yrt - catch ( std::exception& e ) + settings->AddButton((*it), (*it1)->first->first, + (*it1)->first->second, (*it1)->second->first, functor); + } //rof + } //rof + } //yrt + catch (std::exception& e) { std::cerr - << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) " - << "exception: " << e.what( ) << std::endl; - }//hctac - return ( settings ); + << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) " + << "exception: " << e.what() << std::endl; + } //hctac + return (settings); } // ---------------------------------------------------------------------------------- - void - ButtonContainerSettings::SetButtonGroupContainer( - ButtonGroupMap m_ButtonGroupContainer ) + void ButtonContainerSettings::SetButtonGroupContainer( + ButtonGroupMap m_ButtonGroupContainer) { - std::cout<< "MLER | ButtonContainerSettings:: SetButtonGroupContainer() " << std::endl; this->m_ButtonGroupContainer = m_ButtonGroupContainer; } // ---------------------------------------------------------------------------------- - void - ButtonContainerSettings::SetGroupNameList( KeyMapList m_GroupNameList ) + void ButtonContainerSettings::SetGroupNameList(KeyMapList m_GroupNameList) { - std::cout<< "MLER | ButtonContainerSettings:: SetGroupNameList() " << std::endl; this->m_GroupNameList = m_GroupNameList; } - + // ---------------------------------------------------------------------------------- - void - ButtonContainerSettings::AddButton( const StringType & groupName, - const StringType &buttonName, const wxBitmap &icon, - const StringType &buttonDescription, PanelButton panel ) + void ButtonContainerSettings::AddButton(const StringType & groupName, + const StringType &buttonName, const wxBitmap &icon, + const StringType &buttonDescription, PanelButton panel) { try { - std::cout<< "MLER | ButtonContainerSettings:: AddButton( const StringType & groupName ..) " << std::endl; - //builds the button information //I don't know the try catch doesn't work!! - if ( panel == NULL ) + if (panel == NULL) { std::cerr << "ButtonContainerSettings::AddButton" - << "exception: NULL Pointer in panel " << std::endl; - exit( 1 ); + << "exception: NULL Pointer in panel " << std::endl; + exit(1); } - panel->Show( false ); + panel->Show(false); - ButtonPair* pair = new ButtonPair( - new ButtonInfo( buttonName, icon ), - new ActionButton( buttonDescription, panel ) ); + ButtonPair* pair = new ButtonPair(new ButtonInfo(buttonName, icon), + new ActionButton(buttonDescription, panel)); - for( KeyMapList::iterator it = this->m_GroupNameList.begin( ); it - != this->m_GroupNameList.end( ); ++it ) + for (KeyMapList::iterator it = this->m_GroupNameList.begin(); + it != this->m_GroupNameList.end(); ++it) { - if ( ( *it ).compare( groupName ) == 0 ) + if ((*it).compare(groupName) == 0) { - this->m_ButtonGroupContainer[ groupName ].push_back( pair ); + this->m_ButtonGroupContainer[groupName].push_back(pair); return; - }//fi - }//rof - this->m_GroupNameList.push_back( groupName ); - this->m_ButtonGroupContainer[ groupName ].push_back( pair ); - }//yrt - catch ( const std::exception& e ) + } //fi + } //rof + this->m_GroupNameList.push_back(groupName); + this->m_ButtonGroupContainer[groupName].push_back(pair); + } //yrt + catch (const std::exception& e) { std::cerr - << "ButtonContainerSettings::AddButton( const StringType & groupName," - << "const StringType &buttonName, const StringType &iconpath," - << "const StringType &buttonDescription, PanelButton panel ) " - << "exception: " << e.what( ) << std::endl; - }//hctac + << "ButtonContainerSettings::AddButton( const StringType & groupName," + << "const StringType &buttonName, const StringType &iconpath," + << "const StringType &buttonDescription, PanelButton panel ) " + << "exception: " << e.what() << std::endl; + } //hctac } - + // ---------------------------------------------------------------------------------- - void - ButtonContainerSettings::AddButton( BCPSettingsStruct* info ) + void ButtonContainerSettings::AddButton(BCPSettingsStruct* info) { try { - std::cout<< "MLER | ButtonContainerSettings:: AddButton( BCPSettingsStruct* info )" << std::endl; - //builds the button information //I don't know the try catch doesn't work!! - if ( info->panel == NULL ) + if (info->panel == NULL) { std::cerr << "ButtonContainerSettings::AddButton" - << "exception: NULL Pointer in panel " << std::endl; - exit( 1 ); + << "exception: NULL Pointer in panel " << std::endl; + exit(1); } - info->panel->Show( false ); + info->panel->Show(false); ButtonPair* pair = new ButtonPair( - new ButtonInfo( info->buttonName, info->icon ), - new ActionButton( info->buttonDescription, info->panel ) ); - for( KeyMapList::iterator it = this->m_GroupNameList.begin( ); it - != this->m_GroupNameList.end( ); ++it ) + new ButtonInfo(info->buttonName, info->icon), + new ActionButton(info->buttonDescription, info->panel)); + for (KeyMapList::iterator it = this->m_GroupNameList.begin(); + it != this->m_GroupNameList.end(); ++it) { - if ( ( *it ).compare( info->groupName ) == 0 ) + if ((*it).compare(info->groupName) == 0) { - this->m_ButtonGroupContainer[ info->groupName ].push_back( pair ); + this->m_ButtonGroupContainer[info->groupName].push_back(pair); return; - }//fi - }//rof - this->m_GroupNameList.push_back( info->groupName ); - this->m_ButtonGroupContainer[ info->groupName ].push_back( pair ); - }//yrt - catch ( const std::exception& e ) + } //fi + } //rof + this->m_GroupNameList.push_back(info->groupName); + this->m_ButtonGroupContainer[info->groupName].push_back(pair); + } //yrt + catch (const std::exception& e) { std::cerr - << "ButtonContainerSettings::AddButton( BCPSettingsStruct* info )" - << "exception: " << e.what( ) << std::endl; - exit( 1 ); - }//hctac + << "ButtonContainerSettings::AddButton( BCPSettingsStruct* info )" + << "exception: " << e.what() << std::endl; + exit(1); + } //hctac } - + // ---------------------------------------------------------------------------------- - void - ButtonContainerSettings::AddButtons( BCStructVectorType infoList, int type ) + void ButtonContainerSettings::InitModel(BCStructVectorType infoList, int type) { - std::cout<< "MLER | ButtonContainerSettings:: AddButtons( BCStructVectorType infoList, int type )" << std::endl; try { - for( BCStructVectorType::iterator it = infoList.begin( ); it - != infoList.end( ); ++it ) + for (BCStructVectorType::iterator it = infoList.begin(); + it != infoList.end(); ++it) { - if( type == 0 ) - this->AddButton( *it ); -// else if( type == 1 ) -// this->AddItems(*it); - }//rof - }//yrt - catch ( std::exception& e ) + if (type == 0) + this->AddButton(*it); + else if (type == 1 || type == 2 || type == 3) + this->AddItems(*it); + + + } //rof + } //yrt + catch (std::exception& e) { std::cerr - << "ButtonContainerSettings::AddButtons( BCStructVectorType infoList )" - << "exception: " << e.what( ) << std::endl; - }//hctac + << "ButtonContainerSettings::AddButtons( BCStructVectorType infoList )" + << "exception: " << e.what() << std::endl; + } //hctac } - -//EED-MLER -/* - void - ButtonContainerSettings::AddItems(BCPSettingsStruct* info) + // ---------------------------------------------------------------------------------- + //MLER + void ButtonContainerSettings::AddItems(BCPSettingsStruct* info) { try { - std::cout<< "MLER | ButtonContainerSettings:: AddItems(BCPSettingsStruct* info)" << std::endl; - //builds the button information + //build the button information //I don't know the try catch doesn't work!! - if ( info->panel == NULL ) + if (info->panel == NULL) { - std::cerr << "ButtonContainerSettings::AddButton" - << "exception: NULL Pointer in panel " << std::endl; - exit( 1 ); + std::cerr << "ButtonContainerSettings::AddItems" + << "exception: NULL Pointer in panel " << std::endl; + exit(1); } + info->panel->Show(false); + std::string key = info->groupName + ":" + info->buttonName; + m_ItemsVector.push_back(ListAction(key, info->panel)); - info->panel->Show( false ); - - std::string mapKey = info->groupName + ":" + info->buttonName; - m_itemsMap[mapKey] = info->panel; + } //yrt + catch (const std::exception& e) + { + std::cerr + << "ButtonContainerSettings::AddButton( BCPSettingsStruct* info )" + << "exception: " << e.what() << std::endl; + exit(1); + } //hctac + } + // ---------------------------------------------------------------------------------- + ButtonContainerSettings::ItemsVector ButtonContainerSettings::GetItemsVector() + { + return this->m_ItemsVector; + } - }//yrt - catch ( const std::exception& e ) + // ---------------------------------------------------------------------------------- + wxPanel* + ButtonContainerSettings::GetPanelList(const StringType &buttonName) + { + try { -<<<<<<< HEAD - try - { - for( BCStructVectorType::iterator it = infoList.begin( ); it - != infoList.end( ); ++it ) - { - this->AddItem(*it); - }//rof - }//yrt - catch ( const std::exception& e ) + for (ItemsVector::iterator it = this->m_ItemsVector.begin(); + it != this->m_ItemsVector.end(); ++it) { - std::cerr - << "ContainerSettings::AddButtons( BCStructVectorType infoList ) " - << "exception: " << e.what( ) << std::endl; - }//hctac - } -*/ + if ((*it).first.compare(buttonName) == 0) + return ((*it).second); + + } + + } catch (std::exception& e) + { + std::cerr + << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) " + << "exception: " << e.what() << std::endl; + } //hctac + return (NULL); + } + +//MLER // ---------------------------------------------------------------------------------- }//ecapseman -