]> Creatis software - creaMaracasVisu.git/commitdiff
#2647 creaMaracasVisu Feature New Normal - Merge creaButtonContainer BRANCH
authordavila <eduardo.davila@creatis.insa-lyon.fr>
Wed, 27 May 2015 14:05:57 +0000 (16:05 +0200)
committerdavila <eduardo.davila@creatis.insa-lyon.fr>
Wed, 27 May 2015 14:05:57 +0000 (16:05 +0200)
25 files changed:
1  2 
lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/controller/buttonContainerController.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/buttonGroupFactory.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/buttonGroupFactory.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/containerSettings.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/containerSettings.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/functor.txx
lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/listGroupFactory.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/listGroupFactory.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/structBCSettings.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/button.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonContainerPanel.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonContainerPanel.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonGroup.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonManager.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonManager.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/groupManager.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/groupManager.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/listGroup.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/listGroup.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/listWx.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/listWx.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/creaPanelButtonContainer/buttonContainerSettings.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/creaPanelButtonContainer/buttonContainerSettings.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/creaPanelButtonContainer/creaPanelButtonContainer.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/creaPanelButtonContainer/creaPanelButtonContainer.h

index 1ac95c829787b4a7e465ac6be72c27160088efad,1ac95c829787b4a7e465ac6be72c27160088efad..a7c11023d0017abe90838fe7ac783761c2dbf46f
@@@ -1,27 -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 buttonContainerController.cxx
@@@ -37,112 -37,112 +37,105 @@@ namespace creaButtonContaine
        namespace controller
        {
                // ----------------------------------------------------------------------------------
--              ButtonContainerController::ButtonContainerController( BCPanel* panel )
++              ButtonContainerController::ButtonContainerController(BCPanel* panel)
                {
--                      std::cout<< "MLER | ButtonContainerController::ButtonContainerController( BCPanel* panel )" << std::endl;
                        this->m_BCPanel = panel;
                }
                // ----------------------------------------------------------------------------------
--              ButtonContainerController::~ButtonContainerController( )
++              ButtonContainerController::~ButtonContainerController()
                {
                }
                // ----------------------------------------------------------------------------------
--              void
--              ButtonContainerController::AddEvents( )
++              void ButtonContainerController::AddEvents()
                {
                        try
                        {
--                              std::cout<< "MLER | ButtonContainerController:: AddEvents( )" << std::endl;
                                //Adding ButtonManagerEvents
--                              forGroupManagerList::iterator it =
--                                  this->m_BCPanel->m_GroupManagerList.begin( ); it
--                                  != this->m_BCPanel->m_GroupManagerList.end( ); ++it )
++                              for (GroupManagerList::iterator it =
++                                              this->m_BCPanel->m_GroupManagerList.begin();
++                                              it != this->m_BCPanel->m_GroupManagerList.end(); ++it)
                                {
--                                      this->Connect(
--                                          ( *it ).first,
--                                          wxEVT_COMMAND_BUTTON_CLICKED,
--                                          (wxObjectEventFunction) &ButtonContainerController::ButtonExpEvent );
--                              }//rof
++                                      this->Connect((*it).first, wxEVT_COMMAND_BUTTON_CLICKED,
++                                                      (wxObjectEventFunction)
++                                                                      & ButtonContainerController::ButtonExpEvent);
++                              } //rof
  
                                //Adding ButtonEvents
--                              forButtonGroupList::iterator it =
--                                  this->m_BCPanel->m_ButtonGroupList.begin( ); it
--                                  != this->m_BCPanel->m_ButtonGroupList.end( ); ++it )
++                              for (ButtonGroupList::iterator it =
++                                              this->m_BCPanel->m_ButtonGroupList.begin();
++                                              it != this->m_BCPanel->m_ButtonGroupList.end(); ++it)
                                {
--                                      KeyList keylist = ( *it )->GetButtonIdContainer( );
--                                      for( KeyList::iterator it2 = keylist.begin( ); it2 != keylist.end( ); ++it2 )
++                                      KeyList keylist = (*it)->GetButtonIdContainer();
++                                      for (KeyList::iterator it2 = keylist.begin(); it2 != keylist.end();
++                                                      ++it2)
                                        {
--                                              this->Connect( ( *it2 ), wxEVT_COMMAND_BUTTON_CLICKED,
--                                                  (wxObjectEventFunction) &ButtonContainerController::ButtonEvent );
--                                      }//rof
--                              }//rof
--                      }//yrt
--                      catch ( const std::exception& e )
++                                              this->Connect((*it2), wxEVT_COMMAND_BUTTON_CLICKED,
++                                                              (wxObjectEventFunction)
++                                                                              & ButtonContainerController::ButtonEvent);
++                                      } //rof
++                              } //rof
++                      } //yrt
++                      catch (const std::exception& e)
                        {
                                std::cerr << "ButtonContainerController::AddEvents( ) exception: "
--                                  << e.what( ) << std::endl;
--                      }//hctac
++                                              << e.what() << std::endl;
++                      } //hctac
                }
                // ----------------------------------------------------------------------------------
--              void
--              ButtonContainerController::ButtonExpEvent( wxCommandEvent& event )
++              void ButtonContainerController::ButtonExpEvent(wxCommandEvent& event)
                {
--                      long id = event.GetId( );
--                      std::cout<< "MLER | ButtonContainerController:: ButtonExpEvent( wxCommandEvent& event )" << std::endl;
++                      long id = event.GetId();
  
                        try
                        {
                                //changing the button label when its clicked and then hide the buttons of the group.
--                              if ( this->m_BCPanel->m_GroupManagerList[ id ]->GetButton( )->GetLabel( ).Cmp(
--                                  _( "+" ) ) == 0 )
++                              if (this->m_BCPanel->m_GroupManagerList[id]->GetButton()->GetLabel().Cmp(
++                                              _("+")) == 0)
                                {
--                                      this->m_BCPanel->m_GroupManagerList[ id ]->GetButton( )->SetLabel(
--                                          _( "-" ) );
--                                      this->m_BCPanel->m_GroupManagerList[ id ]->HideSubPanel( false );
--                              }//fi
--                              else if ( this->m_BCPanel->m_GroupManagerList[ id ]->GetButton( )->GetLabel( ).Cmp(
--                                  _( "-" ) ) == 0 )
++                                      this->m_BCPanel->m_GroupManagerList[id]->GetButton()->SetLabel(
++                                                      _("-"));
++                                      this->m_BCPanel->m_GroupManagerList[id]->HideSubPanel(false);
++                              } //fi
++                              else if (this->m_BCPanel->m_GroupManagerList[id]->GetButton()->GetLabel().Cmp(
++                                              _("-")) == 0)
                                {
--                                      this->m_BCPanel->m_GroupManagerList[ id ]->GetButton( )->SetLabel(
--                                          _( "+" ) );
--                                      this->m_BCPanel->m_GroupManagerList[ id ]->HideSubPanel( true );
--                              }//fi esle
--                              this->m_BCPanel->FitSizer( );
--                      }//yrt
--                      catch ( const std::exception& e )
++                                      this->m_BCPanel->m_GroupManagerList[id]->GetButton()->SetLabel(
++                                                      _("+"));
++                                      this->m_BCPanel->m_GroupManagerList[id]->HideSubPanel(true);
++                              } //fi esle
++                              this->m_BCPanel->FitSizer();
++                      } //yrt
++                      catch (const std::exception& e)
                        {
                                std::cerr
--                                  << "ButtonContainerController::ButtonExpEvent( wxCommandEvent& event ) exception: "
--                                  << e.what( ) << std::endl;
--                      }//hctac
++                                              << "ButtonContainerController::ButtonExpEvent( wxCommandEvent& event ) exception: "
++                                              << e.what() << std::endl;
++                      } //hctac
                }
                // ----------------------------------------------------------------------------------
--              void
--              ButtonContainerController::ButtonEvent( wxCommandEvent& event )
++              void ButtonContainerController::ButtonEvent(wxCommandEvent& event)
                {
--                      std::cout<< "MLER | ButtonContainerController:: ButtonEvent( wxCommandEvent& event )" << std::endl;
                        try
                        {
--                              forButtonGroupList::iterator it =
--                                  this->m_BCPanel->m_ButtonGroupList.begin( ); it
--                                  != this->m_BCPanel->m_ButtonGroupList.end( ); ++it )
++                              for (ButtonGroupList::iterator it =
++                                              this->m_BCPanel->m_ButtonGroupList.begin();
++                                              it != this->m_BCPanel->m_ButtonGroupList.end(); ++it)
                                {
--                                      if ( ( *it )->GetButton( event.GetId( ) ) != NULL )
++                                      if ((*it)->GetButton(event.GetId()) != NULL)
                                        {
--                                              ( *it )->GetButton( event.GetId( ) )->Execute( );
--                                      }//fi
--                              }//rof
--                      }//yrt
--                      catch ( const std::exception& e )
++                                              (*it)->GetButton(event.GetId())->Execute();
++                                      } //fi
++                              } //rof
++                      } //yrt
++                      catch (const std::exception& e)
                        {
                                std::cerr
--                                  << "ButtonContainerController::ButtonEvent( wxCommandEvent& event ) exception: "
--                                  << e.what( ) << std::endl;
--                      }//hctac
++                                              << "ButtonContainerController::ButtonEvent( wxCommandEvent& event ) exception: "
++                                              << e.what() << std::endl;
++                      } //hctac
                }
        // ----------------------------------------------------------------------------------
  
--
        }//ecapsename
--}//ecapsename
++} //ecapsename
  
index eb29cf04d43dceca677fc6ae88a0ddf1068ea05a,eb29cf04d43dceca677fc6ae88a0ddf1068ea05a..e871e85722a2af84f80a905055846fe4798d6244
@@@ -39,7 -39,7 +39,6 @@@ namespace creaButtonContaine
                // ----------------------------------------------------------------------------------
                ButtonGroupFactory::ButtonGroupFactory( )
                {
--                      std::cout<< "MLER | ButtonGroupFactory::ButtonGroupFactory( )" << std::endl;
                }
                // ----------------------------------------------------------------------------------
                ButtonGroupFactory::~ButtonGroupFactory( )
@@@ -52,7 -52,7 +51,6 @@@
                        ButtonGroupContainer groupView;
                        try
                        {
--                              std::cout<< "MLER | ButtonGroupFactory::CreateButtonGroupContainer()" << std::endl;
                                ButtonGroupMap map = settings->GetButtonGroupContainer( );
                                for( ButtonGroupMap::iterator it = map.begin( ); it != map.end( ); ++it )
                                {
@@@ -77,7 -77,7 +75,6 @@@
                {
                        ButtonContainer buttonList;
  
--                      std::cout<< "MLER | ButtonGroupFactory::GetButtons()" << std::endl;
                        try
                        {
                                for( ButtonList::iterator it = buttonModel.begin( ); it
index a349df61eda207c1a14c899337532e63055c8c86,a349df61eda207c1a14c899337532e63055c8c86..bafea13a098ae10953c81e01dedcfe135b00a382
@@@ -1,27 -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 buttonGroupFactory.h
@@@ -79,26 -79,26 +79,26 @@@ namespace creaButtonContaine
                                /*!     @typedef std::list< ButtonGroup* > ButtonGroupContainer;
                                 *      @brief Defines the ButtonGroupContainer type.
                                 */
--                              typedef std::list< ButtonGroup* > ButtonGroupContainer;
++                              typedef std::list<ButtonGroup*> ButtonGroupContainer;
                                // ----------------------------------------------------------------------------------
                                /*!     @typedef std::map< long, Button* > ButtonContainer;
                                 *      @brief Defines the ButtonContainer type.
                                 */
--                              typedef std::map< long, Button* > ButtonContainer;
++                              typedef std::map<long, Button*> ButtonContainer;
                                // ----------------------------------------------------------------------------------
                                //end of typedef definition
                        public:
                                /*!     @fn ButtonGroupFactory::ButtonGroupFactory( );
                                 *      @brief This is the default constructor.
                                 */
--                              ButtonGroupFactory( );
++                              ButtonGroupFactory();
                                // -------------------------------------------------------------------------------
                                /*!     @fn virtual ButtonGroupFactory::~ButtonGroupFactory( );
                                 *      @brief This is the destructor.
                                 */
                                virtual
--                              ~ButtonGroupFactory( );
--                              
++                              ~ButtonGroupFactory();
++
                                /*! @fn ButtonGroupContainer ButtonGroupFactory::CreateButtonGroupContainer( wxWindow* parent, ButtonGroupModel* settings );
                                 * @brief This method creates the ButtonGroupContainer.
                                 * @param parent the wxWindow* parent to be attached.
                                 * @return ButtonGroupContainer The wx button group container.
                                 */
                                ButtonGroupContainer
--                              CreateButtonGroupContainer( wxWindow* parent,
--                                  ButtonGroupModel* settings );
++                              CreateButtonGroupContainer(wxWindow* parent,
++                                              ButtonGroupModel* settings);
                        private:
--                              
  
                                /*! @fn ButtonContainer ButtonGroupFactory::GetButtons( wxWindow* parent, ButtonList buttonModel );
                                 * @brief  This method creates a wx button container for a group.
                                 * @return ButtonContainer The wx button container.
                                 */
                                ButtonContainer
--                              GetButtons( wxWindow* parent, ButtonList buttonModel );
++                              GetButtons(wxWindow* parent, ButtonList buttonModel);
                };
--      }//ecapseman
--}//ecapseman
++      }                               //ecapseman
++}                             //ecapseman
  
  #endif // CARTOBUTTONFACTORY_H
index 45d2932a4cc9f2c5ee8a15f9aa69504c07cc7fcd,45d2932a4cc9f2c5ee8a15f9aa69504c07cc7fcd..0b6b21c63934c912804b5dc6cdd445eb62d9fe14
@@@ -1,27 -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 containerSettings.cxx
@@@ -37,134 -37,134 +37,118 @@@ namespace creaButtonContaine
        namespace model
        {
                // ----------------------------------------------------------------------------------
--              ContainerSettings::ContainerSettings( )
++              ContainerSettings::ContainerSettings()
                {
  
                }
                // ----------------------------------------------------------------------------------
--              ContainerSettings::~ContainerSettings( )
++              ContainerSettings::~ContainerSettings()
                {
                }
--              
++
                // ----------------------------------------------------------------------------------
--              ButtonGroupMap
--              ContainerSettings::GetButtonGroupContainer( )
++              ButtonGroupMap ContainerSettings::GetButtonGroupContainer()
                {
--                      std::cout<< "MLER | ContainerSettings::GetButtonGroupContainer( )" << std::endl;
--                      return ( this->m_ButtonGroupContainer );
++                      return (this->m_ButtonGroupContainer);
                }
                // ----------------------------------------------------------------------------------
--              KeyMapList
--              ContainerSettings::GetGroupNameList( )
++              KeyMapList ContainerSettings::GetGroupNameList()
                {
--                      std::cout<< "MLER | ContainerSettings::GetGroupNameList( )" << std::endl;
--                      return ( this->m_GroupNameList );
++                      return (this->m_GroupNameList);
                }
--              
++
                // ----------------------------------------------------------------------------------
--              void
--              ContainerSettings::SetButtonGroupContainer(ButtonGroupMap bgContainer)
++              void ContainerSettings::SetButtonGroupContainer(ButtonGroupMap bgContainer)
                {
--                      std::cout<< "MLER | ContainerSettings:: SetButtonGroupContainer(ButtonGroupMap bgContainer)" << std::endl;
                        this->m_ButtonGroupContainer = bgContainer;
                }
                // ----------------------------------------------------------------------------------
--              void
--              ContainerSettings::SetGroupNameList( KeyMapList gNameList )
++              void ContainerSettings::SetGroupNameList(KeyMapList gNameList)
                {
--                      std::cout<< "MLER | ContainerSettings::SetGroupNameList" << std::endl;
                        this->m_GroupNameList = gNameList;
                }
--              
--              // ----------------------------------------------------------------------------------
--
  
++              // ----------------------------------------------------------------------------------
  
--              void
--              ContainerSettings::AddButton( const StringType & groupName,
--                  const StringType &buttonName, const wxBitmap &icon,
--                  const StringType &buttonDescription, FunctionEventType event )
++              void ContainerSettings::AddButton(const StringType & groupName,
++                              const StringType &buttonName, const wxBitmap &icon,
++                              const StringType &buttonDescription, FunctionEventType event)
                {
--                      std::cout<< "MLER | ContainerSettings::AddButton( const StringType & groupName," << std::endl;
  
--                      ButtonPair* pair = new ButtonPair(
--                          new ButtonInfo( buttonName, icon ),
--                          new ButtonAction( buttonDescription, event ) );
++                      ButtonPair* pair = new ButtonPair(new ButtonInfo(buttonName, icon),
++                                      new ButtonAction(buttonDescription, event));
                        try
                        {
--                              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)
                                        {
--                                              std::cout<<"MLER ContainerSettings // AddButton : it "<<*it <<std::endl;
  
--                                              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
--                                  << "ContainerSettings::AddButton( const std::string & groupName,"
--                                  << "const std::string buttonName, const std::string iconpath,"
--                                  << "const std::string buttonDescription, FunctionEventType event ) exception: "
--                                  << e.what( ) << std::endl;
--                      }//hctac
++                                              << "ContainerSettings::AddButton( const std::string & groupName,"
++                                              << "const std::string buttonName, const std::string iconpath,"
++                                              << "const std::string buttonDescription, FunctionEventType event ) exception: "
++                                              << e.what() << std::endl;
++                      } //hctac
                }
                // ----------------------------------------------------------------------------------
