]> 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:
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 [deleted file]
lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/listGroupFactory.h [deleted file]
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 [deleted file]
lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/listGroup.h [deleted file]
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..a7c11023d0017abe90838fe7ac783761c2dbf46f 100644 (file)
@@ -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,105 @@ namespace creaButtonContainer
        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..e871e85722a2af84f80a905055846fe4798d6244 100644 (file)
@@ -39,7 +39,6 @@ namespace creaButtonContainer
                // ----------------------------------------------------------------------------------
                ButtonGroupFactory::ButtonGroupFactory( )
                {
-                       std::cout<< "MLER | ButtonGroupFactory::ButtonGroupFactory( )" << std::endl;
                }
                // ----------------------------------------------------------------------------------
                ButtonGroupFactory::~ButtonGroupFactory( )
@@ -52,7 +51,6 @@ namespace creaButtonContainer
                        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 +75,6 @@ namespace creaButtonContainer
                {
                        ButtonContainer buttonList;
 
-                       std::cout<< "MLER | ButtonGroupFactory::GetButtons()" << std::endl;
                        try
                        {
                                for( ButtonList::iterator it = buttonModel.begin( ); it
index a349df61eda207c1a14c899337532e63055c8c86..bafea13a098ae10953c81e01dedcfe135b00a382 100644 (file)
@@ -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 @@ namespace creaButtonContainer
                                /*!     @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.
@@ -107,10 +107,9 @@ namespace creaButtonContainer
                                 * @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.
@@ -120,9 +119,9 @@ namespace creaButtonContainer
                                 * @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..0b6b21c63934c912804b5dc6cdd445eb62d9fe14 100644 (file)
@@ -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,118 @@ namespace creaButtonContainer
        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..2e359a2a694ffdeaa95f780a69e09d55a4439956 100644 (file)
@@ -35,7 +35,6 @@
 
 #include <vector>
 #include <wx/bitmap.h>
-//EED-MLER  #include <wx/listctrl.h>
 
 #include "structBCSettings.h"
 #include "system.h"
@@ -154,16 +153,12 @@ namespace creaButtonContainer
                                void
                                AddButtons( BCStructVectorType infoList );
 
-                               // ----------------------------------------------------------------------------------
-//                             AddItems( BCStructVectorType infoList );
-
                                // ----------------------------------------------------------------------------------
                                // ----------------------------------------------------------------------------------
                        private:
                                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..f736fe90a58b488acbafa71dfc7d35bf49eb0c59 100644 (file)
@@ -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 --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/listGroupFactory.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/listGroupFactory.cxx
deleted file mode 100644 (file)
index 91df61b..0000000
+++ /dev/null
@@ -1,94 +0,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 --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/listGroupFactory.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/listGroupFactory.h
deleted file mode 100644 (file)
index aece2e4..0000000
+++ /dev/null
@@ -1,82 +0,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..033f29b171e935c8c46a9a22509a6d1a09a45b25 100755 (executable)
@@ -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,8 @@ namespace creaButtonContainer
                                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..69d72c1ee7cc0ac58382387f2179478db0ecf993 100644 (file)
@@ -39,8 +39,6 @@ namespace creaButtonContainer
                // ----------------------------------------------------------------------------------
                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 +61,6 @@ namespace creaButtonContainer
                StringType
                Button::GetButtonName( )
                {
-                       std::cout<< "MLER | Button::GetButtonName( )" << std::endl;
                        return ( this->m_ButtonPair->first->first );
                }
 
@@ -71,7 +68,6 @@ namespace creaButtonContainer
                BitmapType
                Button::GetIcon( )
                {
-                       std::cout<< "MLER | Button::GetIcon( )" << std::endl;
                        return ( this->m_ButtonPair->first->second );
                }               
 
@@ -86,7 +82,6 @@ namespace creaButtonContainer
                StringType
                Button::GetDescription( )
                {
-                       std::cout<< "MLER | Button::GetDescription( )" << std::endl;
                        return ( this->m_ButtonPair->second->first );
                }
                
@@ -94,14 +89,12 @@ namespace creaButtonContainer
                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..b23ff0163e3016f2d0dd176ff667efe7f83a6fe9 100644 (file)
@@ -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
@@ -42,104 +42,69 @@ namespace creaButtonContainer
                END_EVENT_TABLE()
 
                // ----------------------------------------------------------------------------------
-               ButtonContainerPanel::ButtonContainerPanel( wxWindow* parent, ButtonGroupSettings* settings, int type )
+               ButtonContainerPanel::ButtonContainerPanel( wxWindow* parent, ButtonGroupSettings* settings )
                : 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()
                {
-                       std::cout<< "MLER | ButtonContainerPanel::PanelInit( int type )" << 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)
                                {
-                                       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..86dd513fd4bb5f44f634174ea13b8d0a73090322 100644 (file)
@@ -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,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 +78,7 @@ namespace creaButtonContainer
                 *  @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
@@ -98,12 +96,12 @@ namespace creaButtonContainer
                                /*!     @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.
@@ -113,35 +111,22 @@ namespace creaButtonContainer
                                /*!     @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
@@ -151,27 +136,27 @@ namespace creaButtonContainer
                                 * @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);
                                // ----------------------------------------------------------------------------------
                                /*! @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();
                                // ----------------------------------------------------------------------------------
 
                                //void
@@ -181,22 +166,20 @@ namespace creaButtonContainer
                                 * 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..b25330b525a613e9d8d091b65415895366e3e411 100644 (file)
@@ -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,66 @@ namespace creaButtonContainer
        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..952cb654ccf48a032ba286f382f36355ad7819f7 100644 (file)
@@ -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,74 @@ namespace creaButtonContainer
        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..57c105f1f797c27732956704d3a1e3e4b883bfb3 100644 (file)
@@ -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,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 +60,7 @@ namespace creaButtonContainer
                 *  @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.
@@ -80,11 +78,8 @@ namespace creaButtonContainer
                                /*!     @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:
@@ -93,44 +88,42 @@ namespace creaButtonContainer
                                 * @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:
                                // ----------------------------------------------------------------------------------
@@ -139,19 +132,14 @@ namespace creaButtonContainer
                                 * @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..cd4a37add199f264b93b4c0ee72757fa86db6a43 100644 (file)
@@ -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,75 @@ namespace creaButtonContainer
        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..7c9539dd4c4ed5c4df53101b319cd3e78acc99bf 100644 (file)
@@ -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,6 @@
 
 #include "buttonManager.h"
 #include "buttonGroup.h"
-#include "listGroup.h"
 
 /*!    @namespace <creaButtonContainer>
  *     @brief Contains the creaButtonContainer library included in creaMaracasVisu.
@@ -61,7 +60,7 @@ namespace creaButtonContainer
                 *  @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 +75,6 @@ namespace creaButtonContainer
                                 */
                                typedef wxButton ExpansionButton;
                                // ----------------------------------------------------------------------------------
-                               //MLER
-                               //typedef creaButtonContainer::view::ListGroup ListGroup;
 
                                //end of typedef definition.
                        public:
@@ -87,75 +84,70 @@ namespace creaButtonContainer
                                 *      @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 --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/listGroup.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/listGroup.cxx
deleted file mode 100644 (file)
index 04686b0..0000000
+++ /dev/null
@@ -1,98 +0,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 --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/listGroup.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/listGroup.h
deleted file mode 100644 (file)
index 494fe33..0000000
+++ /dev/null
@@ -1,84 +0,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..4e6bb47b3df733850ab1478944d9a32d871dc583 100644 (file)
@@ -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"
 
@@ -32,56 +30,113 @@ namespace creaButtonContainer
        namespace view
        {
                // ----------------------------------------------------------------------------------
-               ListWx::ListWx( wxWindow* parent, wxWindowID id,ItemsMap iMap , TFunctor* functor ): wxListCtrl(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));
+                       this->SetSizer(sizer);
 
-                               std::cout << "index" << index << std::endl;
-                               this->Connect( -1, wxEVT_COMMAND_LIST_ITEM_SELECTED,
-                                                wxListEventHandler(ListWx::ListEvent) );
-                               i++;
+                       this->m_ListBox = new wxListBox(this, -1);
+                       this->m_FunctorEnabled = true;
+
+                       this->Connect(wxEVT_COMMAND_LISTBOX_SELECTED,
+                                       wxCommandEventHandler(ListWx::OnListEvent));
+
+                       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, TFunctor* functor)
+                               : wxPanel(parent, id)
                {
+                       this->m_Functor = functor;
+
+                       wxBoxSizer* sizer = new wxBoxSizer(wxHORIZONTAL);
+
+                       this->SetSizer(sizer);
+
+                       this->m_ListBox = new wxListBox(this, -1);
+                       this->m_FunctorEnabled = true;
+
+                       this->Connect(wxEVT_COMMAND_LISTBOX_SELECTED,
+                                       wxCommandEventHandler(ListWx::OnListEvent));
+
+                       sizer->Add(this->m_ListBox, 1, wxGROW);
+
                }
+               // ----------------------------------------------------------------------------------
 
-               void
-               ListWx::ListEvent( wxListEvent& event )
+               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());
+               }
 