--              void
--              ContainerSettings::AddButton( BCSettingsStruct* info )
++              void ContainerSettings::AddButton(BCSettingsStruct* info)
                {
--                      std::cout<< "MLER | ContainerSettings::AddButton( BCSettingsStruct* info )" << std::endl;
++
                        ButtonPair* pair = new ButtonPair(
--                          new ButtonInfo( info->buttonName, info->icon ),
--                          new ButtonAction( info->buttonDescription, info->eventFunction ) );
++                                      new ButtonInfo(info->buttonName, info->icon),
++                                      new ButtonAction(info->buttonDescription, info->eventFunction));
                        try
                        {
--                              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( 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
--                                  << "void ContainerSettings::AddButton( BCSettingsStruct* info ) "
--                                  << "exception: " << e.what( ) << std::endl;
--                      }//hctac
++                                              << "void ContainerSettings::AddButton( BCSettingsStruct* info ) "
++                                              << "exception: " << e.what() << std::endl;
++                      } //hctac
                }
                // ----------------------------------------------------------------------------------
--              void
--              ContainerSettings::AddButtons( BCStructVectorType infoList )
++              void ContainerSettings::AddButtons(BCStructVectorType infoList)
                {
--                      std::cout<< "MLER | ContainerSettings::AddButtons( BCStructVectorType infoList )" << std::endl;
++
                        try
                        {
--                              for( BCStructVectorType::iterator it = infoList.begin( ); it
--                                  != infoList.end( ); ++it )
++                              for (BCStructVectorType::iterator it = infoList.begin();
++                                              it != infoList.end(); ++it)
                                {
--                                      this->AddButton( *it );
--                              }//rof
--                      }//yrt
--                      catch ( const std::exception& e )
++                                      this->AddButton(*it);
++                              } //rof
++                      } //yrt
++                      catch (const std::exception& e)
                        {
                                std::cerr
--                                  << "ContainerSettings::AddButtons( BCStructVectorType infoList ) "
--                                  << "exception: " << e.what( ) << std::endl;
--                      }//hctac
++                                              << "ContainerSettings::AddButtons( BCStructVectorType infoList ) "
++                                              << "exception: " << e.what() << std::endl;
++                      } //hctac
                }
  
        // ----------------------------------------------------------------------------------
        }//ecapseman
--}//ecapseman
++} //ecapseman
index 1d17c2a0d2477fac3b6284c7b16d1a133811ffa2,05c326f981acffb4b99afc9bbb6616b7594b2243..2e359a2a694ffdeaa95f780a69e09d55a4439956
@@@ -35,7 -35,7 +35,6 @@@
  
  #include <vector>
  #include <wx/bitmap.h>
--//EED-MLER  #include <wx/listctrl.h>
  
  #include "structBCSettings.h"
  #include "system.h"
@@@ -163,7 -160,7 +159,6 @@@ namespace creaButtonContaine
                                ButtonGroupMap m_ButtonGroupContainer; //! <The container with the group of buttons.
                                KeyMapList m_GroupNameList; //! <The container with the name of the groups of buttons.
  
--                              //ListGroupMap m_ListGroupContainer; // contenedor del grupo de listas
                };
        }
  }
index 805b5674664d1a967d2eddb160eb2202e62b88d5,805b5674664d1a967d2eddb160eb2202e62b88d5..f736fe90a58b488acbafa71dfc7d35bf49eb0c59
@@@ -1,82 -1,82 +1,81 @@@
  /*# ---------------------------------------------------------------------
--#
--# 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 functor.cxx
   * @brief Implements TFunctor class and it propose is Call_Back Functions
   * @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr)
   * @date  2011-06-02
--*/
++ */
  
  namespace creaButtonContainer
  {
--  namespace model
--  {
--        // constructor - takes pointer to an object and pointer to a member and stores
--        // them in two private variables
--        // -------------------------------------------------------------------------------
--        template< typename TClass >
--        TConcreteFunctor< TClass >::TConcreteFunctor( TClass* _pt2Object, void
--        (TClass::*_fpt)( const ButtonIDType &buttonName ) )
--        {
--                this->pt2Object = _pt2Object;
--                this->fpt = _fpt;
--        }
--        // -------------------------------------------------------------------------------
--        // override operator "()" // execute member functions
--        template< typename TClass >
--        void
--        TConcreteFunctor< TClass >::operator()( const ButtonIDType &buttonName )
--        {std::cout << "MLER - TConcreteFunctor< TClass >::operator():" << buttonName << std::endl;
--          try
--          {
--                ( *pt2Object.*fpt )( buttonName );
--          }//yrt
--          catch ( const std::exception& e )
--          {
--                std::cerr<< "TConcreteFunctor< TClass >::operator()( const ButtonIDType &buttonName )"
--                                <<" exception: " << e.what( ) << std::endl;
--          }//hctac
--        }
--        // -------------------------------------------------------------------------------
--        // override function "Call" // execute member function
--        template< typename TClass >
--        void
--        TConcreteFunctor< TClass >::Call( const ButtonIDType &buttonName )
--        {
--              std::cout << "MLER - TConcreteFunctor< TClass >::Call " << buttonName << std::endl;
--          try
--          {
--                ( *pt2Object.*fpt )( buttonName );
--          }//yrt
--          catch ( const std::exception& e )
--          {
--                std::cerr<< "TConcreteFunctor< TClass >::Call( const ButtonIDType &buttonName )"
--                                <<" exception: " << e.what( ) << std::endl;
--          }//hctac
--        }
--  }//ecapseman
--}//ecapseman
++      namespace model
++      {
++              // constructor - takes pointer to an object and pointer to a member and stores
++              // them in two private variables
++              // -------------------------------------------------------------------------------
++              template<typename TClass>
++              TConcreteFunctor<TClass>::TConcreteFunctor(TClass* _pt2Object,
++                              void (TClass::*_fpt)(const ButtonIDType &buttonName))
++              {
++                      this->pt2Object = _pt2Object;
++                      this->fpt = _fpt;
++              }
++              // -------------------------------------------------------------------------------
++              // override operator "()" // execute member functions
++              template<typename TClass>
++              void TConcreteFunctor<TClass>::operator()(const ButtonIDType &buttonName)
++              {
++                      try
++                      {
++                              (*pt2Object.*fpt)(buttonName);
++                      }         //yrt
++                      catch (const std::exception& e)
++                      {
++                              std::cerr
++                                              << "TConcreteFunctor< TClass >::operator()( const ButtonIDType &buttonName )"
++                                              << " exception: " << e.what() << std::endl;
++                      }         //hctac
++              }
++              // -------------------------------------------------------------------------------
++              // override function "Call" // execute member function
++              template<typename TClass>
++              void TConcreteFunctor<TClass>::Call(const ButtonIDType &buttonName)
++              {
++                      try
++                      {
++                              (*pt2Object.*fpt)(buttonName);
++                      }         //yrt
++                      catch (const std::exception& e)
++                      {
++                              std::cerr
++                                              << "TConcreteFunctor< TClass >::Call( const ButtonIDType &buttonName )"
++                                              << " exception: " << e.what() << std::endl;
++                      }         //hctac
++              }
++      }         //ecapseman
++}       //ecapseman
  
diff --cc lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/listGroupFactory.cxx
index 91df61b8e6fca5cdee8c5d297ee05f7bc5b93e3b,91df61b8e6fca5cdee8c5d297ee05f7bc5b93e3b..0000000000000000000000000000000000000000
deleted file mode 100644,100644
+++ /dev/null
@@@ -1,94 -1,94 +1,0 @@@
--/*# ---------------------------------------------------------------------
--#
--# 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.
--# ------------------------------------------------------------------------ */
--
--
--/*#include "listGroupFactory.h"
--
--namespace creaButtonContainer
--{
--      namespace model
--      {
--              // ----------------------------------------------------------------------------------
--              ListGroupFactory::ListGroupFactory( )
--              {
--              }
--              // ----------------------------------------------------------------------------------
--              ListGroupFactory::~ListGroupFactory( )
--              {
--              }
--
--              // ----------------------------------------------------------------------------------
--              ListGroupFactory::ButtonGroupContainer ListGroupFactory::CreateButtonGroupContainer( wxWindow* parent,  ButtonGroupModel* settings )
--              {
--                      ButtonGroupContainer groupView;
--                      try
--                      {
--                              std::cout<< std::endl << " MLER listGroupFactory.cxx / CreateButtonGroupContainer(): " << std::endl;
--                              ButtonGroupMap map = settings->GetButtonGroupContainer( );
--                              for( ButtonGroupMap::iterator it = map.begin( ); it != map.end( ); ++it )
--                              {
--                                      wxString groupNameAux( ( *it ).first.c_str( ), wxConvUTF8 );
--                                      wxStaticText* wxGroupName = new wxStaticText( parent, -1, groupNameAux, wxDefaultPosition, wxDefaultSize, 0, _T("GroupText") );
--                                      ButtonGroup* group = new ButtonGroup( wxGroupName, this->GetButtons( parent, ( *it ).second ) );
--                                      groupView.push_back( group );
--                              }//rof
--                      }//yrt
--                      catch ( const std::exception& e )
--                      {
--                              std::cerr
--                                  << "ButtonGroupFactory::CreateButtonGroupContainer( wxWindow* parent,   ButtonGroupModel* settings )"
--                                  << " exception: " << e.what( ) << std::endl;
--                      }//chtac
--                      return ( groupView );
--              }
--
--
--              // ----------------------------------------------------------------------------------
--              ListGroupFactory::ButtonContainer ListGroupFactory::GetButtons( wxWindow* parent, ButtonList buttonModel )
--              {
--                      ButtonContainer buttonList;
--                      try
--                      {
--                              for( ButtonList::iterator it = buttonModel.begin( ); it
--                                  != buttonModel.end( ); ++it )
--                              {
--                                      long id = wxNewId( );
--                                      buttonList[ id ] = new Button( parent, id, *it );
--                              }
--                      }
--                      catch ( const std::exception& e )
--                      {
--                              std::cerr
--                                  << "ButtonGroupFactory::GetButtons( wxWindow* parent, ButtonList buttonModel )"
--                                  << "exception: " << e.what( ) << std::endl;
--                      }//chtac
--
--                      return ( buttonList );   // JPR
--              }
--      // ----------------------------------------------------------------------------------
--      }//ecapseman
--}//ecapseman*/
--
--
diff --cc lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/listGroupFactory.h
index aece2e4cb94a2bd482d865dd84be37bef439579b,aece2e4cb94a2bd482d865dd84be37bef439579b..0000000000000000000000000000000000000000
deleted file mode 100644,100644
+++ /dev/null
@@@ -1,82 -1,82 +1,0 @@@
--/*# ---------------------------------------------------------------------
--#
--# 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.
--# ------------------------------------------------------------------------ */
--
--/*#ifndef LISTGROUPFACTORY_H
--#define LISTGROUPFACTORY_H
--
--#include <wx/window.h>
--
--#include "system.h"
--#include "button.h"
--#include "listGroup.h"
--#include "containerSettings.h"
--
--
--namespace creaButtonContainer
--{
--
--      namespace model
--      {
--
--              class ListGroupFactory
--              {
--                      public:
--
--                              typedef creaButtonContainer::view::ListWx Button;
--                              // ----------------------------------------------------------------------------------
--
--                              typedef creaButtonContainer::view::ListGroup ButtonGroup;
--                              // ----------------------------------------------------------------------------------
--
--                              typedef creaButtonContainer::model::ContainerSettings ButtonGroupModel;
--                              // ----------------------------------------------------------------------------------
--
--                              typedef std::list< ButtonGroup* > ButtonGroupContainer;
--                              // ----------------------------------------------------------------------------------
--
--                              typedef std::map< long, Button* > ButtonContainer;
--                              // ----------------------------------------------------------------------------------
--                              //end of typedef definition
--                      public:
--
--                              ListGroupFactory( );
--                              // -------------------------------------------------------------------------------
--
--                              virtual
--                              ~ListGroupFactory( );
--
--                              ButtonGroupContainer
--                              CreateButtonGroupContainer( wxWindow* parent,
--                                  ButtonGroupModel* settings );
--                      private:
--
--
--                              ButtonContainer
--                              GetButtons( wxWindow* parent, ButtonList buttonModel );
--              };
--      }//ecapseman
--}//ecapseman
--
--#endif // LISTGROUPFACTORY_H*/
index de3a3045e3c9562df502223d9465212d27911ee2,de3a3045e3c9562df502223d9465212d27911ee2..033f29b171e935c8c46a9a22509a6d1a09a45b25
@@@ -1,27 -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 structBCSettings.h
@@@ -56,11 -56,11 +56,8 @@@ namespace creaButtonContaine
                                StringType iconpath;                    //! <The iconPath of the button.
                                BitmapType icon;                        //! <The iconPath of the button.
                                StringType buttonDescription;           //! <The description of the button.
--                              FunctionEventType eventFunction;        //! <The event associated to the button.
++                              FunctionEventType eventFunction; //! <The event associated to the button.
  
--                              //===MLER===
--                              StringType type;                        //!<Tipo contenedor>
--                              StringType itemsList;
                };
        } //ecapseman
  } //ecapseman