-                               this->functor->Call(itemNomC);
-                               std::cout<<"mmmmmmmmmmmmmmmmmmmmmmm"<<std::endl;
+               // ----------------------------------------------------------------------------------
 
-                       }//yrt
-                       catch ( const std::exception& e )
+               void ListWx::OnListEvent(wxCommandEvent& event)
+               {
+                       if (!this->IsFunctorEnabled())
+                               return;
+                       else
                        {
-                               std::cerr
-                                   << "ButtonContainerController::ButtonEvent( wxCommandEvent& event ) exception: "
-                                   << e.what( ) << std::endl;
-                       }//hctac
+                               try
+                               {
+                                       std::cout << "MLER | ListWx::OnListEvent( wxListEvent& event )"
+                                                       << std::endl;
+
+                                       int iSelection;
+                                       iSelection = this->m_ListBox->GetSelection();
+
+                                       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
+                       }
+               }
+               // ----------------------------------------------------------------------------------
+
+               void ListWx::SetFunctorEnabled(const bool& enabled)
+               {
+                       this->m_FunctorEnabled = enabled;
+               }
+               // ----------------------------------------------------------------------------------
+               bool ListWx::IsFunctorEnabled() const
+               {
+                       return this->m_FunctorEnabled;
                }
-       // ----------------------------------------------------------------------------------
-       }//ecapseman
-}//ecapseman
 
+               // ----------------------------------------------------------------------------------
+               wxListBox*
+                               ListWx::GetListBox() const
+                               {
+                                       return this->m_ListBox;
+                               }
+
+       } //ecapseman
+} //ecapseman
 
index 7f3054929d6a33d90cfa422ee88330a56844c9b4..9eb623543dabc8fdfcc7b014a0c308f309f3de5f 100644 (file)
 /*# ---------------------------------------------------------------------
-#
-# 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/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"
 
+/*!    @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..130b81b7faea6aa56ce59df6b8ecb925fb2c4eda 100644 (file)
@@ -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 )
+                       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 )
+                               ButtonList list = this->m_ButtonGroupContainer[(*it)];
+                               for (ButtonList::iterator it1 = list.begin(); it1 != list.end(); ++it1)
                                {
-                                       if ( ( *it1 )->first->first.compare( buttonName ) == 0 )
-                                       {
-                                               return ( ( *it1 )->second->second );
-                                       }//fi
-                               }//rof
-                       }//rof
-               }//yrt
-               catch ( std::exception& e )
+                                       if ((*it1)->first->first.compare(buttonName) == 0)
+                                               return ((*it1)->second->second);
+                               }       //rof
+                       }       //rof
+               }       //yrt
+               catch (std::exception& e)
                {
                        std::cerr
-                           << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) "
-                           << "exception: " << e.what( ) << std::endl;
-               }//hctac
-               return ( NULL );
-       }
-/*
-       // ----------------------------------------------------------------------------------
-       ButtonContainerSettings::PanelButton
-       ButtonContainerSettings::GetPanelList( const StringType &buttonName )
-       {
-               std::cout<< "MLER | ButtonContainerSettings:: GetPanelList " << std::endl;
-
-
-               try {
-                       if(m_itemsMap.empty())
-                               std::cout<< "no tengo nada "<< std::endl;
-
-                       for( ItemsMap::iterator it= this->m_itemsMap.begin(); it!=this->m_itemsMap.end(); ++it )
-                       {
-                               if( (*it).first.compare(buttonName) == 0 )
-                                       return ( (*it).second );
-                       }
-
-
-               }catch ( std::exception& e )
-               {
-                       std::cerr
-                           << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) "
-                           << "exception: " << e.what( ) << std::endl;
-               }//hctac
+                                       << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) "
+                                       << "exception: " << e.what() << std::endl;
+               }       //hctac
                return (NULL);
-
        }
-*/
 
        // ----------------------------------------------------------------------------------
        ButtonContainerSettings::ButtonGroupSettings*