index 7c81882f3386babdcd6510b4c0b71080a56cf903,7c81882f3386babdcd6510b4c0b71080a56cf903..69d72c1ee7cc0ac58382387f2179478db0ecf993
@@@ -39,8 -39,8 +39,6 @@@ namespace creaButtonContaine
                // ----------------------------------------------------------------------------------
                Button::Button( wxWindow* parent, long id, ButtonPair* pair )           
                {
--                      std::cout<< "MLER | Button::Button()" << std::endl;
--
                        this->m_ButtonPair                      = pair;
                        StringType wXbuttonName         = this->m_ButtonPair->first->first;
                        BitmapType wXicon               = this->m_ButtonPair->first->second;
@@@ -63,7 -63,7 +61,6 @@@
                StringType
                Button::GetButtonName( )
                {
--                      std::cout<< "MLER | Button::GetButtonName( )" << std::endl;
                        return ( this->m_ButtonPair->first->first );
                }
  
@@@ -71,7 -71,7 +68,6 @@@
                BitmapType
                Button::GetIcon( )
                {
--                      std::cout<< "MLER | Button::GetIcon( )" << std::endl;
                        return ( this->m_ButtonPair->first->second );
                }               
  
@@@ -86,7 -86,7 +82,6 @@@
                StringType
                Button::GetDescription( )
                {
--                      std::cout<< "MLER | Button::GetDescription( )" << std::endl;
                        return ( this->m_ButtonPair->second->first );
                }
                
                void
                Button::Execute( )
                {
--                      std::cout<< "MLER | Button::Execute( )" << std::endl;
                        try
                        {
                                TFunctor* vTable[ ] =
                                { this->m_ButtonPair->second->second };
  
                                vTable[ 0 ]->Call( this->m_ButtonPair->first->first );
--                              std::cout<< "Call Button: " << this->m_ButtonPair->first->first  <<std::endl;
                        }//yrt
                        catch ( const std::exception& e )
                        {
index 0f182f50565d9dff4b6a8f0a9766f212c75bbb27,741088099a831e4e11e493757c1ff34853527c1e..b23ff0163e3016f2d0dd176ff667efe7f83a6fe9
@@@ -1,27 -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 buttonGroup.cxx
@@@ -46,100 -46,74 +46,65 @@@ namespace creaButtonContaine
                : wxScrolledWindow(parent,-1, wxDefaultPosition,wxDefaultSize, wxTAB_TRAVERSAL | wxVSCROLL | wxHSCROLL | wxFULL_REPAINT_ON_RESIZE, _T("creaButtonContainer") )
                {
  
--                      std::cout<< "MLER | ButtonContainerPanel::ButtonContainerPanel( )" << std::endl;
--
                        ButtonGroupFactory factory;
-                       //ListGroupFactory listFactory;
-                       //MLER this->SetButtonGroupContainer( factory.CreateButtonGroupContainer( this, settings ) );
  
-                       std::cout<< std::endl << " MLER buttonContainerPanel.cxx / ButtonContainerPanel() :: type " << type<<std::endl;
-                       switch (type)
-                       {
-                       case 0:
-                               this->SetButtonGroupContainer( factory.CreateButtonGroupContainer( this, settings ) );
-                       break;
-                       //case 1:
-                               //this->SetListGroupContainer(listFactory.CreateButtonGroupContainer( this, settings ) );
-                                                               // MLER Verificar ButtonGroupList contra ListGroupList
-                       //break;
-                       default:
-                               this->SetButtonGroupContainer(factory.CreateButtonGroupContainer( this, settings ) );
-                       }
 -
+                       this->SetButtonGroupContainer( factory.CreateButtonGroupContainer( this, settings ) );
  
-                       this->PanelInit(type );
 -
+                       this->PanelInit( );
                        this->m_ButtonCController = new BCController( this );
                        this->m_ButtonCController->AddEvents( );
                        this->SetEventHandler( this->m_ButtonCController );
                }
--              
++
                // ----------------------------------------------------------------------------------
--              ButtonContainerPanel::~ButtonContainerPanel( )
++              ButtonContainerPanel::~ButtonContainerPanel()
                {
                }
--              
++
                // ----------------------------------------------------------------------------------
--              void ButtonContainerPanel::SetButtonGroupContainer(ButtonGroupList groupContainer )
++              void ButtonContainerPanel::SetButtonGroupContainer(
++                              ButtonGroupList groupContainer)
                {
--                      std::cout<< "MLER | ButtonContainerPanel::SetButtonGroupContainer()" << std::endl;
++
                        this->m_ButtonGroupList = groupContainer;
                }
++
                // ----------------------------------------------------------------------------------
--              /*void ButtonContainerPanel::SetListGroupContainer(ListGroupList groupContainer )
--              {
--                      this->m_ListGroupList = groupContainer;
--              }*/
--              
--              // ----------------------------------------------------------------------------------
-               void ButtonContainerPanel::PanelInit( int type )
 -              void ButtonContainerPanel::PanelInit( )
++              void ButtonContainerPanel::PanelInit()
                {
-                       std::cout<< "MLER | ButtonContainerPanel::PanelInit( int type )" << std::endl;
 -                      std::cout<< "MLER | ButtonContainerPanel::PanelInit(  )" << std::endl;
                        try
                        {
--                              
++
  // EED 20/01/2012  flag 01
--                              this->m_Sizer = new Sizer( 0, 1, 0, 0 );
-                               std::cout << " MLER buttonContainerPanel.cxx / Panel Init() :: type " << type << std::endl;
++                              this->m_Sizer = new Sizer(0, 1, 0, 0);
  
-                               if(type == 0)
 -                                      for( ButtonGroupList::iterator it = this->m_ButtonGroupList.begin( ); it != this->m_ButtonGroupList.end( ); ++it )
 -                                      {
 -                                              GroupManager* manager = new GroupManager( this, *it );
 -                                              this->m_GroupManagerList[ manager->GetButtonID( ) ] = manager;
 -                                              this->m_Sizer->Add( manager, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 );
 -                                      }
++                              for (ButtonGroupList::iterator it = this->m_ButtonGroupList.begin();
++                                              it != this->m_ButtonGroupList.end(); ++it)
 +                              {
-                                       for( ButtonGroupList::iterator it = this->m_ButtonGroupList.begin( ); it != this->m_ButtonGroupList.end( ); ++it )
-                                       {
-                                               GroupManager* manager = new GroupManager( this, *it );
-                                               this->m_GroupManagerList[ manager->GetButtonID( ) ] = manager;
-                                               this->m_Sizer->Add( manager, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 );
-                                       }
++                                      GroupManager* manager = new GroupManager(this, *it);
++                                      this->m_GroupManagerList[manager->GetButtonID()] = manager;
++                                      this->m_Sizer->Add(manager, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5);
 +                              }
-                               /*else
-                               {
-                                       for(ListGroupList::iterator it1 = this->m_ListGroupList.begin(); it1 != this->m_ListGroupList.end(); ++it1)
-                                       {
-                                               GroupManager* manager = new GroupManager( this, *it1);
-                                               this->m_GroupManagerList[ manager->GetButtonID( ) ] = manager;
-                                               this->m_Sizer->Add( manager, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 );
-                                       }
-                               }//MLER*/
  
--                              this->SetSizer( this->m_Sizer );
--                              this->Layout( );
--                              this->FitSizer( );
--                      }//yrt
--                      catch ( const std::exception& e )
++                              this->SetSizer(this->m_Sizer);
++                              this->Layout();
++                              this->FitSizer();
++                      }               //yrt
++                      catch (const std::exception& e)
                        {
                                std::cerr << "ButtonContainerPanel::PanelInit( ) " << "exception: "
--                                  << e.what( ) << std::endl;
--                      }//hctac
++                                              << e.what() << std::endl;
++                      }               //hctac
                }
--              
++
                // ----------------------------------------------------------------------------------
--              void ButtonContainerPanel::FitSizer( )
++              void ButtonContainerPanel::FitSizer()
                {
--                      std::cout<< "MLER | ButtonContainerPanel::FitSizer( )" << std::endl;
--                      this->m_Sizer->Fit( this );
--                      this->m_Sizer->FitInside( this );
--                      this->SetScrollRate( 20, 20 );
--                      this->m_Sizer->SetSizeHints( this );
++                      this->m_Sizer->Fit(this);
++                      this->m_Sizer->FitInside(this);
++                      this->SetScrollRate(20, 20);
++                      this->m_Sizer->SetSizeHints(this);
                }
        // ----------------------------------------------------------------------------------
        }//ecapseman
--}//ecapseman
++}             //ecapseman
index 5e145418c67106d564e33a79487b905346fbffe0,f16da5ee6dd99544ed46874a6503c866f823c2c8..86dd513fd4bb5f44f634174ea13b8d0a73090322
@@@ -1,27 -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 buttonContainerController.h
@@@ -46,8 -46,8 +46,6 @@@
  #include "buttonGroupFactory.h"
  #include "containerSettings.h"
  #include "buttonContainerController.h"
--//EED-MLER #include "listGroup.h"
--//EED-MLER #include "listGroupFactory.h"
  
  /*!   @namespace <creaButtonContainer>
   *    @brief Contains the creaButtonContainer library included in creaMaracasVisu.
@@@ -80,7 -80,7 +78,7 @@@ namespace creaButtonContaine
                 *  @bug The scrolled it doesn't work! (to be changed soon)
                 *  @see <a href="http://docs.wxwidgets.org/stable/wx_wxscrolledwindow.html">wxScrolledWindow</a>
                 */
--              class ButtonContainerPanel : public wxScrolledWindow
++              class ButtonContainerPanel: public wxScrolledWindow
                {
                        public:
                                //typedef definition
                                /*!     @typedef std::list< ButtonGroup* > ButtonGroupList;
                                 *      @brief Defines the ButtonGroupList type.
                                 */
--                              typedef std::list< ButtonGroup* > ButtonGroupList;
++                              typedef std::list<ButtonGroup*> ButtonGroupList;
                                // ----------------------------------------------------------------------------------
                                /*!     @typedef std::map< long, GroupManager* > GroupManagerList;
                                 *      @brief Defines the GroupManagerList type.
                                 */
--                              typedef std::map< long, GroupManager* > GroupManagerList;
++                              typedef std::map<long, GroupManager*> GroupManagerList;
                                // ----------------------------------------------------------------------------------
                                /*!     @typedef wxFlexGridSizer Sizer;
                                 *      @brief Defines the Sizer type.
                                /*!     @typedef std::list< long > KeyList;
                                 *      @brief Defines the KeyList type.
                                 */
--                              typedef std::list< long > KeyList;
++                              typedef std::list<long> KeyList;
                                // ----------------------------------------------------------------------------------
                                /*!     @typedef creaButtonContainer::model::ContainerSettings ButtonGroupSettings;
                                 *      @brief Defines the ButtonGroupSettings type.
                                 */
--                              typedef creaButtonContainer::model::ContainerSettings
--                                  ButtonGroupSettings;
++                              typedef creaButtonContainer::model::ContainerSettings ButtonGroupSettings;
                                // ----------------------------------------------------------------------------------
                                /*!     @typedef creaButtonContainer::model::ButtonGroupFactory ButtonGroupFactory;
                                 *      @brief Defines the ButtonGroupFactory type.
                                 */
--                              typedef creaButtonContainer::model::ButtonGroupFactory
--                                  ButtonGroupFactory;
++                              typedef creaButtonContainer::model::ButtonGroupFactory ButtonGroupFactory;
                                // ----------------------------------------------------------------------------------
                                /*!     creaButtonContainer::controller::ButtonContainerController BCController;
                                 *      @brief Defines the BCController type.
                                 */
--                              typedef creaButtonContainer::controller::ButtonContainerController
--                                  BCController;
--
--
--                              //typedef creaButtonContainer::model::ListGroupFactory ListGroupFactory;
--
--                              //typedef creaButtonContainer::view::ListGroup ListGroup;
--
--                              //typedef std::list< ListGroup* > ListGroupList;
--
--                              //typedef creaButtonContainer::model::ListGroupFactory ListGroupFactory;
--
++                              typedef creaButtonContainer::controller::ButtonContainerController BCController;
  
                                // ----------------------------------------------------------------------------------
                                //end of typedef definition
                                 * @param parent wxWindow pointer to parent.
                                 * @param settings ButtonGroupSettings Pointer to button container settings.
                                 */
-                               ButtonContainerPanel( wxWindow* parent, ButtonGroupSettings* settings, int type );
 -                              ButtonContainerPanel( wxWindow* parent, ButtonGroupSettings* settings);
++                              ButtonContainerPanel(wxWindow* parent, ButtonGroupSettings* settings);
                                // ----------------------------------------------------------------------------------
                                /*! @fn ~ButtonContainerPanel( );
                                 * @brief This is the destructor.
                                 */
                                virtual
--                              ~ButtonContainerPanel( );
++                              ~ButtonContainerPanel();
                                // ----------------------------------------------------------------------------------
                                /*! @fn SetGroupContainer( ButtonGroupList groupContainer );
                                 * @brief This method sets the settings to the container.
                                 * @param groupContainer
                                 */
                                void
--                              SetButtonGroupContainer( ButtonGroupList groupContainer );
++                              SetButtonGroupContainer(ButtonGroupList groupContainer);
                                // ----------------------------------------------------------------------------------
                                /*! @fn PanelInit( );
                                 *      This method initializes the panel.
                                 *      @exception std::bad_alloc
                                 */
                                void
-                               PanelInit( int type);
 -                              PanelInit( );
++                              PanelInit();
                                // ----------------------------------------------------------------------------------
  
                                //void
                                 * This method fits and organizes the sizer.
                                 */
                                void
--                              FitSizer( );
++                              FitSizer();
                                // ----------------------------------------------------------------------------------
                        public:
                                friend class creaButtonContainer::controller::ButtonContainerController;
                        private:
--                              GroupManagerList        m_GroupManagerList; //!<The container of managers.
--                              ButtonGroupList         m_ButtonGroupList; //!<The list of button groups.
--                              BCController*           m_ButtonCController; //!<Pontier to controller.
--                              Sizer*                          m_Sizer; //!<Pointer to wxSizer
--
--
--                              //ListGroupList m_ListGroupList;
++                              GroupManagerList m_GroupManagerList; //!<The container of managers.
++                              ButtonGroupList m_ButtonGroupList; //!<The list of button groups.
++                              BCController* m_ButtonCController; //!<Pontier to controller.
++                              Sizer* m_Sizer; //!<Pointer to wxSizer
  
--                      DECLARE_EVENT_TABLE() //!<Event Table declaration.
++                              DECLARE_EVENT_TABLE()
++                              //!<Event Table declaration.
                };
--      }//ecapseman
--}//ecapseman
++      } //ecapseman
++} //ecapseman
  
  #endif // BUTTONCONTAINERPANEL_H
index c9fb31ec465e6bced67a25cb62e5a6681b600ffc,c9fb31ec465e6bced67a25cb62e5a6681b600ffc..b25330b525a613e9d8d091b65415895366e3e411
@@@ -1,27 -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 buttonGroup.cxx
@@@ -37,71 -37,71 +37,66 @@@ namespace creaButtonContaine
        namespace view
        {
                // ----------------------------------------------------------------------------------
--              ButtonGroup::ButtonGroup( wxStaticText* groupName, ButtonContainer cartoButtons )
++              ButtonGroup::ButtonGroup(wxStaticText* groupName,
++                              ButtonContainer cartoButtons)
                {
--                      std::cout<< "MLER | ButtonGroup::ButtonGroup()" << std::endl;
                        this->m_GroupName = groupName;
                        this->m_Buttons = cartoButtons;
                }
--              
++
                // ----------------------------------------------------------------------------------
--              ButtonGroup::~ButtonGroup( )
++              ButtonGroup::~ButtonGroup()
                {
                }
--              
++
                // ----------------------------------------------------------------------------------
--              ButtonGroup::ButtonContainer
--              ButtonGroup::GetButtonContainer( )
++              ButtonGroup::ButtonContainer ButtonGroup::GetButtonContainer()
                {
--                      std::cout<< "MLER | ButtonGroup::GetButtonContainer( )" << std::endl;
--                      return ( this->m_Buttons );
++                      return (this->m_Buttons);
                }
--              
++
                // ----------------------------------------------------------------------------------
                wxStaticText*
--              ButtonGroup::GetGroupName( )
++              ButtonGroup::GetGroupName()
                {
--                      return ( this->m_GroupName );
++                      return (this->m_GroupName);
                }
--              
++
                // ----------------------------------------------------------------------------------
--              ButtonGroup::IdButtonContainer
--              ButtonGroup::GetButtonIdContainer( )
++              ButtonGroup::IdButtonContainer ButtonGroup::GetButtonIdContainer()
                {
--                      std::cout<< "MLER | ButtonGroup::GetButtonIdContainer( )" << std::endl;
                        IdButtonContainer idContainer;
                        try
                        {
--                              for( ButtonContainer::iterator it = this->m_Buttons.begin( ); it
--                                  != this->m_Buttons.end( ); ++it )
++                              for (ButtonContainer::iterator it = this->m_Buttons.begin();
++                                              it != this->m_Buttons.end(); ++it)
                                {
--                                      idContainer.push_back( ( *it ).first );
--                              }//rof
--                      }//yrt
--                      catch ( std::exception& e )
++                                      idContainer.push_back((*it).first);
++                              } //rof
++                      } //yrt
++                      catch (std::exception& e)
                        {
                                std::cerr << "ButtonGroup::GetButtonIdContainer( )" << "exception: "
--                                  << e.what( ) << std::endl;
--                      }//hctac
--                      return ( idContainer );
++                                              << e.what() << std::endl;
++                      } //hctac
++                      return (idContainer);
                }
--              
++
                // ----------------------------------------------------------------------------------
                Button*
--              ButtonGroup::GetButton( long id )
++              ButtonGroup::GetButton(long id)
                {
--                      std::cout<< "MLER | ButtonGroup::GetButton( long id )" << std::endl;
                        try
                        {
                                //return ( this->m_Buttons[ id ] ); // JPR
--                      }//yrt
--                      catch ( std::exception& e )
++                      } //yrt
++                      catch (std::exception& e)
                        {
                                std::cerr << "ButtonGroup::GetButton( long id )" << "exception: "
--                                  << e.what( ) << std::endl;
--                      }//hctac
--                      return ( this->m_Buttons[ id ] );// JPR
++                                              << e.what() << std::endl;
++                      } //hctac
++                      return (this->m_Buttons[id]); // JPR
                }
        // ----------------------------------------------------------------------------------
        }//ecapseman
--}//ecapseman
++} //ecapseman
index 4454d0c8c2ac36b3a2550a55e9bdacd33d8e3a25,4454d0c8c2ac36b3a2550a55e9bdacd33d8e3a25..952cb654ccf48a032ba286f382f36355ad7819f7
@@@ -1,27 -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 buttonManager.cxx
@@@ -37,121 -37,121 +37,74 @@@ namespace creaButtonContaine
        namespace view
        {
                // ----------------------------------------------------------------------------------
--              ButtonManager::ButtonManager( ) :
--                      wxFlexGridSizer( 0, 1, 0, 0 )
++              ButtonManager::ButtonManager()
++                              : wxFlexGridSizer(0, 1, 0, 0)
                {
--                      std::cout<< "MLER | ButtonManager::ButtonManager( )" << std::endl;
                }
--              
++
  //EED 20/01/2012  Flag03              
                // ----------------------------------------------------------------------------------
--              ButtonManager::ButtonManager( ButtonGroup* buttonGroup ) :
--                      wxFlexGridSizer( 0, 1, 0, 0 )
++              ButtonManager::ButtonManager(ButtonGroup* buttonGroup)
++                              : wxFlexGridSizer(0, 1, 0, 0)
                {
                        try
                        {
--                              std::cout<< "MLER | ButtonManager::ButtonManager( ButtonGroup* buttonGroup )" << std::endl;
--                              this->SetGroupName( buttonGroup->GetGroupName( ) );
--                              this->SetButtonManager( buttonGroup->GetButtonContainer( ) );
--                      }//yrt
--                      catch ( const std::exception& e )
++                              this->SetGroupName(buttonGroup->GetGroupName());
++                              this->SetButtonManager(buttonGroup->GetButtonContainer());
++                      }               //yrt
++                      catch (const std::exception& e)
                        {
--                              std::cerr << "Button::Execute( ) exception: " << e.what( ) << std::endl;
--                      }//hctac
++                              std::cerr << "Button::Execute( ) exception: " << e.what() << std::endl;
++                      }               //hctac
                }
++
                // ----------------------------------------------------------------------------------
--              //MLER
--              /*ButtonManager::ButtonManager (ListGroup* buttonGroup):
--                              wxFlexGridSizer( 0, 1, 0, 0 )
--              {
--                      try
--                      {
--                              std::cout << " MLER buttonManager.cxx / ButtonManager(ListGroup* buttonGroup) " << std::endl;
--                              this->SetGroupName( buttonGroup->GetGroupName( ) );
--                              this->SetListManager(buttonGroup->GetButtonContainer( ) );
--                      }//yrt
--                      catch ( const std::exception& e )
--                      {
--                              std::cerr << "Button::Execute( ) exception: " << e.what( ) << std::endl;
--                      }//hctac
--              }*/
--              // ----------------------------------------------------------------------------------
--              ButtonManager::~ButtonManager( )
++              ButtonManager::~ButtonManager()
                {
                }