-       ButtonContainerSettings::GetButtonGroupSettings( TFunctor* functor )
+       ButtonContainerSettings::GetButtonGroupSettings(TFunctor* functor)
        {
                ButtonGroupSettings* settings = NULL;
                try
                {
-                       std::cout<< "MLER | ButtonContainerSettings:: GetButtonGroupSettings() " << std::endl;
 
-                       settings = new ButtonGroupSettings( );
+                       settings = new ButtonGroupSettings();
 
-                       for( KeyMapList::iterator it = this->m_GroupNameList.begin( ); it
-                           != this->m_GroupNameList.end( ); ++it )
+                       for (KeyMapList::iterator it = this->m_GroupNameList.begin();
+                                       it != this->m_GroupNameList.end(); ++it)
                        {
-                               ButtonList list = this->m_ButtonGroupContainer[ ( *it ) ];
+                               ButtonList list = this->m_ButtonGroupContainer[(*it)];
 
-                               for( ButtonList::iterator it1 = list.begin( ); it1 != list.end( ); ++it1 )
+                               for (ButtonList::iterator it1 = list.begin(); it1 != list.end(); ++it1)
                                {
-                                       std::cout<<"MLER ButtonContainerSettings // GetButtonGroupSettings :: groupName "<< *it<<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 )
+                               if (type == 0)
+                                       this->AddButton(*it);
+                               else if (type == 1 || type == 2 || type == 3)
+                                       this->AddItems(*it);
+
+
+                       }                                       //rof
+               }                                       //yrt
+               catch (std::exception& e)
                {
                        std::cerr
-                           << "ButtonContainerSettings::AddButtons( BCStructVectorType infoList )"
-                           << "exception: " << e.what( ) << std::endl;
-               }//hctac
+                                       << "ButtonContainerSettings::AddButtons( BCStructVectorType infoList )"
+                                       << "exception: " << e.what() << std::endl;
+               }                                       //hctac
        }
 
-
-//EED-MLER
-/*
-       void
-       ButtonContainerSettings::AddItems(BCPSettingsStruct* info)
+       // ----------------------------------------------------------------------------------
+       //MLER
+       void ButtonContainerSettings::AddItems(BCPSettingsStruct* info)
        {
                try
                {
-                       std::cout<< "MLER | ButtonContainerSettings:: AddItems(BCPSettingsStruct* info)" << std::endl;
-                       //builds the button information
+                       //build the button information
                        //I don't know the try catch doesn't work!!
-                       if ( info->panel == NULL )
+                       if (info->panel == NULL)
                        {
-                               std::cerr << "ButtonContainerSettings::AddButton"
-                                   << "exception: NULL Pointer in panel " << std::endl;
-                               exit( 1 );
+                               std::cerr << "ButtonContainerSettings::AddItems"
+                                               << "exception: NULL Pointer in panel " << std::endl;
+                               exit(1);
                        }
+                       info->panel->Show(false);
+                       std::string key = info->groupName + ":" + info->buttonName;
+                       m_ItemsVector.push_back(ListAction(key, info->panel));
 
-                       info->panel->Show( false );
-
-                       std::string mapKey = info->groupName + ":" + info->buttonName;
-                       m_itemsMap[mapKey] = info->panel;
+               }                                       //yrt
+               catch (const std::exception& e)
+               {
+                       std::cerr
+                                       << "ButtonContainerSettings::AddButton( BCPSettingsStruct* info )"
+                                       << "exception: " << e.what() << std::endl;
+                       exit(1);
+               }                                       //hctac
+       }
+       // ----------------------------------------------------------------------------------
+       ButtonContainerSettings::ItemsVector ButtonContainerSettings::GetItemsVector()
+       {
+               return this->m_ItemsVector;
+       }
 
-               }//yrt
-               catch ( const std::exception& e )
+       // ----------------------------------------------------------------------------------
+       wxPanel*
+       ButtonContainerSettings::GetPanelList(const StringType &buttonName)
+       {
+               try
                {
-<<<<<<< HEAD
-                       try
-                       {
-                               for( BCStructVectorType::iterator it = infoList.begin( ); it
-                                   != infoList.end( ); ++it )
-                               {
-                                       this->AddItem(*it);
-                               }//rof
-                       }//yrt
-                       catch ( const std::exception& e )
+                       for (ItemsVector::iterator it = this->m_ItemsVector.begin();
+                                       it != this->m_ItemsVector.end(); ++it)
                        {
-                               std::cerr
-                           << "ContainerSettings::AddButtons( BCStructVectorType infoList ) "
-                           << "exception: " << e.what( ) << std::endl;
-                       }//hctac
-               }
-*/
+                               if ((*it).first.compare(buttonName) == 0)
+                                       return ((*it).second);
+
+                       }
+
+               } catch (std::exception& e)
+               {
+                       std::cerr
+                                       << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) "
+                                       << "exception: " << e.what() << std::endl;
+               }                                       //hctac
+               return (NULL);
 