--              
++
                // ----------------------------------------------------------------------------------
--              void ButtonManager::SetGroupName( wxStaticText* groupName )
++              void ButtonManager::SetGroupName(wxStaticText* groupName)
                {
--                      std::cout<< "MLER | ButtonManager::SetGroupName( wxStaticText* groupName )" << std::endl;
                        this->m_GroupName = groupName;
--                      this->Add( this->m_GroupName, -1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 );
++                      this->Add(this->m_GroupName, -1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5);
                }
--              
++
                // ----------------------------------------------------------------------------------
--              void ButtonManager::SetButtonManager( ButtonContainer buttonContainer )
++              void ButtonManager::SetButtonManager(ButtonContainer buttonContainer)
                {
--                      std::cout<< "MLER | ButtonManager::SetButtonManager( ButtonContainer buttonContainer )" << std::endl;
                        try
                        {
--                              if ( this->m_GroupName != NULL )
++                              if (this->m_GroupName != NULL)
                                {
--                                      this->m_GridSizer = new wxGridSizer( 0, 3, 0, 0 );
--                                      for( ButtonContainer::iterator it = buttonContainer.begin( ); it!= buttonContainer.end( ); ++it )
++                                      this->m_GridSizer = new wxGridSizer(0, 3, 0, 0);
++                                      for (ButtonContainer::iterator it = buttonContainer.begin();
++                                                      it != buttonContainer.end(); ++it)
                                        {
--                                              this->m_GridSizer->Add( ( *it ).second, -1,  wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 );
++                                              this->m_GridSizer->Add((*it).second, -1,
++                                                              wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5);
                                        }
--                                      this->Add( m_GridSizer, -1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 );
--                              }//fi
--                      }//yrt
--                      catch ( const std::exception& e )
++                                      this->Add(m_GridSizer, -1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5);
++                              }               //fi
++                      }               //yrt
++                      catch (const std::exception& e)
                        {
                                std::cerr
--                                  << "ButtonManager::SetButtonManager( ButtonContainer buttonContainer )"
--                                  << "exception: " << e.what( ) << std::endl;
--                      }//hctac
++                                              << "ButtonManager::SetButtonManager( ButtonContainer buttonContainer )"
++                                              << "exception: " << e.what() << std::endl;
++                      }               //hctac
                }
                // ----------------------------------------------------------------------------------
  
--              /*void ButtonManager::SetListManager(ListContainer buttonContainer )
--              {
--                      try
--                      {
--                              if ( this->m_GroupName != NULL )
--                              {
--                                      this->m_GridSizer = new wxGridSizer( 0, 3, 0, 0 );
--                                      for( ListContainer::iterator it = buttonContainer.begin( ); it!= buttonContainer.end( ); ++it )
--                                      {
--                                              this->m_GridSizer->Add( ( *it ).second, -1,  wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 );
--                                      }
--                                      this->Add( m_GridSizer, -1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 );
--                              }//fi
--                      }//yrt
--                      catch ( const std::exception& e )
--                      {
--                              std::cerr
--                              << "ButtonManager::SetButtonManager( ButtonContainer buttonContainer )"
--                              << "exception: " << e.what( ) << std::endl;
--                      }//hctac
--              }*/
--              // ----------------------------------------------------------------------------------
--
--
--
--
--              void
--              ButtonManager::ShowButtonManager( )
++              void ButtonManager::ShowButtonManager()
                {
--                      std::cout<< "MLER | ButtonManager::ShowButtonManager( )" << std::endl;
--                      this->Show( this->m_GridSizer, true, false );
++                      this->Show(this->m_GridSizer, true, false);
                }
                // ----------------------------------------------------------------------------------
--              void
--              ButtonManager::HideButtonManager( )
++              void ButtonManager::HideButtonManager()
                {
--                      std::cout<< "MLER | ButtonManager::HideButtonManager( )" << std::endl;
--                      this->Show( this->m_GridSizer, false, false );
++                      this->Show(this->m_GridSizer, false, false);
                }
        // ----------------------------------------------------------------------------------
        }//ecapseman
--}//ecapseman
++}             //ecapseman
index 7edb9bc655716d9e13513494d2d4910f5e3403ac,7edb9bc655716d9e13513494d2d4910f5e3403ac..57c105f1f797c27732956704d3a1e3e4b883bfb3
@@@ -1,27 -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 buttonManager.h
@@@ -43,8 -43,8 +43,6 @@@
  
  #include "button.h"
  #include "buttonGroup.h"
--#include "listWx.h"
--#include "listGroup.h"
  
  /*!   @namespace <creaButtonContainer>
   *    @brief Contains the creaButtonContainer library included in creaMaracasVisu.
@@@ -62,7 -62,7 +60,7 @@@ namespace creaButtonContaine
                 *  @details This class describes a wxFlexGridSizer with the button manager.
                 *  @see <a href="http://docs.wxwidgets.org/stable/wx_wxflexGridSizer.html">wxFlexGridSizer</a>
                 */
--              class ButtonManager : public wxFlexGridSizer
++              class ButtonManager: public wxFlexGridSizer
                {
                        public:
                                //typedef definition.
                                /*!     @typedef std::map< long, Button* > ButtonContainer;
                                 *      @brief Defines the ButtonContainer type.
                                 */
--                              typedef std::map< long, Button* > ButtonContainer;
++                              typedef std::map<long, Button*> ButtonContainer;
                                // ----------------------------------------------------------------------------------
--                              //MLER
--                              //typedef creaButtonContainer::view::ListGroup ListGroup;
--                              //typedef std::map<long, ListWx* > ListContainer;
  
                                //end of typedef definition.
                        public:
                                 * @brief This is the default constructor.
                                 * @exception std::bad_alloc
                                 */
--                              ButtonManager( );
++                              ButtonManager();
                                // ----------------------------------------------------------------------------------
                                /*! @fn ButtonManager( ButtonGroup* buttonGroup );
                                 * @brief This is the parameterized constructor
                                 * @param buttonGroup The group of buttons.
                                 */
--                              ButtonManager( ButtonGroup* buttonGroup );
--                              // ----------------------------------------------------------------------------------
--                              //MLER
--                              //ButtonManager (ListGroup* buttonGroup);
++                              ButtonManager(ButtonGroup* buttonGroup);
++
                                // ----------------------------------------------------------------------------------
  
                                /*! @fn ~ButtonManager( );
                                 * @brief This is the destructor.
                                 */
                                virtual
--                              ~ButtonManager( );
++                              ~ButtonManager();
                                // ----------------------------------------------------------------------------------
                                /*! @fn SetGroupName( wxStaticText* groupName );
                                 * @details Sets the groupName.
                                 * @param groupName
                                 */
                                void
--                              SetGroupName( wxStaticText* groupName );
++                              SetGroupName(wxStaticText* groupName);
                                // ----------------------------------------------------------------------------------
                                /*! @fn ShowButtonManager( );
                                 * @brief This method shows the ButtonManager
                                 */
  
                                void
--                              ShowButtonManager( );
++                              ShowButtonManager();
                                // ----------------------------------------------------------------------------------
                                /*! @fn HideButtonManager( );
                                 * @brief This method hides the ButtonManager.
                                 * @exception std::bad_alloc
                                 */
                                void
--                              HideButtonManager( );
++                              HideButtonManager();
                                // ----------------------------------------------------------------------------------
                        private:
                                // ----------------------------------------------------------------------------------
                                 * @param buttonContainer
                                 */
                                void
--                              SetButtonManager( ButtonContainer buttonContainer );
++                              SetButtonManager(ButtonContainer buttonContainer);
                                // ----------------------------------------------------------------------------------
--                              //MLER
--                              /*void
--                              SetListManager( ListContainer buttonContainer );*/
--                              // ----------------------------------------------------------------------------------
--
  
                        private:
                                wxStaticText* m_GroupName; //!<The name of the group.
                                wxGridSizer* m_GridSizer; //!<The sizer that contains the buttons.
                };
--      }//ecapseman
--}//ecapseman
++      } //ecapseman
++} //ecapseman
  
  #endif // CARTOBUTTONCONTAINER_H
index eac787a8939a090c663b23bd275036dd9078c580,eac787a8939a090c663b23bd275036dd9078c580..cd4a37add199f264b93b4c0ee72757fa86db6a43
@@@ -1,27 -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 groupManager.cxx
@@@ -37,92 -37,92 +37,75 @@@ namespace creaButtonContaine
        namespace view
        {
                // ----------------------------------------------------------------------------------
--              GroupManager::GroupManager( wxWindow* parent, ButtonGroup* buttonGroup ) :
--                      wxFlexGridSizer( 1, 0, 0, 0 )
++              GroupManager::GroupManager(wxWindow* parent, ButtonGroup* buttonGroup)
++                              : wxFlexGridSizer(1, 0, 0, 0)
                {
  //EED 20/01/2012  flag 02                     
--                      std::cout<< "MLER | GroupManager::GroupManager( )" << std::endl;
--                      this->m_IDExpButton = wxNewId( );
--                      this->m_ExpansionButton = new ExpansionButton( parent, this->m_IDExpButton, _("-"), wxDefaultPosition, wxSize( 20, 20 ), 0, wxDefaultValidator, _T("EXPBUTTON") );
--                      this->Add( m_ExpansionButton, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 );
--                      this->m_ButtonManager = new ButtonManager( buttonGroup );
--                      this->Add( this->m_ButtonManager, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 );
++                      this->m_IDExpButton = wxNewId();
++                      this->m_ExpansionButton = new ExpansionButton(parent, this->m_IDExpButton,
++                                      _("-"), wxDefaultPosition, wxSize(20, 20), 0, wxDefaultValidator,
++                                      _T("EXPBUTTON"));
++                      this->Add(m_ExpansionButton, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5);
++                      this->m_ButtonManager = new ButtonManager(buttonGroup);
++                      this->Add(this->m_ButtonManager, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP,
++                                      5);
                }
--              
--              /*GroupManager::GroupManager(wxWindow* parent, ListGroup* buttonGroup ):
--                              wxFlexGridSizer( 1, 0, 0, 0 )
--              {
--                      std::cout << " MLER groupManager.cxx / GroupManager(ListGroup* buttonGroup) " << std::endl;
--                      this->m_IDExpButton = wxNewId( );
--                      this->m_ExpansionButton = new ExpansionButton( parent, this->m_IDExpButton, _("-"), wxDefaultPosition, wxSize( 20, 20 ), 0, wxDefaultValidator, _T("EXPBUTTON") );
--                      this->Add( m_ExpansionButton, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 );
--                      this->m_ButtonManager = new ButtonManager( buttonGroup );
--                      this->Add( this->m_ButtonManager, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 );
--              }//MLER*/
  
                // ----------------------------------------------------------------------------------
--              GroupManager::~GroupManager( )
++              GroupManager::~GroupManager()
                {
                }
--              
++
                // ----------------------------------------------------------------------------------
--              long
--              GroupManager::GetButtonID( )
++              long GroupManager::GetButtonID()
                {
--                      std::cout<< "MLER | GroupManager::GetButtonID( )" << std::endl;
--                      return ( this->m_IDExpButton );
++                      return (this->m_IDExpButton);
                }
--              
++
                // ----------------------------------------------------------------------------------
                GroupManager::ExpansionButton*
--              GroupManager::GetButton( )
++              GroupManager::GetButton()
                {
--                      std::cout<< "MLER | GroupManager::GetButton( )" << std::endl;
--                      return ( this->m_ExpansionButton );
++                      return (this->m_ExpansionButton);
                }
--              
++
                // ----------------------------------------------------------------------------------
                ButtonManager*
--              GroupManager::GetButtonManager( )
++              GroupManager::GetButtonManager()
                {
--                      return ( this->m_ButtonManager );
++                      return (this->m_ButtonManager);
                }
--              
++
                // ----------------------------------------------------------------------------------
--              void
--              GroupManager::SetButtonID( long id )
++              void GroupManager::SetButtonID(long id)
                {
                        this->m_IDExpButton = id;
                }
--              
++
                // ----------------------------------------------------------------------------------
--              void
--              GroupManager::SetButton( ExpansionButton* button )
++              void GroupManager::SetButton(ExpansionButton* button)
                {
                        this->m_ExpansionButton = button;
                }
--              
++
                // ----------------------------------------------------------------------------------
--              void
--              GroupManager::SetButtonManager( ButtonManager* container )
++              void GroupManager::SetButtonManager(ButtonManager* container)
                {
                        this->m_ButtonManager = container;
                }
--              
++
                // ----------------------------------------------------------------------------------
--              void
--              GroupManager::HideSubPanel( bool hide )
++              void GroupManager::HideSubPanel(bool hide)
                {
--                      std::cout<< "MLER | GroupManager::HideSubPanel( bool hide )" << std::endl;
--                      if ( hide == true )
++                      if (hide == true)
                        {
--                              this->m_ButtonManager->HideButtonManager( );
--                      }//fi
++                              this->m_ButtonManager->HideButtonManager();
++                      } //fi
                        else
                        {
--                              this->m_ButtonManager->ShowButtonManager( );
--                      }//esle
++                              this->m_ButtonManager->ShowButtonManager();
++                      } //esle
                }
        // ----------------------------------------------------------------------------------
        }//ecapseman
--}//ecapseman
++} //ecapseman
index ab69ab4cbf29888a617d143672941f41f8fa2925,ab69ab4cbf29888a617d143672941f41f8fa2925..7c9539dd4c4ed5c4df53101b319cd3e78acc99bf
@@@ -1,27 -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 groupManager.h
@@@ -43,7 -43,7 +43,6 @@@
  
  #include "buttonManager.h"
  #include "buttonGroup.h"
--#include "listGroup.h"
  
  /*!   @namespace <creaButtonContainer>
   *    @brief Contains the creaButtonContainer library included in creaMaracasVisu.
@@@ -61,7 -61,7 +60,7 @@@ namespace creaButtonContaine
                 *  @details This class describes a wxFlexGridSizer with the group manager.
                 *  @see <a href="http://docs.wxwidgets.org/stable/wx_wxflexGridSizer.html">wxFlexGridSizer</a>
                 */
--              class GroupManager : public wxFlexGridSizer
++              class GroupManager: public wxFlexGridSizer
                {
                        public:
                                //typedef definition
@@@ -76,8 -76,8 +75,6 @@@
                                 */
                                typedef wxButton ExpansionButton;
                                // ----------------------------------------------------------------------------------
--                              //MLER
--                              //typedef creaButtonContainer::view::ListGroup ListGroup;
  
                                //end of typedef definition.
                        public:
                                 *      @param parent The wxWindow* parent
                                 *      @param buttonGroup The pointer to the ButtonGroup.
                                 */
--                              GroupManager( wxWindow* parent, ButtonGroup* buttonGroup );
++                              GroupManager(wxWindow* parent, ButtonGroup* buttonGroup);
                                // ----------------------------------------------------------------------------------
--
--                              //MLER
--                              //GroupManager( wxWindow* parent, ListGroup* listGroup );
                                /*! @fn ~GroupManager( );
                                 *  @brief This is the destructor.
--                              */
++                               */
                                virtual
--                              ~GroupManager( );
++                              ~GroupManager();
                                // ----------------------------------------------------------------------------------
                                /*! @fn GetButtonID( );
                                 *  @brief This method returns the Button ID.
                                 *  @return
                                 */
                                long
--                              GetButtonID( );
++                              GetButtonID();
                                // ----------------------------------------------------------------------------------
                                /*! @fn GetButton( );
                                 *      @brief This method returns the expansion button.
                                 * @return
                                 */
                                ExpansionButton*
--                              GetButton( );
++                              GetButton();
                                // ----------------------------------------------------------------------------------
                                /*! @fn GetButtonManager( );
                                 *      @brief This method returns the manager of the buttons.
                                 *      @return
                                 */
                                ButtonManager*
--                              GetButtonManager( );
++                              GetButtonManager();
                                // ----------------------------------------------------------------------------------
                                /*! @fn SetButtonID( long id );
                                 *      @brief This method sets the ID of the expansion button.
                                 * @param id
                                 */
                                void
--                              SetButtonID( long id );
++                              SetButtonID(long id);
                                // ----------------------------------------------------------------------------------
                                /*! @fn SetButton( ExpansionButton* button );
                                 *      @brief This method sets the expansion button.
                                 * @param button
                                 */
                                void
--                              SetButton( ExpansionButton* button );
++                              SetButton(ExpansionButton* button);
                                // ----------------------------------------------------------------------------------
                                /*! @fn SetButtonManager( ButtonManager* manager );
                                 *      @brief This method Sets the ButtonManager
                                 * @param manager A pointer with the manager.
                                 */
                                void
--                              SetButtonManager( ButtonManager* manager );
++                              SetButtonManager(ButtonManager* manager);
                                // ----------------------------------------------------------------------------------
                                /*! @fn HideSubPanel( bool hide );
                                 *      @brief This method hides the subPanel (Hides the buttons).
                                 * @param hide True if you need to hide the buttons.
                                 */
                                void
--                              HideSubPanel( bool hide );
++                              HideSubPanel(bool hide);
  
                        private:
                                long m_IDExpButton; //!<ID of "+""-" expansion button.
                                ExpansionButton* m_ExpansionButton; //!<The expansion button.
                                ButtonManager* m_ButtonManager; //!<The button manager.
  
--
--
                };
--      }//ecapseman
--}//ecapseman
++      } //ecapseman
++} //ecapseman
  
  #endif // GROUPMANAGER_H
diff --cc lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/listGroup.cxx
index 04686b098403493fce4faf03d6edf47b7f954744,04686b098403493fce4faf03d6edf47b7f954744..0000000000000000000000000000000000000000
deleted file mode 100644,100644
+++ /dev/null
@@@ -1,98 -1,98 +1,0 @@@
--/*# ---------------------------------------------------------------------
--#
--# 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.
--# ------------------------------------------------------------------------ */
--
--/*#include "listGroup.h"
--
--namespace creaButtonContainer
--{
--      namespace view
--      {
--              // ----------------------------------------------------------------------------------
--              ListGroup::ListGroup( wxStaticText* groupName, ButtonContainer cartoButtons )
--              {
--                      this->m_GroupName = groupName;
--                      this->m_Buttons = cartoButtons;
--              }
--
--              // ----------------------------------------------------------------------------------
--              ListGroup::~ListGroup( )
--              {
--              }
--
--              // ----------------------------------------------------------------------------------
--              ListGroup::ButtonContainer
--              ListGroup::GetButtonContainer( )
--              {
--                      return ( this->m_Buttons );
--              }
--
--              // ----------------------------------------------------------------------------------
--              wxStaticText*
--              ListGroup::GetGroupName( )
--              {
--                      return ( this->m_GroupName );
--              }
--
--              // ----------------------------------------------------------------------------------
--              ListGroup::IdButtonContainer
--              ListGroup::GetButtonIdContainer( )
--              {
--                      IdButtonContainer idContainer;
--                      try
--                      {
--                              for( ButtonContainer::iterator it = this->m_Buttons.begin( ); it
--                                  != this->m_Buttons.end( ); ++it )
--                              {
--                                      idContainer.push_back( ( *it ).first );
--                              }//rof
--                      }//yrt
--                      catch ( std::exception& e )
--                      {
--                              std::cerr << "ButtonGroup::GetButtonIdContainer( )" << "exception: "
--                                  << e.what( ) << std::endl;
--                      }//hctac
--                      return ( idContainer );
--              }
--
--              // ----------------------------------------------------------------------------------
--              ListGroup::Button*
--              ListGroup::GetButton( long id )
--              {
--                      try
--                      {
--                              //return ( this->m_Buttons[ id ] ); // JPR
--                      }//yrt
--                      catch ( std::exception& e )
--                      {
--                              std::cerr << "ButtonGroup::GetButton( long id )" << "exception: "
--                                  << e.what( ) << std::endl;
--                      }//hctac
--                      return ( this->m_Buttons[ id ] );// JPR
--              }
--      // ----------------------------------------------------------------------------------
--      }//ecapseman
--}//ecapseman*/
--
--
diff --cc lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/listGroup.h
index 494fe33800dfb48c827e90f1bc7e9aca026c5551,494fe33800dfb48c827e90f1bc7e9aca026c5551..0000000000000000000000000000000000000000
deleted file mode 100644,100644
+++ /dev/null
@@@ -1,84 -1,84 +1,0 @@@
--/*# ---------------------------------------------------------------------
--#
--# 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.
--# ------------------------------------------------------------------------ */
--
--#ifndef LISTGROUP_H
--#define LISTGROUP_H
--
--/*//Library Definition
--#include <wx/stattext.h>
--
--#include <map>
--#include <list>
--#include <exception>
--
--#include "listWx.h"
--
--namespace creaButtonContainer
--{
--
--      namespace view
--      {
--
--              class ListGroup
--              {
--                      public:
--
--                              typedef creaButtonContainer::view::ListWx Button;
--
--                              typedef std::map< long, Button* > ButtonContainer;
--
--                              typedef std::list< long > IdButtonContainer;
--                      public:
--
--                              ListGroup( wxStaticText* groupName, ButtonContainer buttons );
--                              // ----------------------------------------------------------------------------------
--
--                              virtual
--                              ~ListGroup( );
--                              // ----------------------------------------------------------------------------------
--
--                              Button*
--                              GetButton( long id );
--                              // ----------------------------------------------------------------------------------
--
--                              ButtonContainer
--                              GetButtonContainer( );
--                              // ----------------------------------------------------------------------------------
--
--                              IdButtonContainer
--                              GetButtonIdContainer( );
--                              // ----------------------------------------------------------------------------------
--
--                              wxStaticText*
--                              GetGroupName( );
--                              // ----------------------------------------------------------------------------------
--                      private:
--                              wxStaticText* m_GroupName; //!<A pointer with the wxStaticText of name of the group.
--                              ButtonContainer m_Buttons; //!<A container with buttons.
--              };
--      }//ecapseman
--}//ecapseman*/
--
--#endif // LISTGROUP_H
index 5de552c2ff816d48b423f769209fda1f4c9b92f2,32d101deac3b937e106529a7aa81183689b8770d..4e6bb47b3df733850ab1478944d9a32d871dc583
@@@ -1,29 -1,29 +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.
++ # ------------------------------------------------------------------------ */
  
  #include "listWx.h"
  
@@@ -31,57 -31,194 +29,114 @@@ namespace creaButtonContaine
  {
        namespace view
        {
-               ListWx::ListWx( wxWindow* parent, wxWindowID id,ItemsMap iMap , TFunctor* functor ): wxListCtrl(parent,id)
 +              // ----------------------------------------------------------------------------------
 -              ListWx::ListWx( wxWindow* parent, wxWindowID id,ItemsMap iMap , TFunctor* functor ):
 -                              wxPanel(parent,id)
++              ListWx::ListWx(wxWindow* parent, wxWindowID id, ItemsVector iVector,
++                              TFunctor* functor)
++                              : wxPanel(parent, id)
                {
  
--                      std::cout<< "MLER | ListWx::ListWx()" << std::endl;
--                      this->m_itemsMap = iMap;
++                      this->m_Functor = functor;
  
--                      this->functor = functor;
-                       int i = 0;
-                       for (ItemsMap::iterator it=this->m_itemsMap.begin(); it!=this->m_itemsMap.end(); ++it)
-                       {
++                      wxBoxSizer* sizer = new wxBoxSizer(wxHORIZONTAL);
  
-                               std::string key = it->first;
-                               long index = this->InsertItem(i, wxString(key.c_str(), wxConvUTF8));
 -                      wxFlexGridSizer* sizer = new wxFlexGridSizer(1);
 -                      sizer->Add( new  wxStaticText(this,-1, _("Lista")));
 -                      sizer->AddGrowableCol(0);
+                       this->SetSizer(sizer);
  
-                               std::cout << "index" << index << std::endl;
-                               this->Connect( -1, wxEVT_COMMAND_LIST_ITEM_SELECTED,
-                                                wxListEventHandler(ListWx::ListEvent) );
-                               i++;
 -                      listBox = new wxListBox(this,-1);
 -                      m_functorEnabled = true;
 -
 -                      std::cout << "is ListBox"<< listBox->GetId()<< std::endl;
 -              //      this->Connect( -1,wxEVT_COMMAND_CHOICE_SELECTED,
 -                      //              (wxObjectEventFunction) (void (wxPanel::*)(wxEvent&))(&ListWx::ListEvent) );
 -                      //this->Connect(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED,
 -                              //      wxCommandEventHandler(ListWx::ListEvent));
++                      this->m_ListBox = new wxListBox(this, -1);
++                      this->m_FunctorEnabled = true;
+                       this->Connect(wxEVT_COMMAND_LISTBOX_SELECTED,
 -                                               wxCommandEventHandler(ListWx::ListEvent));
++                                      wxCommandEventHandler(ListWx::OnListEvent));
 -                      //FillList(0);
 -
 -
 -                      sizer->Add(listBox,1,wxGROW);
++                      if (!iVector.empty())
++                      {
++                              for (ItemsVector::iterator it = iVector.begin(); it != iVector.end();
++                                              ++it)
++                              {
++                                      std::string key = it->first;
++                                      this->m_ListBox->Append(wxString(key.c_str(), wxConvUTF8));
++                              }
 +                      }
-               }
  
 -
++                      sizer->Add(this->m_ListBox, 1, wxGROW);
+               }
                // ----------------------------------------------------------------------------------
-               ListWx::~ListWx( )
 -              ListWx::ListWx( wxWindow* parent, wxWindowID id, ItemsMap iMap,TFunctor* functor,
 -                              std::string c) : wxPanel(parent,id)
++              ListWx::ListWx(wxWindow* parent, wxWindowID id, TFunctor* functor)
++                              : wxPanel(parent, id)
                {
 -                      std::cout<< "MLER | ListWx::ListWx" << std::endl;
++                      this->m_Functor = functor;
 -                      this->m_itemsMap = iMap;
 -                      this->functor = functor;
++                      wxBoxSizer* sizer = new wxBoxSizer(wxHORIZONTAL);
 -                      wxFlexGridSizer* sizer = new wxFlexGridSizer(1);
 -
 -                      sizer->Add( new  wxStaticText(this,-1, _("Lista Configurable")));
 -                      sizer->AddGrowableCol(0);
+                       this->SetSizer(sizer);
 -                      listBox = new wxListBox(this,-1);
 -
 -                      std::cout << "is ListBox"<< listBox->GetId()<< std::endl;
 -
 -                      button = new wxButton(this, 1, _("Configurar"),
 -                                      wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, wxString(c.c_str(), wxConvUTF8));
++                      this->m_ListBox = new wxListBox(this, -1);
++                      this->m_FunctorEnabled = true;
 -                      sizer->Add(listBox,1,wxGROW);
 -                      sizer->Add(button,2,wxGROW);
 -
 -              //      m_listConfigPanel = new ListConfigPanel(this,1,_("Configuracion"),m_itemsMap);
 -                      m_listConfig = new ListConfig(m_itemsMap);
 -
 -                      //wxEVT_COMMAND_LISTBOX_SELECTED
+                       this->Connect(wxEVT_COMMAND_LISTBOX_SELECTED,
 -                                              wxCommandEventHandler(ListWx::ListEvent));
++                                      wxCommandEventHandler(ListWx::OnListEvent));
 -                      //FillList();
++                      sizer->Add(this->m_ListBox, 1, wxGROW);
                }
 -
+               // ----------------------------------------------------------------------------------
  
-               void
-               ListWx::ListEvent( wxListEvent& event )
 -              ListWx::~ListWx( )
++              ListWx::~ListWx()
                {
-                       try
-                       {
-                               std::cout<< "MLER | ListWx::ListEvent( wxListEvent& event )" << std::endl;
-                               wxString itemNom = event.GetItem().GetText();
 -              }
 -              // ----------------------------------------------------------------------------------
  
-                               std::string itemNomC = std::string(itemNom.mb_str());
 -              void
 -              ListWx::FillList()
 -              {
 -                      this->listBox->Clear();
 -                      std::cout<<"clear"<<std::endl;
 -                      for (ItemsMap::iterator it=this->m_itemsMap.begin(); it!=this->m_itemsMap.end(); ++it)
 -                      {
 -                              std::string key = it->first;
 -                              int v = listBox->FindString(wxString(key.c_str(), wxConvUTF8));
 -                              if(v == -1)
 -                                      listBox->Append( wxString(key.c_str(), wxConvUTF8));
 -                      }
 -                      listBox->Update();
 -                      this->Update();
+               }
 +
-                               this->functor->Call(itemNomC);
-                               std::cout<<"mmmmmmmmmmmmmmmmmmmmmmm"<<std::endl;
+               // ----------------------------------------------------------------------------------
  
-                       }//yrt
-                       catch ( const std::exception& e )
 -              void
 -              ListWx::ListEvent( wxCommandEvent& event )
++              void ListWx::OnListEvent(wxCommandEvent& event)
+               {
 -                      if(!this->IsFunctorEnabled())
++                      if (!this->IsFunctorEnabled())
+                               return;
 -                      else{
 -                      try
++                      else
                        {
-                               std::cerr
-                                   << "ButtonContainerController::ButtonEvent( wxCommandEvent& event ) exception: "
-                                   << e.what( ) << std::endl;
-                       }//hctac
 -                              std::cout<< "MLER | ListWx::ListEvent( wxListEvent& event )" << std::endl;
 -
 -                              int iSelection;
 -                              iSelection = listBox->GetSelection();
++                              try
++                              {
++                                      std::cout << "MLER | ListWx::OnListEvent( wxListEvent& event )"
++                                                      << std::endl;
 -                              wxString itemNom = listBox->GetString(iSelection);
 -                              std::string itemNomC = std::string(itemNom.mb_str());
++                                      int iSelection;
++                                      iSelection = this->m_ListBox->GetSelection();
 -                              this->functor->Call(itemNomC);
 -                              std::cout<<"mmmmmmmmmmmmmmmmmmmmmmm"<<std::endl;
++                                      wxString itemNom = this->m_ListBox->GetString(iSelection);
++                                      std::string itemNomC = std::string(itemNom.mb_str());
++                                      this->m_Functor->Call(itemNomC);
 -                      }//yrt
 -                      catch ( const std::exception& e )
 -                      {
 -                              std::cerr
 -                                  << "ButtonContainerController::ButtonEvent( wxCommandEvent& event ) exception: "
 -                                  << e.what( ) << std::endl;
 -                      }//hctac
++                              } //yrt
++                              catch (const std::exception& e)
++                              {
++                                      std::cerr
++                                                      << "ButtonContainerController::ButtonEvent( wxCommandEvent& event ) exception: "
++                                                      << e.what() << std::endl;
++                              } //hctac
+                       }
+               }
+               // ----------------------------------------------------------------------------------
 -
 -
 -              ListWx::ItemsMap
 -              ListWx::GetItemsMap()
 -              {
 -                      return m_itemsMap;
 -              }
 -
+               void ListWx::SetFunctorEnabled(const bool& enabled)
+               {
 -                      m_functorEnabled = enabled;
++                      this->m_FunctorEnabled = enabled;
+               }
 -
++              // ----------------------------------------------------------------------------------
+               bool ListWx::IsFunctorEnabled() const
+               {
 -                      return m_functorEnabled;
 -              }
 -
 -              ListWx::TFunctor*
 -              ListWx::GetWxListFunctor()
 -              {
 -                      return this->functor;
 -              }
 -
 -              void ListWx::AddItemToMap(std::string key, wxPanel* panel)
 -              {
 -                      this->m_itemsMap[key] = panel;
++                      return this->m_FunctorEnabled;
                }
-       // ----------------------------------------------------------------------------------
-       }//ecapseman
- }//ecapseman
  
 -              ListWx::GetListBox() const
 -              {
 -                      return this->listBox;
 -              }
 -
 -
 -              void ListWx::DeleteItemFromMap(std::string key)
 -              {
 -                      std::cout<< "MLER | ListConfig::DelFinalItems(std::string name)" << std::endl;
 -                      ItemsMap::iterator it1;
 -
 -                      //if(m_finalItems.empty())
 -                      std::cout<<"name item -----test A"<< key <<std::endl;
 -                      if(!this->m_itemsMap.empty())
 -                      {
 -                              for(ItemsMap::iterator it= this->m_itemsMap.begin(); it!=this->m_itemsMap.end();++it)
++              // ----------------------------------------------------------------------------------
+               wxListBox*
 -                                      if((it->first).compare(key) == 0  )
 -                                      {
 -                                              std::cout << "Item a borrar: "<< key << std::endl;
 -                                              it1 = m_itemsMap.find(key);
 -                                              m_itemsMap.erase(it1);
 -
 -                                      }
++                              ListWx::GetListBox() const
+                               {
 -                      }
 -                                      std::cout<< "si borre tengo --- test 2 "<< m_itemsMap.size() << std::endl;
 -              }
 -
 -
 -      }//ecapseman
 -}//ecapseman
++                                      return this->m_ListBox;
+                               }
++      } //ecapseman
++} //ecapseman
  
index 7f3054929d6a33d90cfa422ee88330a56844c9b4,346552982ff271e6ceea3dc6ef2abb329f06a990..9eb623543dabc8fdfcc7b014a0c308f309f3de5f
  /*# ---------------------------------------------------------------------
- #
- # 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 listWx.h
++ * @brief This contains the ListWx class.
++ * @author Monica ESPINOSA (espinosa[AT]creatis.insa-lyon.fr)
++ * @date  2015-01-02
++ */
 +
  #ifndef LISTWX_H
  #define LISTWX_H
  
  //#include <wx/bmpbuttn.h>
  #include <wx/panel.h>
--#include <wx/image.h>
  #include <wx/string.h>
--#include <wx/bitmap.h>
- #include <wx/listctrl.h>
 -//#include <wx/listctrl.h>
 -#include <wx/control.h>
 -#include <wx/choice.h>
+ #include <wx/listbox.h>
  #include <wx/wx.h>
++#include <wx/event.h>
  
--#include <map>
  #include <string>
--#include "functor.h"
--#include <wx/event.h>
++#include <vector>
++#include <utility>
  