+       }
+
+//MLER
 // ----------------------------------------------------------------------------------
 }//ecapseman
-
index 9f3e5245db7d7f17cdb1cfc1e433f710951ecfb9..4bd2ce508fac2f0ecdb2d55054f65936dd3ae6af 100644 (file)
@@ -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 @@
 
 #include <wx/panel.h>
 #include <wx/bitmap.h>
-//EED-MLER #include <wx/listctrl.h>
+//#include <wx/listctrl.h>
 
 #include <list>
 #include <map>
@@ -46,7 +46,6 @@
 #include "containerSettings.h"
 #include "functor.h"
 
-
 /*!    @namespace <creaPanelButtonContainer>
  *     @brief Contains the creaPanelButtonContainer library included in creaMaracasVisu.
  */
@@ -82,80 +81,87 @@ namespace creaPanelButtonContainer
                        // ----------------------------------------------------------------------------------
                        /*!     @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
+                       // ----------------------------------------------------------------------------------
 
                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.
@@ -164,7 +170,7 @@ namespace creaPanelButtonContainer
                         *      @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.
@@ -173,32 +179,22 @@ namespace creaPanelButtonContainer
                         * @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();
-
                        // ----------------------------------------------------------------------------------
-
-
-
                        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,
@@ -212,10 +208,9 @@ namespace creaPanelButtonContainer
                         * @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.
@@ -223,26 +218,52 @@ namespace creaPanelButtonContainer
                         * @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);
+                       // ----------------------------------------------------------------------------------
+                       /*! @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
-               };
+                       ItemsVector m_ItemsVector; //!<This is the vector containing a pair of each item name and its wxPanel.
 
-}//ecapseman
+       };
+} //ecapseman
 #endif /* BUTTONCONTAINERSETTINGS_H_ */
index 2302bafc8b966f585881e0cae4b81b9ba6787c7b..8024f4aacb6b1402220d417f8cf16c3a54136ed8 100644 (file)
@@ -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
+               //Using AuiManager to Manage the Panels
+               this->m_AuiManager = new wxAuiManager(this,
+                               wxAUI_MGR_DEFAULT | wxFULL_REPAINT_ON_RESIZE);
 
-               TConcreteFunctor* lFunctor = new TConcreteFunctor( this, &PanelButtonContainer::GenericListEvent );
-               //MLER
+               if (type == 0)
+               {
+                       //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)
+               {
+                       //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)
                {
-                       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));
+
                }
-//             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
+
+               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::OnConfigButton(wxCommandEvent& event)
        {
-               std::cout<< "MLER | creaPanelButtonContainer:: GenericListEvent() " << std::endl;
-               std::cout<< buttonName << " --- test 3 "<<std::endl;
-//EED          this->UpdateListPanel( buttonName );
-       }
 
+               this->m_ListConfigDialog = new ListConfigDialog(this, -1, _("Settings"),
+                               this->m_ListWxPanel, this->m_CurrentWxPanel);
 
-}//ecapseman
+               std::cout << "Button Event" << std::endl;
+
+               this->m_EventPanel->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..71ec045bf70e8a1b53a2ab4a674124f146c98f1d 100644 (file)
@@ -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 "Settings.xpm"
+#include "comboBox.h"
 
 /*!    @namespace <creaPanelButtonContainer>
  *     @brief Contains the creaPanelButtonContainer library included in creaMaracasVisu.
@@ -53,7 +58,7 @@ namespace creaPanelButtonContainer
         *      @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.
@@ -61,16 +66,29 @@ namespace creaPanelButtonContainer
                        /*!     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::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 );
@@ -78,53 +96,82 @@ namespace creaPanelButtonContainer
                         *      @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);
                        // ----------------------------------------------------------------------------------
+                       //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 );
-
+                       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
-
+                       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 .
+
+                       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_