++#include "functor.h"
  #include "system.h"
 -#include "listConfig.h"
 -//#include "listConfigPanel.h"
 -
 -namespace creaButtonContainer {
 -
 -namespace view {
 -
 -class ListWx: public wxPanel {
 -public:
 -
 -      typedef creaButtonContainer::model::TFunctor TFunctor;
 -      typedef std::map<std::string, wxPanel*> ItemsMap;
 -      typedef creaButtonContainer::model::ListConfig ListConfig;
 -
 -public:
 -
 -      ListWx(wxWindow* parent, wxWindowID id, ItemsMap iMap, TFunctor* functor);
 -      ListWx(wxWindow* parent, wxWindowID id, ItemsMap iMap, TFunctor* functor,
 -                      std::string c);
 -      // ----------------------------------------------------------------------------------
 -
 -      virtual
 -      ~ListWx();
 -      // ----------------------------------------------------------------------------------
  
 -      long
 -      GetID();
 -
 -      void
 -      FillList();
 -
 -      void
 -      ListEvent(wxCommandEvent& event);
 -
 -      ItemsMap
 -      GetItemsMap();
 -
 -      TFunctor*
 -      GetWxListFunctor();
 -
 -      void SetFunctorEnabled(const bool& enabled);
 -
 -      void AddItemToMap(std::string key, wxPanel* panel);
 -
 -      void DeleteItemFromMap(std::string key);
 -
 -      bool IsFunctorEnabled() const;
 -
 -      wxListBox*
 -      GetListBox() const;
 -
 -      // ----------------------------------------------------------------------------------
 -private:
 -      ItemsMap m_itemsMap; //!
 -      TFunctor* functor;
 -      wxListBox* listBox;
 -      wxFlexGridSizer* sizer;
 -      wxButton* button;
 -      bool m_functorEnabled;
 -      ListConfig* m_listConfig;
 -};
 -} //ecapseman
++/*!   @namespace <creaButtonContainer>
++ *    @brief Contains the creaButtonContainer library included in creaMaracasVisu.
++ */
 +namespace creaButtonContainer
 +{
++      /*! @namespace <creaButtonContainer::view>
++       *      @brief Contains the implementation of the view in creaButtonContainer library.
++       *      @see <a href="http://en.wikipedia.org/wiki/Model-view-controller">MVC Software Architecture</a>
++       */
 +      namespace view
 +      {
-               class ListWx : public wxListCtrl
++              /*! @class ListWx listWx.h "listWx.h"
++               *      @brief This class contains the list in the panel.
++               *  @details This class contains the information of a list, it derives from wxPanel.
++               *  @see <a href="http://docs.wxwidgets.org/stable/wx_wxpanel.html">wxPanel</a>
++               */
++              class ListWx: public wxPanel
 +              {
 +                      public:
++                              //typedef definition.
++                              // ----------------------------------------------------------------------------------
++                              /*!     typedef creaButtonContainer::model::TFunctor TFunctor;
++                               *      @brief Defines the TFunctor type.
++                               */
 +                              typedef creaButtonContainer::model::TFunctor TFunctor;
-                               typedef std::map<std::string, wxPanel*> ItemsMap;
++                              // ----------------------------------------------------------------------------------
++                              /*!     @typedef std::pair<std::string, wxPanel*> ListAction;
++                               *      @brief Defines the ListAction type.
++                               *      First is the button name(item list), Second FunctionEventType
++                               */
++                              typedef std::pair<std::string, wxPanel*> ListAction;
++                              // ----------------------------------------------------------------------------------
++                              /*!     @typedef std::vector<ListAction> ItemsVector;
++                               *      @brief Defines the Items Vector type.
++                               */
++                              typedef std::vector<ListAction> ItemsVector;
++                              // ----------------------------------------------------------------------------------
++                              //end of typedef definition.
 +
 +                      public:
-                               ListWx( wxWindow* parent, wxWindowID id,ItemsMap iMap , TFunctor* functor );
 +                              // ----------------------------------------------------------------------------------
++                              /*! @fn ListWx( wxWindow* parent, wxWindowID id, ItemsVector iVector,
++                               TFunctor* functor );
++                               *      @brief This is the parameterized constructor.
++                               *      @param parent The wxWindow pointer to parent.
++                               *      @param id The wxID of the button.
++                               *      @param ItemsVector //The items Vector (name, wxPanel).
++                               *      @param TFunctor //The functor of items list.
++                               */
++                              ListWx(wxWindow* parent, wxWindowID id, ItemsVector iVector,
++                                              TFunctor* functor);
++                              // ----------------------------------------------------------------------------------
++                              /*! @fn ListWx( wxWindow* parent, wxWindowID id, TFunctor* functor );
++                               *      @brief This is the parameterized constructor.
++                               *      @param parent The wxWindow pointer to parent.
++                               *      @param id The wxID of the button.
++                               *      @param TFunctor //The functor of items list.
++                               */
++                              ListWx(wxWindow* parent, wxWindowID id, TFunctor* functor);
++                              // ----------------------------------------------------------------------------------
++                              /*! @fn virtual ~Button( );
++                               *      @brief This is the destructor.
++                               */
 +                              virtual
-                               ~ListWx( );
++                              ~ListWx();
 +                              // ----------------------------------------------------------------------------------
-                               long
-                               GetID( );
++                              /*! @fn void OnListEvent( wxCommandEvent& event );
++                               *  @brief This method calls the functor when
++                               *  an item of list is clicked.
++                               *      @param event
++                               */
 +                              void
-                               ListEvent( wxListEvent& event );
++                              OnListEvent(wxCommandEvent& event);
 +                              // ----------------------------------------------------------------------------------
++                              /*! @fn void SetFunctorEnabled( wxCommandEvent& event );
++                               *  @brief This method set the state of Functor (enable or disable)
++                               *      @param enabled
++                               */
++                              void
++                              SetFunctorEnabled(const bool& enabled);
++                              // ----------------------------------------------------------------------------------
++                              /*! @fn bool OnListEvent( wxCommandEvent& event );
++                               *  @brief This method ask the state of functor.
++                               *      @return
++                               */
++                              bool
++                              IsFunctorEnabled() const;
++                              // ----------------------------------------------------------------------------------
++                              /*! @fn wxListBox* GetListBox() const;
++                               *      @brief This method returns the wxlistBox.
++                               *      @exception std::bad_alloc
++                               *      @return wxListBox
++                               */
++                              wxListBox*
++                              GetListBox() const;
++                              // ----------------------------------------------------------------------------------
++
 +                      private:
-                               ItemsMap m_itemsMap; //! <The pair with the button information.
-                               TFunctor* functor;
++
++                              wxListBox* m_ListBox;                           //!< This is the Items List.
++                              TFunctor* m_Functor;                            //!< This is the functor.
++                              bool m_FunctorEnabled;                          //!< Disable or Enable Functor.
 +
 +              };
-       }//ecapseman
- }//ecapseman
++      } //ecapseman
+ } //ecapseman
  
  #endif // LISTWX_H
index 721e82f1b7f70dbf7a6c65889140d172b9771e74,66ba48e856ef1793cc52a7847dd5f49546d48cfa..130b81b7faea6aa56ce59df6b8ecb925fb2c4eda
@@@ -1,27 -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
  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 )
 -                      {
 -
 -                              //std::cout<< std::endl<<"MLER ButtonContainerSettings // GetPanelButton :: it "<< *it<<std::endl;
 -
 -                              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 )
 -              {
 -                      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 {
 -
 -                      for( ItemsMap::iterator it= this->m_itemsMap.begin(); it!=this->m_itemsMap.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<<std::endl;
-                               ButtonList list = this->m_ButtonGroupContainer[ ( *it ) ];
-                               for( ButtonList::iterator it1 = list.begin( ); it1 != list.end( ); ++it1 )
 -                              if( (*it).first.compare(buttonName) == 0 )
++                              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 )
 -                                      std::cout<<"debe retornar" << std::endl;
 -                                      return ( (*it).second );
 -                              }
 -                      }
 -
 -
 -              }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<<std::endl;
--                                      std::cout<<"MLER ButtonContainerSettings // GetButtonGroupSettings :: buttonName "<< ( *it1 )->first->first <<std::endl;
  
--                                      settings->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 )
 -                              else if( type == 1 || type == 2)
++                              if (type == 0)
++                                      this->AddButton(*it);
++                              else if (type == 1 || type == 2 || type == 3)
+                                       this->AddItems(*it);
 -                      }//rof
 -              }//yrt
 -              catch ( std::exception& e )
++
++                      }                                       //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 );
++                                              << "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 )
++              }                                       //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
++      }
++      // ----------------------------------------------------------------------------------
++      ButtonContainerSettings::ItemsVector ButtonContainerSettings::GetItemsVector()
++      {
++              return this->m_ItemsVector;
+       }
  
-               }//yrt
-               catch ( const std::exception& e )
 -      ButtonContainerSettings::ItemsMap
 -      ButtonContainerSettings::GetItemsMap()
++      // ----------------------------------------------------------------------------------
++      wxPanel*
++      ButtonContainerSettings::GetPanelList(const StringType &buttonName)
+       {
 -              std::cout<< "MLER | ButtonContainerSettings:: GetItemsMap()" << std::endl;
++              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);
 -              return m_itemsMap;
 -      }
++                      }
++              } catch (std::exception& e)
++              {
++                      std::cerr
++                                      << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) "
++                                      << "exception: " << e.what() << std::endl;
++              }                                       //hctac
++              return (NULL);
 +
++      }
++//MLER
  // ----------------------------------------------------------------------------------
  }//ecapseman
index 9f3e5245db7d7f17cdb1cfc1e433f710951ecfb9,ccd01c5ca943e9d41eb31f18551eca187c6dc119..4bd2ce508fac2f0ecdb2d55054f65936dd3ae6af
@@@ -1,27 -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.h
@@@ -35,7 -35,7 +35,7 @@@
  
  #include <wx/panel.h>
  #include <wx/bitmap.h>
- //EED-MLER #include <wx/listctrl.h>
 -#include <wx/listctrl.h>
++//#include <wx/listctrl.h>
  
  #include <list>
  #include <map>
@@@ -46,7 -46,7 +46,6 @@@
  #include "containerSettings.h"
  #include "functor.h"
  
--
  /*!   @namespace <creaPanelButtonContainer>
   *    @brief Contains the creaPanelButtonContainer library included in creaMaracasVisu.
   */
@@@ -82,80 -82,79 +81,87 @@@ namespace creaPanelButtonContaine
                        // ----------------------------------------------------------------------------------
                        /*!     @typedef std::pair< std::string, PanelButton > ActionButton;
                         *      @brief Defines the ActionButton type.
--                       *      First is the button description, Second FunctionEventType
++                       *      First is the button name, Second FunctionEventType
                         */
--                      typedef std::pair< std::string, PanelButton > ActionButton;
--                      
++                      typedef std::pair<std::string, PanelButton> ActionButton;
++
                        // ----------------------------------------------------------------------------------
                        /*!     @typedef std::pair< std::string, wxBitmap > ButtonInfo;
                         *      @brief Defines the ButtonInfo type.
                         *      First is the ButtonName, Second is the ImageIcon
                         */
--                      typedef std::pair< std::string, wxBitmap > ButtonInfo;
--                      
++                      typedef std::pair<std::string, wxBitmap> ButtonInfo;
++
                        // ----------------------------------------------------------------------------------
                        /*!     @typedef std::pair< ButtonInfo*, ActionButton* > ButtonPair;
                         *      @brief Defines the ButtonPair type.
                         */
--                      typedef std::pair< ButtonInfo*, ActionButton* > ButtonPair;
++                      typedef std::pair<ButtonInfo*, ActionButton*> ButtonPair;
                        // ----------------------------------------------------------------------------------
                        /*!     @typedef std::list< std::string > KeyMapList;
                         *      @brief Defines the KeyMapList type.
                         */
--                      typedef std::list< std::string > KeyMapList;
--              
++                      typedef std::list<std::string> KeyMapList;
++
                        // ----------------------------------------------------------------------------------
                        /*!     @typedef std::list< ButtonPair* > ButtonList;
                         *      @brief Defines the ButtonList type.
                         */
--                      typedef std::list< ButtonPair* > ButtonList;                    
--                      
++                      typedef std::list<ButtonPair*> ButtonList;
++
                        // ----------------------------------------------------------------------------------
                        /*!     @typedef std::map< std::string, ButtonList > ButtonGroupMap;
                         *      @brief Defines the ButtonGroupMap type.
                         */
--                      typedef std::map< std::string, ButtonList > ButtonGroupMap;
++                      typedef std::map<std::string, ButtonList> ButtonGroupMap;
                        // ----------------------------------------------------------------------------------
                        /*!     @typedef std::vector< BCPSettingsStruct* > BCStructVectorType;
                         *      @brief Defines the BCStructVectorType type.
                         */
--                      typedef std::vector< BCPSettingsStruct* > BCStructVectorType;
--                      //end typedef definition
++                      typedef std::vector<BCPSettingsStruct*> BCStructVectorType;
++                      //MLER
                        // ----------------------------------------------------------------------------------
--                      /*! @class ButtonContainerSettings buttonContainerSettings.h "buttonContainerSettings.h"
--                       *      @brief This class contains the settings of the button container.
++                      /*!     @typedef std::pair<std::string, wxPanel*> ListAction;
++                       *      @brief Defines the ListAction type.
++                       *      First is the button name(item list), Second FunctionEventType
                         */
-                       typedef std::map< std::string, wxPanel* > ItemsMap;
++                      typedef std::pair<std::string, wxPanel*> ListAction;
++                      // ----------------------------------------------------------------------------------
++                      /*!     @typedef std::vector<ListAction> ItemsVector;
++                       *      @brief Defines the Items Vector type.
++                       */
++                      typedef std::vector<ListAction> ItemsVector;
++                      //MLER
++                      //end typedef definition
++                      // ----------------------------------------------------------------------------------
  
 -                      typedef std::map< std::string, wxPanel* > ItemsMap;
 -
 -                      public:
 +              public:
                        // ----------------------------------------------------------------------------------
                        /*! @fn ButtonContainerSettings( );
                         *      @brief This is the default constructor.
                         */
--                      ButtonContainerSettings( );
++                      ButtonContainerSettings();
                        // ----------------------------------------------------------------------------------
                        /*! @fn virtual ~ButtonContainerSettings( );
                         *      @brief This is the destructor.
                         */
                        virtual
--                      ~ButtonContainerSettings( );
--                      
++                      ~ButtonContainerSettings();
++
                        // ----------------------------------------------------------------------------------
                        /*! @fn ButtonGroupMap GetButtonGroupContainer( );
                         *      @brief This method returns ButtonGroupMap with all buttons.
                         * @return
                         */
                        ButtonGroupMap
--                      GetButtonGroupContainer( );
++                      GetButtonGroupContainer();
                        // ----------------------------------------------------------------------------------
                        /*! @fn KeyMapList GetGroupNameList( );
                         *      @brief This method returns a KeyMapsList with the name of the groups.
                         * @return
                         */
                        KeyMapList
--                      GetGroupNameList( );
++                      GetGroupNameList();
                        // ----------------------------------------------------------------------------------
                        /*! @fn PanelButton GetPanelButton( const std::string &buttonName );
                         *      @brief This method returns the panel of a button.
                         *      @return
                         */
                        PanelButton
--                      GetPanelButton( const std::string &buttonName );
++                      GetPanelButton(const std::string &buttonName);
                        // ----------------------------------------------------------------------------------
                        /*! @fn ButtonGroupSettings* GetButtonGroupSettings( TFunctor* functor );
                         *      @brief this method return the settings the generic settings for creaButtonContainer.
                         * @return
                         */
                        ButtonGroupSettings*
--                      GetButtonGroupSettings( TFunctor* functor );
++                      GetButtonGroupSettings(TFunctor* functor);
                        // ----------------------------------------------------------------------------------
                        /*! @fn void SetButtonGroupContainer( ButtonGroupMap bGroupContainer );
                         *      @brief This method sets the button group container.
                         * @param bGroupContainer
                         */
-                       // ----------------------------------------------------------------------------------
-                       ButtonGroupSettings*
-                       GetListGroupSettings();
--
                        // ----------------------------------------------------------------------------------
 -
 -                      ButtonGroupSettings*
 -                      GetListGroupSettings();
 -
 -                      // ----------------------------------------------------------------------------------
--
--
--
                        void
--                      SetButtonGroupContainer( ButtonGroupMap bGroupContainer );
++                      SetButtonGroupContainer(ButtonGroupMap bGroupContainer);
                        // ----------------------------------------------------------------------------------
                        /*! @fn void SetGroupNameList( KeyMapList gNameList );
                         *      @brief this method sets the groupName list
                         * @param gNameList
                         */
                        void
--                      SetGroupNameList( KeyMapList gNameList );
--                      
++                      SetGroupNameList(KeyMapList gNameList);
                        // ----------------------------------------------------------------------------------
                        /*! @fn void AddButton( const std::string &groupName, const std::string &buttonName,
                         const std::string &iconpath, const std::string &buttonDescription,
                         * @exception std::bad_alloc
                         */
                        void
--                      AddButton( const std::string &groupName, const std::string &buttonName,
--                          const wxBitmap &icon, const std::string &buttonDescription,
--                          PanelButton panel );
--                      
++                      AddButton(const std::string &groupName, const std::string &buttonName,
++                                      const wxBitmap &icon, const std::string &buttonDescription,
++                                      PanelButton panel);
                        // ----------------------------------------------------------------------------------
                        /*! @fn void AddButton( BCPSettingsStruct* info );
                         * @brief This method adds a new button into a group of buttons.
                         * @exception std::bad_alloc
                         */
                        void
--                      AddButton( BCPSettingsStruct* info );
--                      
++                      AddButton(BCPSettingsStruct* info);
                        // ----------------------------------------------------------------------------------
--                      /*! @fn void AddButtons( BCStructVectorType infoList );
--                       * @brief This method adds new buttons into the container.
++                      /*! @fn void InitModel( BCStructVectorType infoList, int type );
++                       * @brief This method adds new buttons or items into the container (Depends type).
                         * @param infoList The BCStructVectorType
++                       * @param type If 1:Buttons 2:List 3:Configurable List
                         * @exception std::bad_alloc
                         */
                        void
--                      AddButtons( BCStructVectorType infoList, int type );
--
++                      InitModel(BCStructVectorType infoList, int type);
++                      // ----------------------------------------------------------------------------------
++                      //MLER
++                      /*! @fn void AddItems( BCPSettingsStruct* info );
++                       * @brief This method adds a new item into a list.
++                       * @param info The pointer to BCPSettingsStruct.
++                       * @exception std::bad_alloc
++                       */
+                       void
+                       AddItems(BCPSettingsStruct* info);
 -
 -                      ItemsMap
 -                      GetItemsMap();
 -
 -                      PanelButton
 -                      GetPanelList( const StringType &buttonName );
 -
 -
++                      // ----------------------------------------------------------------------------------
++                      /*! @fn PanelButton GetPanelList( const std::string &buttonName );
++                       *      @brief This method returns the panel of a list.
++                       *      @param buttonName (item element)
++                       *      @exception std::bad_alloc
++                       *      @return
++                       */
++                      ItemsVector
++                      GetItemsVector();
++                      // ----------------------------------------------------------------------------------
++                      /*! @fn PanelButton GetPanelList( const std::string &buttonName );
++                       *      @brief This method returns the panel of a list.
++                       *      @param buttonName (item element)
++                       *      @exception std::bad_alloc
++                       *      @return
++                       */
++                      wxPanel*
++                      GetPanelList(const StringType &buttonName);
++                      //MLER
                        // ----------------------------------------------------------------------------------
                private:
                        ButtonGroupMap m_ButtonGroupContainer; //!<This is the map with the groups of buttons.
                        KeyMapList m_GroupNameList; //!<This is a container with the name of the groups.
  
                        //MLER
--                      ItemsMap m_itemsMap; //This is the map with the name and the wPanel
--              };
 -}//ecapseman
++                      ItemsVector m_ItemsVector; //!<This is the vector containing a pair of each item name and its wxPanel.
 +
- }//ecapseman
++      };
++} //ecapseman
  #endif /* BUTTONCONTAINERSETTINGS_H_ */
index 2302bafc8b966f585881e0cae4b81b9ba6787c7b,2cd26add7a968c39bede4cc54a92657de197228e..8024f4aacb6b1402220d417f8cf16c3a54136ed8
@@@ -1,27 -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 creaPanelButtonContainer.h
  
  #include "creaPanelButtonContainer.h"
  
--
  namespace creaPanelButtonContainer
  {
        BEGIN_EVENT_TABLE(PanelButtonContainer,wxPanel)
--              //EVT_LIST_ITEM_SELECTED(-1, ListWx::ListEvent)
++//EVT_LIST_ITEM_SELECTED(-1, ListWx::ListEvent)
  
--      //(*EventTable(ButtonContainerPanel)
--      //*)
--      END_EVENT_TABLE()
--      // ----------------------------------------------------------------------------------
--      typedef creaButtonContainer::model::TConcreteFunctor< PanelButtonContainer >   TConcreteFunctor;
--      // ----------------------------------------------------------------------------------
--      PanelButtonContainer::PanelButtonContainer( wxWindow* parent,  ButtonContainerSettings* bcSettings, int type )
--              : wxPanel( parent, -1, wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE, _T("creaPanelButtonContainer") )
++//(*EventTable(ButtonContainerPanel)
++//*)
++      END_EVENT_TABLE ()
++// ----------------------------------------------------------------------------------
++      typedef creaButtonContainer::model::TConcreteFunctor<PanelButtonContainer> TConcreteFunctor;
++// ----------------------------------------------------------------------------------
++      PanelButtonContainer::PanelButtonContainer(wxWindow* parent,
++                      ButtonContainerSettings* bcSettings, int type)
++                      : wxPanel(parent, -1, wxDefaultPosition, wxDefaultSize,
++                                      wxDEFAULT_FRAME_STYLE, _T("creaPanelButtonContainer"))
        {
--              std::cout<< "MLER | creaPanelButtonContainer:: PanelButtonContainer() " << std::endl;
--
                this->m_ButtonContainerSettings = bcSettings;
-               this->m_ButtonPanel = new wxPanel( this );
  
 -
--              //Class that manages the event!!!
--      //EED 20/01/2012
--              TConcreteFunctor* functor = new TConcreteFunctor( this, &PanelButtonContainer::GenericButtonEvent );
--//            TConcreteFunctor* functor = new TConcreteFunctor( this->m_ButtonPanel, &PanelButtonContainer::GenericButtonEvent );
--              //end of the event definition
 -
 -              TConcreteFunctor* lFunctor = new TConcreteFunctor( this, &PanelButtonContainer::GenericListEvent );
 -              //MLER
 -
+               //Using AuiManager to Manage the Panels
 -              this->m_AuiManager = new wxAuiManager( this, wxAUI_MGR_DEFAULT );
 -
++              this->m_AuiManager = new wxAuiManager(this,
++                              wxAUI_MGR_DEFAULT | wxFULL_REPAINT_ON_RESIZE);
  
-               TConcreteFunctor* lFunctor = new TConcreteFunctor( this, &PanelButtonContainer::GenericListEvent );
-               //MLER
 -              if(type == 0)
++              if (type == 0)
+               {
 -                      this->m_ButtonPanel = new wxPanel( this );
 -                      std::cout << "tipo 0; new ButtonContainerPanel"<<std::endl;
 -                      this->m_ButtonContainerPanel = new ButtonContainerPanel( this, this->m_ButtonContainerSettings->GetButtonGroupSettings( functor ) );
 -
 -                      this->m_AuiManager->AddPane( this->m_ButtonContainerPanel,wxAuiPaneInfo( ).Name( _T("ButtonContainerPanel") ).Caption(_("ButtonContainerPanel") ). CaptionVisible( true ).CloseButton(false ).Center( ).Resizable( true ) );
 -                      this->m_AuiManager->AddPane(this->m_ButtonPanel, wxAuiPaneInfo( ).Name( _T("ButtonPanel") ).Caption( _("ButtonPanel") ). CaptionVisible(true ).CloseButton( false ).Bottom( ).Resizable( true ) );
++                      //Class that manages the event!!!
++                      //EED 20/01/2012
++                      TConcreteFunctor* functor = new TConcreteFunctor(this,
++                                      &PanelButtonContainer::GenericButtonEvent);
++                      //end of the event definition
++                      this->m_EventPanel = new wxPanel(this);
++                      this->m_ButtonContainerPanel = new ButtonContainerPanel(this,
++                                      this->m_ButtonContainerSettings->GetButtonGroupSettings(functor));
++                      //Bottom Panel
++                      this->m_AuiManager->AddPane(this->m_EventPanel,
++                                      wxAuiPaneInfo().Name(_T("EventPanel")).Caption(_("EventPanel")).CaptionVisible(
++                                                      true).MinimizeButton().MaximizeButton().CloseButton(false).Center().Resizable(
++                                                      true));
++                      //Top Panel
++                      this->m_AuiManager->AddPane(this->m_ButtonContainerPanel,
++                                      wxAuiPaneInfo().Name(_T("ButtonContainerPanel")).DefaultPane().Caption(
++                                                      _("ButtonContainerPanel")).PinButton().CaptionVisible(true).CloseButton(
++                                                      false).Center().Resizable(true));
+               }
 -              else if( type == 1)
++              else if (type == 1)
+               {
 -                      this->m_ListPanel = new wxPanel(this);
 -                      std::cout << "tipo 1; new LIstWx"<<std::endl;
 -                      this->mylist = new ListWx(this, -1,this->m_ButtonContainerSettings->GetItemsMap(), lFunctor);
 -                      mylist->FillList();
 -                      this->m_AuiManager->AddPane( this->mylist,wxAuiPaneInfo( ).Name( _T("ListContainerPanel") ).Caption(_("ListContainerPanel") ). CaptionVisible( true ).CloseButton(false ).Center( ).Resizable( true ) );
 -                      this->m_AuiManager->AddPane(this->m_ListPanel, wxAuiPaneInfo( ).Name( _T("ListPanel") ).Caption( _("ListPanel") ). CaptionVisible(true ).CloseButton( false ).Bottom( ).Resizable( true ) );
++                      //MLER
++                      TConcreteFunctor* lFunctor = new TConcreteFunctor(this,
++                                      &PanelButtonContainer::GenericListEvent);
 +
-               this->m_ListPanel = new wxPanel(this);
++                      this->m_EventPanel = new wxPanel(this);
++                      std::cout << "tipo 1; new LIstWx" << std::endl;
 +
-               if(type == 0)
++                      this->m_ListWxPanel = new ListWx(this, -1,
++                                      this->m_ButtonContainerSettings->GetItemsVector(), lFunctor);
++
++                      //Bottom Panel
++                      this->m_AuiManager->AddPane(this->m_EventPanel,
++                                      wxAuiPaneInfo().Name(_T("EventPanel")).Caption(_("EventPanel")).CaptionVisible(
++                                                      true).MinimizeButton().MaximizeButton().CloseButton(false).Center().Resizable(
++                                                      true));
++                      //Top Panel
++                      this->m_AuiManager->AddPane(this->m_ListWxPanel,
++                                      wxAuiPaneInfo().Name(_T("ListContainerPanel")).DefaultPane().Caption(
++                                                      _("ListContainerPanel")).PinButton().CaptionVisible(true).CloseButton(
++                                                      false).Center().Resizable(true));
+               }
 -              else if( type == 2)
++              else if (type == 2)
                {
-                       std::cout << "tipo 0; new ButtonContainerPanel"<<std::endl;
-                       this->m_ButtonContainerPanel = new ButtonContainerPanel( this, this->m_ButtonContainerSettings->GetButtonGroupSettings( functor ),type );
++                      TConcreteFunctor* lFunctor = new TConcreteFunctor(this,
++                                      &PanelButtonContainer::GenericListEvent);
++
++                      this->m_EmptyPanel = new wxPanel(this);
++                      this->m_EventPanel = this->m_EmptyPanel;
++
++                      this->m_PanelUp = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize,
++                                      wxTAB_TRAVERSAL, _T("ListConfigContainerPanel"));
++                      wxGridBagSizer* mainSizer = new wxGridBagSizer(0, 0);
++                      mainSizer->AddGrowableCol(1);
++                      mainSizer->AddGrowableRow(0);
++
++                      //=======
++                      //Original List
++                      this->m_ListWxPanel = new ListWx(this->m_PanelUp, -1,
++                                      this->m_ButtonContainerSettings->GetItemsVector(), lFunctor);
++                      this->m_ListWxPanel->Show(false);
++                      //Configurable list
++                      this->m_CurrentWxPanel = new ListWx(this->m_PanelUp, -1, lFunctor);
++
++                      mainSizer->Add(this->m_ListWxPanel, wxGBPosition(0, 0), wxDefaultSpan,
++                                      wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL
++                                                      | wxALIGN_CENTER_VERTICAL, 5);
++                      mainSizer->Add(this->m_CurrentWxPanel, wxGBPosition(0, 1), wxDefaultSpan,
++                                      wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL
++                                                      | wxALIGN_CENTER_VERTICAL, 5);
++
++                      wxBitmap btmSettings(Settings_xpm); //Icon of Button
++
++                      this->m_ConfigButton = new wxBitmapButton(this->m_PanelUp, -1,
++                                      btmSettings, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW,
++                                      wxDefaultValidator, _T("Config"));
++
++                      mainSizer->Add(this->m_ConfigButton, wxGBPosition(1, 2), wxDefaultSpan,
++                                      wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL, 5);
++
++                      //=======
++
++                      this->m_PanelUp->SetSizer(mainSizer);
++                      mainSizer->Fit(this->m_PanelUp);
++                      mainSizer->SetSizeHints(this->m_PanelUp);
++
++                      //Bottom Panel
++                      this->m_AuiManager->AddPane(this->m_EventPanel,
++                                      wxAuiPaneInfo().Name(_T("EventPanel")).Caption(_("EventPanel")).CaptionVisible(
++                                                      true).MinimizeButton().MaximizeButton().CloseButton(false).Center().Resizable(
++                                                      true));
++                      //Top Panel
++                      this->m_AuiManager->AddPane(this->m_PanelUp,
++                                      wxAuiPaneInfo().Name(_T("ListContainerPanel")).DefaultPane().Caption(
++                                                      _("ListContainerPanel")).PinButton().CaptionVisible(true).CloseButton(
++                                                      false).Center().Resizable(true));
++
++                      this->Connect(wxEVT_COMMAND_BUTTON_CLICKED,
++                                      wxCommandEventHandler(PanelButtonContainer::OnConfigButton));
 -                      this->m_ListPanel = new wxPanel(this);
 -
 -                      panelUp = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("ListConfigContainerPanel"));
 -                      wxBoxSizer* mainSizer = new wxBoxSizer(wxHORIZONTAL);
 -
 -              //=======
 -                      wxBoxSizer* listSizer = new wxBoxSizer(wxVERTICAL);
 -
 -                      this->mylist = new ListWx(panelUp,-1,this->m_ButtonContainerSettings->GetItemsMap(),lFunctor);
 -                      this->mylist->Show(false);
 -                      ItemsMap empty;
 -                      this->myConfiglist = new ListWx(panelUp,-1, empty,lFunctor);
 -                      listSizer->Add(this->myConfiglist,0,wxEXPAND);
 -                      listSizer->Add(this->mylist,0,wxEXPAND);
 -                      mainSizer->Add(listSizer,0,wxEXPAND|wxALL,7);
 -
 -              //=======
 -                      wxBoxSizer* buttonSizer = new wxBoxSizer(wxVERTICAL);
 -
 -                      button = new wxButton(panelUp, -1, _("Configurar"),
 -                                                                      wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _("Configurar"));
 -
 -                      buttonSizer->Add(button,0,wxEXPAND);
 -                      mainSizer->Add(buttonSizer,0,wxEXPAND|wxALL,14);
 -              //=======
 -
 -                      panelUp->SetSizer(mainSizer);
 -
 -                      this->m_AuiManager->AddPane( panelUp,wxAuiPaneInfo( ).Name( _T("ListConfigContainerPanel") ).Caption(_("ListConfigContainerPanel") ). CaptionVisible( true ).CloseButton(false ).Center( ).Resizable( true ) );
 -                      this->m_AuiManager->AddPane(this->m_ListPanel, wxAuiPaneInfo( ).Name( _T("ListPanel") ).Caption( _("ListPanel") ). CaptionVisible(true ).CloseButton( false ).Bottom( ).Resizable( true ) );
                }
- //            else if( type == 1)
- //            {
- //                    std::cout << "tipo 1; new LIstWx"<<std::endl;
- //                    this->mylist = new ListWx(this->m_ListPanel, -1,this->m_ButtonContainerSettings->GetItemsMap(), lFunctor);
- //            }//MLER
++              else if (type == 3)
++              {
++                      //MLER
++                      TConcreteFunctor* lFunctor = new TConcreteFunctor(this,
++                      &PanelButtonContainer::GenericListEvent);
 +
++                      this->m_EventPanel = new wxPanel(this);
++                      std::cout << "MLER Type 3; new ComboBox" << std::endl;
 +
-               //Using AuiManager to Manage the Panels
-               this->m_AuiManager = new wxAuiManager( this, wxAUI_MGR_DEFAULT );
-               if(type == 0)
-                       this->m_AuiManager->AddPane(this->m_ButtonContainerPanel, wxAuiPaneInfo( ).Name( _T("ButtonPanel") ).Caption( _("Panel") ). CaptionVisible(true ).CloseButton( false ).Bottom( ).Resizable( true ) );
-               else if(type == 1)
-                       this->m_AuiManager->AddPane(this->m_ListPanel, wxAuiPaneInfo( ).Name( _T("ListPanel") ).Caption( _("Panel") ). CaptionVisible(true ).CloseButton( false ).Bottom( ).Resizable( true ) );
-               //CartoButtonPanel Management
-               if(type == 0)
-                       this->m_AuiManager->AddPane( this->m_ButtonContainerPanel,wxAuiPaneInfo( ).Name( _T("ButtonPanel") ).Caption(_("ListPanel") ). CaptionVisible( false ).CloseButton(false ).Center( ).Resizable( true ) );
-               else if(type ==1)
-                       {this->m_AuiManager->AddPane( this->m_ListPanel,wxAuiPaneInfo( ).Name( _T("ListPanel") ).Caption(_("ListPanel") ). CaptionVisible( false ).CloseButton(false ).Center( ).Resizable( true ) );}
-               this->m_AuiManager->Update( );
++                      this->m_ComboBoxPanel = new ComboBox(this, -1,
++                      this->m_ButtonContainerSettings->GetItemsVector(), lFunctor);
++
++                      //Bottom Panel
++                      this->m_AuiManager->AddPane(this->m_EventPanel,
++                              wxAuiPaneInfo().Name(_T("EventPanel")).Caption(_("EventPanel")).CaptionVisible(
++                              true).MinimizeButton().MaximizeButton().CloseButton(false).Center().Resizable(
++                              true));
++                      //Top Panel
++                      this->m_AuiManager->AddPane(this->m_ComboBoxPanel,
++                              wxAuiPaneInfo().Name(_T("ComboBoxContainerPanel")).DefaultPane().Caption(
++                              _("ComboBoxContainerPanel")).PinButton().CaptionVisible(true).CloseButton(
++                              false).Center().Resizable(true));
++              }
++              //End MLER
 -
 -              //MLER
 -
 -              this->m_AuiManager->Update( );
 -              //m_listConfigPanel = new ListConfigPanel(this,1,_("Configuracion"),mylist);
 -
 -              this->Connect(wxEVT_COMMAND_BUTTON_CLICKED,
 -                                                              wxCommandEventHandler(PanelButtonContainer::ButtonEvent));
 -
++              this->m_AuiManager->Update();
        }
--      // ----------------------------------------------------------------------------------
--      PanelButtonContainer::~PanelButtonContainer( )
++// ----------------------------------------------------------------------------------
++      PanelButtonContainer::~PanelButtonContainer()
        {
        }
--      // ----------------------------------------------------------------------------------
--      void
--      PanelButtonContainer::UpdatePanel( const std::string &buttonName )
++// ----------------------------------------------------------------------------------
++      void PanelButtonContainer::UpdatePanel(const std::string &buttonName)
        {
                try
                {
--                      std::cout<< "MLER | creaPanelButtonContainer:: UpdatePanel() " << std::endl;
--
                        //Hiding the last CartoSettingsPanel
--                      this->m_ButtonPanel->Show( false );
++                      this->m_EventPanel->Show(false);
                        //Finding the CartoSettingsPanel of the ButtonClicket
--                      this->m_ButtonPanel = this->m_ButtonContainerSettings->GetPanelButton(buttonName );
--                      std::cout<< buttonName << "---testEvento 2 "<<std::endl;
++                      this->m_EventPanel = this->m_ButtonContainerSettings->GetPanelButton(
++                                      buttonName);
                        //changing the parent of the panel!
--                      if ( this->m_ButtonPanel->GetParent( ) != this )
++                      if (this->m_EventPanel->GetParent() != this)
                        {
--                              this->m_ButtonPanel->Reparent( this );
--                      }//fi
--                      //Panel Management
--                      this->m_AuiManager->GetPane( _T("ButtonPanel") ).window = this->m_ButtonPanel;
++                              this->m_EventPanel->Reparent(this);
++                      }       //fi
++                              //Panel Management
++                      this->m_AuiManager->GetPane(_T("EventPanel")).window = this->m_EventPanel;
                        //Updating the manager
--                      this->m_AuiManager->Update( );
--              }//yrt
--              catch ( const std::exception& e )
++                      this->m_AuiManager->Update();
++              }                       //yrt
++              catch (const std::exception& e)
                {
                        std::cerr
--                          << "PanelButtonContainer::UpdatePanel( const std::string &buttonName )"
--                          << "exception: " << e.what( ) << std::endl;
++                                      << "PanelButtonContainer::UpdatePanel( const std::string &buttonName )"
++                                      << "exception: " << e.what() << std::endl;
                        std::cout << "Maybe the panel of the button is NULL" << std::endl;
--                      exit( 1 );
--              }//hctac
++                      exit(1);
++              }                       //hctac
        }
--      // ----------------------------------------------------------------------------------
--      void
--      PanelButtonContainer::GenericButtonEvent( const std::string &buttonName )
++// ----------------------------------------------------------------------------------
++      void PanelButtonContainer::GenericButtonEvent(const std::string &buttonName)
        {
--              std::cout<< "MLER | creaPanelButtonContainer:: GenericButtonEvent() " << std::endl;
--              std::cout<< buttonName << "---testEvento 1 "<<std::endl;
--              this->UpdatePanel( buttonName );
++              this->UpdatePanel(buttonName);
        }
--// ----------------------------------------------------------------------------------
  
- /*
--      void
--      PanelButtonContainer::UpdateListPanel( const std::string &buttonName )
++      // ----------------------------------------------------------------------------------
++      //MLER
++      void PanelButtonContainer::GenericListEvent(const std::string &buttonName)
        {
--              try{
--
--                      std::cout<< "MLER | creaPanelButtonContainer:: UpdateListPanel() " << std::endl;
--                      std::cout<< buttonName << " --- test 2 "<<std::endl;
--
--                      this->m_ListPanel->Show( false );
++              this->UpdateListPanel(buttonName);
++      }
  
--                      this->m_ListPanel = this->m_ButtonContainerSettings->GetPanelList(buttonName );
++      // ----------------------------------------------------------------------------------
++      void PanelButtonContainer::UpdateListPanel(const std::string &buttonName)
++      {
++              try
++              {
++                      this->m_EventPanel->Show(false);
++                      this->m_EventPanel = this->m_ButtonContainerSettings->GetPanelList(
++                                      buttonName);
  
--                      if ( this->m_ListPanel->GetParent( ) != this )
++                      if (this->m_EventPanel->GetParent() != this)
                        {
--                              this->m_ListPanel->Reparent( this );
--                      }//fi
--                                              //Panel Management
--                      this->m_AuiManager->GetPane( _T("ListPanel") ).window = this->m_ListPanel;
--                                              //Updating the manager
--                      this->m_AuiManager->Update( );
--
--              }catch( const std::exception& e )
++                              this->m_EventPanel->Reparent(this);
++                      }       //fi
++                              //Panel Management
++                      this->m_AuiManager->GetPane(_T("EventPanel")).window = this->m_EventPanel;
++                      //Updating the manager
++                      this->m_AuiManager->Update();
++
++              } catch (const std::exception& e)
                {
                        std::cerr
--                          << "PanelButtonContainer::UpdatePanel( const std::string &buttonName )"
--                          << "exception: " << e.what( ) << std::endl;
++                                      << "PanelButtonContainer::UpdatePanel( const std::string &buttonName )"
++                                      << "exception: " << e.what() << std::endl;
                        std::cout << "Maybe the panel of the list is NULL" << std::endl;
--                      exit( 1 );
--              }//hctac
++                      exit(1);
++              }                                                       //hctac
        }
- */
-       void
-       PanelButtonContainer::GenericListEvent( const std::string &buttonName )
 -      void
 -      PanelButtonContainer::GenericListEvent( const std::string &buttonName )
++// ----------------------------------------------------------------------------------
++      void PanelButtonContainer::OnConfigButton(wxCommandEvent& event)
        {
--              std::cout<< "MLER | creaPanelButtonContainer:: GenericListEvent() " << std::endl;
--              std::cout<< buttonName << " --- test 3 "<<std::endl;
- //EED         this->UpdateListPanel( buttonName );
 -              this->UpdateListPanel( buttonName );
--      }
  
 -      void
 -      PanelButtonContainer::ButtonEvent ( wxCommandEvent& event )
 -      {
++              this->m_ListConfigDialog = new ListConfigDialog(this, -1, _("Settings"),
++                              this->m_ListWxPanel, this->m_CurrentWxPanel);
  
- }//ecapseman
 -              m_listConfigPanel = new ListConfigPanel(this,-1,_("Configuracion"), mylist, myConfiglist);
++              std::cout << "Button Event" << std::endl;
 -              std::cout<< "BUtton Event"<<std::endl;
++              this->m_EventPanel->Show(false);
  
 -              m_listConfigPanel->ShowModal();
 -              this->myConfiglist->Reparent(panelUp);
 -              this->myConfiglist->Show(true);
 -              this->myConfiglist->SetFunctorEnabled(true);
 -              this->myConfiglist->Update();
 -              this->m_AuiManager->Update( );
 -              this->m_ListPanel->Show(false);
 -      }
++              this->m_ListConfigDialog->ShowModal();                                                  //Show Dialog
++              this->m_CurrentWxPanel->Reparent(this->m_PanelUp);
++              this->m_CurrentWxPanel->Show(true);
++              this->m_CurrentWxPanel->SetFunctorEnabled(true);
++              this->m_CurrentWxPanel->GetListBox()->Deselect(
++                              this->m_CurrentWxPanel->GetListBox()->GetSelection()); //Deselected item
++              this->m_CurrentWxPanel->Update();
++              this->m_ListWxPanel->Show(false);
++              this->m_EventPanel->Show(false);
++              this->m_EventPanel = this->m_EmptyPanel; //Management Empty Panel
++              this->m_AuiManager->GetPane(_T("EventPanel")).window = this->m_EventPanel;
++              this->m_AuiManager->Update();
++      }
++      //End MLER
++// ----------------------------------------------------------------------------------
+ }//ecapseman
  
 -
index 93ea3da0bf8b8f7c3398da6b7af586ab0cf9a65c,6677627a476651116ce2beba90309a53b73600a9..71ec045bf70e8a1b53a2ab4a674124f146c98f1d
@@@ -1,27 -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 PanelButtonContainer
  #include <wx/aui/aui.h>
  #include <string>
  #include <wx/gdicmn.h>
++#include <wx/gbsizer.h>
++#include <wx/bmpbuttn.h>
  
++#include "listConfigDialog.h"
  #include "containerSettings.h"
  #include "buttonContainerPanel.h"
  #include "buttonContainerSettings.h"
  #include "functor.h"
  #include "listWx.h"
 -#include "listConfigPanel.h"
++#include "Settings.xpm"
++#include "comboBox.h"
  
  /*!   @namespace <creaPanelButtonContainer>
   *    @brief Contains the creaPanelButtonContainer library included in creaMaracasVisu.
@@@ -53,7 -54,7 +58,7 @@@ namespace creaPanelButtonContaine
         *      @brief This class contains the PanelButtonContainer. It derives from wxPanel.
         *  @see <a href="http://docs.wxwidgets.org/stable/wx_wxpanel.html">wxPanel</a>
         */
--      class PanelButtonContainer : public wxPanel
++      class PanelButtonContainer: public wxPanel
        {
                public:
                        //typedef definition.
                        /*!     typedef creaPanelButtonContainer::ButtonContainerSettings ButtonContainerSettings;
                         *      @brief Defines the ButtonContainerSettings type.
                         */
--                      typedef creaPanelButtonContainer::ButtonContainerSettings
--                          ButtonContainerSettings;
++                      typedef creaPanelButtonContainer::ButtonContainerSettings ButtonContainerSettings;
                        /*!     typedef creaButtonContainer::view::ButtonContainerPanel ButtonContainerPanel;
                         *      @brief Defines the ButtonContainerPanel type.
                         */
--                      typedef creaButtonContainer::view::ButtonContainerPanel
--                          ButtonContainerPanel;
++                      typedef creaButtonContainer::view::ButtonContainerPanel ButtonContainerPanel;
++
++                      //MLER
++                      /*!     typedef creaButtonContainer::view::ListWx ListWx;
++                       *      @brief Defines a ListWx for (Configurable) List Container.
++                       *      This class inherits from wxPanel and contains a wxListBox.
++                       */
                        typedef creaButtonContainer::view::ListWx ListWx;
 -                      typedef creaPanelButtonContainer::ListConfigPanel
 -                                      ListConfigPanel;
 -                      typedef std::map<std::string, wxPanel*> ItemsMap;
++                      /*!     typedef creaPanelButtonContainer::ListConfigDialog ListConfigDialog;
++                       *      @brief Defines a ListConfigPanel to configure.
++                       *      This class inherits from wxDialog and contains the wxListBox and wxButton.
++                       */
++                      typedef creaButtonContainer::view::ListConfigDialog ListConfigDialog;
++
++                      typedef creaButtonContainer::view::ComboBox ComboBox;
                        // ----------------------------------------------------------------------------------
--                      //end of typedef definition.
++                      //End MLER
++              //end of typedef definition.
                public:
                        // ----------------------------------------------------------------------------------
                        /*! @fn PanelButtonContainer( wxWindow* parent, ButtonContainerSettings* bcSettings );
                         *      @param parent The wxWindow pointer to parent
                         *      @param bcSettings //The buttonContainerSettings
                         */
--                      PanelButtonContainer( wxWindow* parent,
--                          ButtonContainerSettings* bcSettings, int type );
++                      PanelButtonContainer(wxWindow* parent,
++                                      ButtonContainerSettings* bcSettings, int type);
                        // ----------------------------------------------------------------------------------
                        /*! @fn virtual PanelButtonContainer( );
                         *      @brief This is the destructor.
                         */
                        virtual
--                      ~PanelButtonContainer( );
++                      ~PanelButtonContainer();
                        // ----------------------------------------------------------------------------------
                        /*! @fn void UpdatePanel( const std::string &buttonName );
--                       *  @brief This method Updates the m_ButtonPanel to a panel
++                       *  @brief This method Updates the m_EventPanel to a panel
                         *  of the clicked button in creaButtonContainer.
                         *      @param buttonName
                         */
                        void
--                      UpdatePanel( const std::string &buttonName );
++                      UpdatePanel(const std::string &buttonName);
                        // ----------------------------------------------------------------------------------
                        /*! @fn void GenericButtonEvent( const std::string &buttonName );
--                       *      @brief This method is the function that calls the panels contained in the buttons
++                       *      @brief This method is the function that calls the panels contained in the buttons.
                         *      (in creaButtonContainer is the function contained in the functors to be called back.
                         *      @param buttonName The name of the button
                         */
                        void
--                      GenericButtonEvent( const std::string &buttonName );
--
++                      GenericButtonEvent(const std::string &buttonName);
                        // ----------------------------------------------------------------------------------
 -                      void
 -                      UpdateListPanel( const std::string &buttonName );
 -
 -                      void
 -                      GenericListEvent( const std::string &buttonName );
 -
+                       //MLER
 -
++                      /*! @fn void GenericListEvent( const std::string &buttonName );
++                       *      @brief This method is the function that calls the panels contained in the items list.
++                       *      (in creaButtonContainer is the function contained in the functors to be called back.
++                       *      @param buttonName The name of the button (item list)
++                       */
                        void
-                       UpdateListPanel( const std::string &buttonName );
 -                      ButtonEvent ( wxCommandEvent& event );
--
++                      GenericListEvent(const std::string &buttonName);
++                      // ----------------------------------------------------------------------------------
++                      /*! @fn void UpdateListPanel( const std::string &buttonName );
++                       *  @brief This method Updates the m_EventPanel to a panel
++                       *  of the clicked an item in creaButtonContainer.
++                       *      @param buttonName The name of the button (item list)
++                       */
                        void
-                       GenericListEvent( const std::string &buttonName );
-                       //MLER
 -                      ListEvent( wxCommandEvent& event );
--
++                      UpdateListPanel(const std::string &buttonName);
++                      // ----------------------------------------------------------------------------------
++                      /*! @fn void OnConfigButton( wxCommandEvent& event );
++                       *  @brief This method calls the wxDialog when
++                       *  the config button is clicked.
++                       *      @param event
++                       */
++                      void
++                      OnConfigButton(wxCommandEvent& event);
++                      //End MLER
                        // ----------------------------------------------------------------------------------
                private:
                        //Settings
                        ButtonContainerSettings* m_ButtonContainerSettings; //!<This is the buttonContainer settings.
++
                        //Panel
--                      ButtonContainerPanel* m_ButtonContainerPanel; //!<This is the panel with de buttons (creaButtonContainer)
++                      ButtonContainerPanel* m_ButtonContainerPanel; //!<This is the panel with of buttons (creaButtonContainer)
                        wxAuiManager* m_AuiManager; //!<The AUI Manager for the panels.
--                      wxPanel* m_ButtonPanel; //!<This is the panel used to contain the panels of the buttons. (it changes with the buttonAction)
--                      wxPanel* m_ListPanel;
++                      wxPanel* m_EventPanel; //!<This is the panel used to contain the panels of the buttons. (it changes with the buttonAction)
++
++                      //MLER
++                      ListWx* m_ListWxPanel;//!<This panel contains the list of the elements.
++                      ListConfigDialog* m_ListConfigDialog;//!<This wxDialog shows the list of the elements and allows  modifications.
++
++                      wxPanel* m_PanelUp;//!<This panel contains the list of the elements empty,full and the config button.
++                      wxPanel* m_EmptyPanel; //!<This panel is empty.
++                      ListWx* m_CurrentWxPanel;//!<This panel contains the final list of the elements .
 -                      ListWx* mylist; //MLER
 -                      ListWx* myConfiglist; //MLER
 -                      wxButton* button;
 -                      ListConfigPanel* m_listConfigPanel;
 -                      wxPanel* panelUp;
++                      wxBitmapButton* m_ConfigButton;//!< "Config" Settings button.
  
-                       ListWx* mylist; //MLER
++                      ComboBox* m_ComboBoxPanel;//!<This panel contains the list of the comboBox elements.
++                      //End MLER
  
--              DECLARE_EVENT_TABLE() //!<Event Table declaration.
++                      DECLARE_EVENT_TABLE()
++                      //!<Event Table declaration.
        };
--}//ecapseman
++} //ecapseman
  
  #endif // PANELBUTTONCONTAINER_H_