From: davila Date: Wed, 27 May 2015 14:05:57 +0000 (+0200) Subject: #2647 creaMaracasVisu Feature New Normal - Merge creaButtonContainer BRANCH X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?p=creaMaracasVisu.git;a=commitdiff_plain;h=8eebd53dcbe07edf0569621003178ee37d69a39b #2647 creaMaracasVisu Feature New Normal - Merge creaButtonContainer BRANCH --- 8eebd53dcbe07edf0569621003178ee37d69a39b diff --cc lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/controller/buttonContainerController.cxx index 1ac95c8,1ac95c8..a7c1102 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/controller/buttonContainerController.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/controller/buttonContainerController.cxx @@@ -1,27 -1,27 +1,27 @@@ /*# --------------------------------------------------------------------- --# --# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image --# pour la Sant�) --# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton --# Previous Authors : Laurent Guigues, Jean-Pierre Roux --# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil --# --# This software is governed by the CeCILL-B license under French law and --# abiding by the rules of distribution of free software. You can use, --# modify and/ or redistribute the software under the terms of the CeCILL-B --# license as circulated by CEA, CNRS and INRIA at the following URL --# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html --# or in the file LICENSE.txt. --# --# As a counterpart to the access to the source code and rights to copy, --# modify and redistribute granted by the license, users are provided only --# with a limited warranty and the software's author, the holder of the --# economic rights, and the successive licensors have only limited --# liability. --# --# The fact that you are presently reading this means that you have had --# knowledge of the CeCILL-B license and that you accept its terms. --# ------------------------------------------------------------------------ */ ++ # ++ # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image ++ # pour la Sant�) ++ # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton ++ # Previous Authors : Laurent Guigues, Jean-Pierre Roux ++ # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil ++ # ++ # This software is governed by the CeCILL-B license under French law and ++ # abiding by the rules of distribution of free software. You can use, ++ # modify and/ or redistribute the software under the terms of the CeCILL-B ++ # license as circulated by CEA, CNRS and INRIA at the following URL ++ # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html ++ # or in the file LICENSE.txt. ++ # ++ # As a counterpart to the access to the source code and rights to copy, ++ # modify and redistribute granted by the license, users are provided only ++ # with a limited warranty and the software's author, the holder of the ++ # economic rights, and the successive licensors have only limited ++ # liability. ++ # ++ # The fact that you are presently reading this means that you have had ++ # knowledge of the CeCILL-B license and that you accept its terms. ++ # ------------------------------------------------------------------------ */ /*! * @file buttonContainerController.cxx @@@ -37,112 -37,112 +37,105 @@@ namespace creaButtonContaine namespace controller { // ---------------------------------------------------------------------------------- -- ButtonContainerController::ButtonContainerController( BCPanel* panel ) ++ ButtonContainerController::ButtonContainerController(BCPanel* panel) { -- std::cout<< "MLER | ButtonContainerController::ButtonContainerController( BCPanel* panel )" << std::endl; this->m_BCPanel = panel; } // ---------------------------------------------------------------------------------- -- ButtonContainerController::~ButtonContainerController( ) ++ ButtonContainerController::~ButtonContainerController() { } // ---------------------------------------------------------------------------------- -- void -- ButtonContainerController::AddEvents( ) ++ void ButtonContainerController::AddEvents() { try { -- std::cout<< "MLER | ButtonContainerController:: AddEvents( )" << std::endl; //Adding ButtonManagerEvents -- for( GroupManagerList::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 -- for( ButtonGroupList::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 { -- for( ButtonGroupList::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 diff --cc lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/buttonGroupFactory.cxx index eb29cf0,eb29cf0..e871e85 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/buttonGroupFactory.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/buttonGroupFactory.cxx @@@ -39,7 -39,7 +39,6 @@@ namespace creaButtonContaine // ---------------------------------------------------------------------------------- ButtonGroupFactory::ButtonGroupFactory( ) { -- std::cout<< "MLER | ButtonGroupFactory::ButtonGroupFactory( )" << std::endl; } // ---------------------------------------------------------------------------------- ButtonGroupFactory::~ButtonGroupFactory( ) @@@ -52,7 -52,7 +51,6 @@@ ButtonGroupContainer groupView; try { -- std::cout<< "MLER | ButtonGroupFactory::CreateButtonGroupContainer()" << std::endl; ButtonGroupMap map = settings->GetButtonGroupContainer( ); for( ButtonGroupMap::iterator it = map.begin( ); it != map.end( ); ++it ) { @@@ -77,7 -77,7 +75,6 @@@ { ButtonContainer buttonList; -- std::cout<< "MLER | ButtonGroupFactory::GetButtons()" << std::endl; try { for( ButtonList::iterator it = buttonModel.begin( ); it diff --cc lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/buttonGroupFactory.h index a349df6,a349df6..bafea13 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/buttonGroupFactory.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/buttonGroupFactory.h @@@ -1,27 -1,27 +1,27 @@@ /*# --------------------------------------------------------------------- --# --# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image --# pour la Sant�) --# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton --# Previous Authors : Laurent Guigues, Jean-Pierre Roux --# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil --# --# This software is governed by the CeCILL-B license under French law and --# abiding by the rules of distribution of free software. You can use, --# modify and/ or redistribute the software under the terms of the CeCILL-B --# license as circulated by CEA, CNRS and INRIA at the following URL --# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html --# or in the file LICENSE.txt. --# --# As a counterpart to the access to the source code and rights to copy, --# modify and redistribute granted by the license, users are provided only --# with a limited warranty and the software's author, the holder of the --# economic rights, and the successive licensors have only limited --# liability. --# --# The fact that you are presently reading this means that you have had --# knowledge of the CeCILL-B license and that you accept its terms. --# ------------------------------------------------------------------------ */ ++ # ++ # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image ++ # pour la Sant�) ++ # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton ++ # Previous Authors : Laurent Guigues, Jean-Pierre Roux ++ # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil ++ # ++ # This software is governed by the CeCILL-B license under French law and ++ # abiding by the rules of distribution of free software. You can use, ++ # modify and/ or redistribute the software under the terms of the CeCILL-B ++ # license as circulated by CEA, CNRS and INRIA at the following URL ++ # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html ++ # or in the file LICENSE.txt. ++ # ++ # As a counterpart to the access to the source code and rights to copy, ++ # modify and redistribute granted by the license, users are provided only ++ # with a limited warranty and the software's author, the holder of the ++ # economic rights, and the successive licensors have only limited ++ # liability. ++ # ++ # The fact that you are presently reading this means that you have had ++ # knowledge of the CeCILL-B license and that you accept its terms. ++ # ------------------------------------------------------------------------ */ /*! * @file buttonGroupFactory.h @@@ -79,26 -79,26 +79,26 @@@ namespace creaButtonContaine /*! @typedef std::list< ButtonGroup* > ButtonGroupContainer; * @brief Defines the ButtonGroupContainer type. */ -- typedef std::list< ButtonGroup* > ButtonGroupContainer; ++ typedef std::list ButtonGroupContainer; // ---------------------------------------------------------------------------------- /*! @typedef std::map< long, Button* > ButtonContainer; * @brief Defines the ButtonContainer type. */ -- typedef std::map< long, Button* > ButtonContainer; ++ typedef std::map 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,10 +107,9 @@@ * @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 -120,9 +119,9 @@@ * @return ButtonContainer The wx button container. */ ButtonContainer -- GetButtons( wxWindow* parent, ButtonList buttonModel ); ++ GetButtons(wxWindow* parent, ButtonList buttonModel); }; -- }//ecapseman --}//ecapseman ++ } //ecapseman ++} //ecapseman #endif // CARTOBUTTONFACTORY_H diff --cc lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/containerSettings.cxx index 45d2932,45d2932..0b6b21c --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/containerSettings.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/containerSettings.cxx @@@ -1,27 -1,27 +1,27 @@@ /*# --------------------------------------------------------------------- --# --# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image --# pour la Sant�) --# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton --# Previous Authors : Laurent Guigues, Jean-Pierre Roux --# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil --# --# This software is governed by the CeCILL-B license under French law and --# abiding by the rules of distribution of free software. You can use, --# modify and/ or redistribute the software under the terms of the CeCILL-B --# license as circulated by CEA, CNRS and INRIA at the following URL --# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html --# or in the file LICENSE.txt. --# --# As a counterpart to the access to the source code and rights to copy, --# modify and redistribute granted by the license, users are provided only --# with a limited warranty and the software's author, the holder of the --# economic rights, and the successive licensors have only limited --# liability. --# --# The fact that you are presently reading this means that you have had --# knowledge of the CeCILL-B license and that you accept its terms. --# ------------------------------------------------------------------------ */ ++ # ++ # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image ++ # pour la Sant�) ++ # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton ++ # Previous Authors : Laurent Guigues, Jean-Pierre Roux ++ # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil ++ # ++ # This software is governed by the CeCILL-B license under French law and ++ # abiding by the rules of distribution of free software. You can use, ++ # modify and/ or redistribute the software under the terms of the CeCILL-B ++ # license as circulated by CEA, CNRS and INRIA at the following URL ++ # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html ++ # or in the file LICENSE.txt. ++ # ++ # As a counterpart to the access to the source code and rights to copy, ++ # modify and redistribute granted by the license, users are provided only ++ # with a limited warranty and the software's author, the holder of the ++ # economic rights, and the successive licensors have only limited ++ # liability. ++ # ++ # The fact that you are presently reading this means that you have had ++ # knowledge of the CeCILL-B license and that you accept its terms. ++ # ------------------------------------------------------------------------ */ /*! * @file containerSettings.cxx @@@ -37,134 -37,134 +37,118 @@@ namespace creaButtonContaine namespace model { // ---------------------------------------------------------------------------------- -- ContainerSettings::ContainerSettings( ) ++ ContainerSettings::ContainerSettings() { } // ---------------------------------------------------------------------------------- -- ContainerSettings::~ContainerSettings( ) ++ ContainerSettings::~ContainerSettings() { } -- ++ // ---------------------------------------------------------------------------------- -- ButtonGroupMap -- ContainerSettings::GetButtonGroupContainer( ) ++ ButtonGroupMap ContainerSettings::GetButtonGroupContainer() { -- std::cout<< "MLER | ContainerSettings::GetButtonGroupContainer( )" << std::endl; -- return ( this->m_ButtonGroupContainer ); ++ return (this->m_ButtonGroupContainer); } // ---------------------------------------------------------------------------------- -- KeyMapList -- ContainerSettings::GetGroupNameList( ) ++ KeyMapList ContainerSettings::GetGroupNameList() { -- std::cout<< "MLER | ContainerSettings::GetGroupNameList( )" << std::endl; -- return ( this->m_GroupNameList ); ++ return (this->m_GroupNameList); } -- ++ // ---------------------------------------------------------------------------------- -- void -- ContainerSettings::SetButtonGroupContainer(ButtonGroupMap bgContainer) ++ void ContainerSettings::SetButtonGroupContainer(ButtonGroupMap bgContainer) { -- std::cout<< "MLER | ContainerSettings:: SetButtonGroupContainer(ButtonGroupMap bgContainer)" << std::endl; this->m_ButtonGroupContainer = bgContainer; } // ---------------------------------------------------------------------------------- -- void -- ContainerSettings::SetGroupNameList( KeyMapList gNameList ) ++ void ContainerSettings::SetGroupNameList(KeyMapList gNameList) { -- std::cout<< "MLER | ContainerSettings::SetGroupNameList" << std::endl; this->m_GroupNameList = gNameList; } -- -- // ---------------------------------------------------------------------------------- -- ++ // ---------------------------------------------------------------------------------- -- void -- ContainerSettings::AddButton( const StringType & groupName, -- const StringType &buttonName, const wxBitmap &icon, -- const StringType &buttonDescription, FunctionEventType event ) ++ void ContainerSettings::AddButton(const StringType & groupName, ++ const StringType &buttonName, const wxBitmap &icon, ++ const StringType &buttonDescription, FunctionEventType event) { -- std::cout<< "MLER | ContainerSettings::AddButton( const StringType & groupName," << std::endl; -- ButtonPair* pair = new ButtonPair( -- new ButtonInfo( buttonName, icon ), -- new ButtonAction( buttonDescription, event ) ); ++ ButtonPair* pair = new ButtonPair(new ButtonInfo(buttonName, icon), ++ new ButtonAction(buttonDescription, event)); try { -- for( KeyMapList::iterator it = this->m_GroupNameList.begin( ); it -- != this->m_GroupNameList.end( ); ++it ) ++ for (KeyMapList::iterator it = this->m_GroupNameList.begin(); ++ it != this->m_GroupNameList.end(); ++it) { -- if ( ( *it ).compare( groupName ) == 0 ) ++ if ((*it).compare(groupName) == 0) { -- std::cout<<"MLER ContainerSettings // AddButton : it "<<*it <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 diff --cc lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/containerSettings.h index 1d17c2a,05c326f..2e359a2 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/containerSettings.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/containerSettings.h @@@ -35,7 -35,7 +35,6 @@@ #include #include --//EED-MLER #include #include "structBCSettings.h" #include "system.h" @@@ -163,7 -160,7 +159,6 @@@ namespace creaButtonContaine ButtonGroupMap m_ButtonGroupContainer; //! -- 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 ++ TConcreteFunctor::TConcreteFunctor(TClass* _pt2Object, ++ void (TClass::*_fpt)(const ButtonIDType &buttonName)) ++ { ++ this->pt2Object = _pt2Object; ++ this->fpt = _fpt; ++ } ++ // ------------------------------------------------------------------------------- ++ // override operator "()" // execute member functions ++ template ++ void TConcreteFunctor::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 ++ void TConcreteFunctor::Call(const ButtonIDType &buttonName) ++ { ++ try ++ { ++ (*pt2Object.*fpt)(buttonName); ++ } //yrt ++ catch (const std::exception& e) ++ { ++ std::cerr ++ << "TConcreteFunctor< TClass >::Call( const ButtonIDType &buttonName )" ++ << " exception: " << e.what() << std::endl; ++ } //hctac ++ } ++ } //ecapseman ++} //ecapseman diff --cc lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/listGroupFactory.cxx index 91df61b,91df61b..0000000 deleted file mode 100644,100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/listGroupFactory.cxx +++ /dev/null @@@ -1,94 -1,94 +1,0 @@@ --/*# --------------------------------------------------------------------- --# --# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image --# pour la Sant�) --# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton --# Previous Authors : Laurent Guigues, Jean-Pierre Roux --# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil --# --# This software is governed by the CeCILL-B license under French law and --# abiding by the rules of distribution of free software. You can use, --# modify and/ or redistribute the software under the terms of the CeCILL-B --# license as circulated by CEA, CNRS and INRIA at the following URL --# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html --# or in the file LICENSE.txt. --# --# As a counterpart to the access to the source code and rights to copy, --# modify and redistribute granted by the license, users are provided only --# with a limited warranty and the software's author, the holder of the --# economic rights, and the successive licensors have only limited --# liability. --# --# The fact that you are presently reading this means that you have had --# knowledge of the CeCILL-B license and that you accept its terms. --# ------------------------------------------------------------------------ */ -- -- --/*#include "listGroupFactory.h" -- --namespace creaButtonContainer --{ -- namespace model -- { -- // ---------------------------------------------------------------------------------- -- ListGroupFactory::ListGroupFactory( ) -- { -- } -- // ---------------------------------------------------------------------------------- -- ListGroupFactory::~ListGroupFactory( ) -- { -- } -- -- // ---------------------------------------------------------------------------------- -- ListGroupFactory::ButtonGroupContainer ListGroupFactory::CreateButtonGroupContainer( wxWindow* parent, ButtonGroupModel* settings ) -- { -- ButtonGroupContainer groupView; -- try -- { -- std::cout<< std::endl << " MLER listGroupFactory.cxx / CreateButtonGroupContainer(): " << std::endl; -- ButtonGroupMap map = settings->GetButtonGroupContainer( ); -- for( ButtonGroupMap::iterator it = map.begin( ); it != map.end( ); ++it ) -- { -- wxString groupNameAux( ( *it ).first.c_str( ), wxConvUTF8 ); -- wxStaticText* wxGroupName = new wxStaticText( parent, -1, groupNameAux, wxDefaultPosition, wxDefaultSize, 0, _T("GroupText") ); -- ButtonGroup* group = new ButtonGroup( wxGroupName, this->GetButtons( parent, ( *it ).second ) ); -- groupView.push_back( group ); -- }//rof -- }//yrt -- catch ( const std::exception& e ) -- { -- std::cerr -- << "ButtonGroupFactory::CreateButtonGroupContainer( wxWindow* parent, ButtonGroupModel* settings )" -- << " exception: " << e.what( ) << std::endl; -- }//chtac -- return ( groupView ); -- } -- -- -- // ---------------------------------------------------------------------------------- -- ListGroupFactory::ButtonContainer ListGroupFactory::GetButtons( wxWindow* parent, ButtonList buttonModel ) -- { -- ButtonContainer buttonList; -- try -- { -- for( ButtonList::iterator it = buttonModel.begin( ); it -- != buttonModel.end( ); ++it ) -- { -- long id = wxNewId( ); -- buttonList[ id ] = new Button( parent, id, *it ); -- } -- } -- catch ( const std::exception& e ) -- { -- std::cerr -- << "ButtonGroupFactory::GetButtons( wxWindow* parent, ButtonList buttonModel )" -- << "exception: " << e.what( ) << std::endl; -- }//chtac -- -- return ( buttonList ); // JPR -- } -- // ---------------------------------------------------------------------------------- -- }//ecapseman --}//ecapseman*/ -- -- diff --cc lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/listGroupFactory.h index aece2e4,aece2e4..0000000 deleted file mode 100644,100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/listGroupFactory.h +++ /dev/null @@@ -1,82 -1,82 +1,0 @@@ --/*# --------------------------------------------------------------------- --# --# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image --# pour la Sant�) --# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton --# Previous Authors : Laurent Guigues, Jean-Pierre Roux --# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil --# --# This software is governed by the CeCILL-B license under French law and --# abiding by the rules of distribution of free software. You can use, --# modify and/ or redistribute the software under the terms of the CeCILL-B --# license as circulated by CEA, CNRS and INRIA at the following URL --# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html --# or in the file LICENSE.txt. --# --# As a counterpart to the access to the source code and rights to copy, --# modify and redistribute granted by the license, users are provided only --# with a limited warranty and the software's author, the holder of the --# economic rights, and the successive licensors have only limited --# liability. --# --# The fact that you are presently reading this means that you have had --# knowledge of the CeCILL-B license and that you accept its terms. --# ------------------------------------------------------------------------ */ -- --/*#ifndef LISTGROUPFACTORY_H --#define LISTGROUPFACTORY_H -- --#include -- --#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*/ diff --cc lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/structBCSettings.h index de3a304,de3a304..033f29b --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/structBCSettings.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/structBCSettings.h @@@ -1,27 -1,27 +1,27 @@@ /*# --------------------------------------------------------------------- --# --# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image --# pour la Sant�) --# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton --# Previous Authors : Laurent Guigues, Jean-Pierre Roux --# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil --# --# This software is governed by the CeCILL-B license under French law and --# abiding by the rules of distribution of free software. You can use, --# modify and/ or redistribute the software under the terms of the CeCILL-B --# license as circulated by CEA, CNRS and INRIA at the following URL --# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html --# or in the file LICENSE.txt. --# --# As a counterpart to the access to the source code and rights to copy, --# modify and redistribute granted by the license, users are provided only --# with a limited warranty and the software's author, the holder of the --# economic rights, and the successive licensors have only limited --# liability. --# --# The fact that you are presently reading this means that you have had --# knowledge of the CeCILL-B license and that you accept its terms. --# ------------------------------------------------------------------------ */ ++ # ++ # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image ++ # pour la Sant�) ++ # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton ++ # Previous Authors : Laurent Guigues, Jean-Pierre Roux ++ # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil ++ # ++ # This software is governed by the CeCILL-B license under French law and ++ # abiding by the rules of distribution of free software. You can use, ++ # modify and/ or redistribute the software under the terms of the CeCILL-B ++ # license as circulated by CEA, CNRS and INRIA at the following URL ++ # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html ++ # or in the file LICENSE.txt. ++ # ++ # As a counterpart to the access to the source code and rights to copy, ++ # modify and redistribute granted by the license, users are provided only ++ # with a limited warranty and the software's author, the holder of the ++ # economic rights, and the successive licensors have only limited ++ # liability. ++ # ++ # The fact that you are presently reading this means that you have had ++ # knowledge of the CeCILL-B license and that you accept its terms. ++ # ------------------------------------------------------------------------ */ /*! * @file structBCSettings.h @@@ -56,11 -56,11 +56,8 @@@ namespace creaButtonContaine StringType iconpath; //! -- StringType itemsList; }; } //ecapseman } //ecapseman diff --cc lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/button.cxx index 7c81882,7c81882..69d72c1 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/button.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/button.cxx @@@ -39,8 -39,8 +39,6 @@@ namespace creaButtonContaine // ---------------------------------------------------------------------------------- Button::Button( wxWindow* parent, long id, ButtonPair* pair ) { -- std::cout<< "MLER | Button::Button()" << std::endl; -- this->m_ButtonPair = pair; StringType wXbuttonName = this->m_ButtonPair->first->first; BitmapType wXicon = this->m_ButtonPair->first->second; @@@ -63,7 -63,7 +61,6 @@@ StringType Button::GetButtonName( ) { -- std::cout<< "MLER | Button::GetButtonName( )" << std::endl; return ( this->m_ButtonPair->first->first ); } @@@ -71,7 -71,7 +68,6 @@@ BitmapType Button::GetIcon( ) { -- std::cout<< "MLER | Button::GetIcon( )" << std::endl; return ( this->m_ButtonPair->first->second ); } @@@ -86,7 -86,7 +82,6 @@@ StringType Button::GetDescription( ) { -- std::cout<< "MLER | Button::GetDescription( )" << std::endl; return ( this->m_ButtonPair->second->first ); } @@@ -94,14 -94,14 +89,12 @@@ 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 <SetButtonGroupContainer( factory.CreateButtonGroupContainer( this, settings ) ); - std::cout<< std::endl << " MLER buttonContainerPanel.cxx / ButtonContainerPanel() :: type " << type<SetButtonGroupContainer( factory.CreateButtonGroupContainer( this, settings ) ); - break; - //case 1: - //this->SetListGroupContainer(listFactory.CreateButtonGroupContainer( this, settings ) ); - // MLER Verificar ButtonGroupList contra ListGroupList - //break; - default: - this->SetButtonGroupContainer(factory.CreateButtonGroupContainer( this, settings ) ); - } - + this->SetButtonGroupContainer( factory.CreateButtonGroupContainer( this, settings ) ); - this->PanelInit(type ); - + this->PanelInit( ); this->m_ButtonCController = new BCController( this ); this->m_ButtonCController->AddEvents( ); this->SetEventHandler( this->m_ButtonCController ); } -- ++ // ---------------------------------------------------------------------------------- -- ButtonContainerPanel::~ButtonContainerPanel( ) ++ ButtonContainerPanel::~ButtonContainerPanel() { } -- ++ // ---------------------------------------------------------------------------------- -- void ButtonContainerPanel::SetButtonGroupContainer(ButtonGroupList groupContainer ) ++ void ButtonContainerPanel::SetButtonGroupContainer( ++ ButtonGroupList groupContainer) { -- std::cout<< "MLER | ButtonContainerPanel::SetButtonGroupContainer()" << std::endl; ++ this->m_ButtonGroupList = groupContainer; } ++ // ---------------------------------------------------------------------------------- -- /*void ButtonContainerPanel::SetListGroupContainer(ListGroupList groupContainer ) -- { -- this->m_ListGroupList = groupContainer; -- }*/ -- -- // ---------------------------------------------------------------------------------- - void ButtonContainerPanel::PanelInit( int type ) - void ButtonContainerPanel::PanelInit( ) ++ void ButtonContainerPanel::PanelInit() { - std::cout<< "MLER | ButtonContainerPanel::PanelInit( int type )" << std::endl; - std::cout<< "MLER | ButtonContainerPanel::PanelInit( )" << std::endl; try { -- ++ // EED 20/01/2012 flag 01 -- this->m_Sizer = new Sizer( 0, 1, 0, 0 ); - std::cout << " MLER buttonContainerPanel.cxx / Panel Init() :: type " << type << std::endl; ++ this->m_Sizer = new Sizer(0, 1, 0, 0); - if(type == 0) - for( ButtonGroupList::iterator it = this->m_ButtonGroupList.begin( ); it != this->m_ButtonGroupList.end( ); ++it ) - { - GroupManager* manager = new GroupManager( this, *it ); - this->m_GroupManagerList[ manager->GetButtonID( ) ] = manager; - this->m_Sizer->Add( manager, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 ); - } ++ for (ButtonGroupList::iterator it = this->m_ButtonGroupList.begin(); ++ it != this->m_ButtonGroupList.end(); ++it) + { - for( ButtonGroupList::iterator it = this->m_ButtonGroupList.begin( ); it != this->m_ButtonGroupList.end( ); ++it ) - { - GroupManager* manager = new GroupManager( this, *it ); - this->m_GroupManagerList[ manager->GetButtonID( ) ] = manager; - this->m_Sizer->Add( manager, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 ); - } ++ GroupManager* manager = new GroupManager(this, *it); ++ this->m_GroupManagerList[manager->GetButtonID()] = manager; ++ this->m_Sizer->Add(manager, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5); + } - /*else - { - for(ListGroupList::iterator it1 = this->m_ListGroupList.begin(); it1 != this->m_ListGroupList.end(); ++it1) - { - GroupManager* manager = new GroupManager( this, *it1); - this->m_GroupManagerList[ manager->GetButtonID( ) ] = manager; - this->m_Sizer->Add( manager, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 ); - } - }//MLER*/ -- this->SetSizer( this->m_Sizer ); -- this->Layout( ); -- this->FitSizer( ); -- }//yrt -- catch ( const std::exception& e ) ++ this->SetSizer(this->m_Sizer); ++ this->Layout(); ++ this->FitSizer(); ++ } //yrt ++ catch (const std::exception& e) { std::cerr << "ButtonContainerPanel::PanelInit( ) " << "exception: " -- << e.what( ) << std::endl; -- }//hctac ++ << e.what() << std::endl; ++ } //hctac } -- ++ // ---------------------------------------------------------------------------------- -- void ButtonContainerPanel::FitSizer( ) ++ void ButtonContainerPanel::FitSizer() { -- std::cout<< "MLER | ButtonContainerPanel::FitSizer( )" << std::endl; -- this->m_Sizer->Fit( this ); -- this->m_Sizer->FitInside( this ); -- this->SetScrollRate( 20, 20 ); -- this->m_Sizer->SetSizeHints( this ); ++ this->m_Sizer->Fit(this); ++ this->m_Sizer->FitInside(this); ++ this->SetScrollRate(20, 20); ++ this->m_Sizer->SetSizeHints(this); } // ---------------------------------------------------------------------------------- }//ecapseman --}//ecapseman ++} //ecapseman diff --cc lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonContainerPanel.h index 5e14541,f16da5e..86dd513 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonContainerPanel.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonContainerPanel.h @@@ -1,27 -1,27 +1,27 @@@ /*# --------------------------------------------------------------------- --# --# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image --# pour la Sant�) --# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton --# Previous Authors : Laurent Guigues, Jean-Pierre Roux --# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil --# --# This software is governed by the CeCILL-B license under French law and --# abiding by the rules of distribution of free software. You can use, --# modify and/ or redistribute the software under the terms of the CeCILL-B --# license as circulated by CEA, CNRS and INRIA at the following URL --# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html --# or in the file LICENSE.txt. --# --# As a counterpart to the access to the source code and rights to copy, --# modify and redistribute granted by the license, users are provided only --# with a limited warranty and the software's author, the holder of the --# economic rights, and the successive licensors have only limited --# liability. --# --# The fact that you are presently reading this means that you have had --# knowledge of the CeCILL-B license and that you accept its terms. --# ------------------------------------------------------------------------ */ ++ # ++ # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image ++ # pour la Sant�) ++ # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton ++ # Previous Authors : Laurent Guigues, Jean-Pierre Roux ++ # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil ++ # ++ # This software is governed by the CeCILL-B license under French law and ++ # abiding by the rules of distribution of free software. You can use, ++ # modify and/ or redistribute the software under the terms of the CeCILL-B ++ # license as circulated by CEA, CNRS and INRIA at the following URL ++ # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html ++ # or in the file LICENSE.txt. ++ # ++ # As a counterpart to the access to the source code and rights to copy, ++ # modify and redistribute granted by the license, users are provided only ++ # with a limited warranty and the software's author, the holder of the ++ # economic rights, and the successive licensors have only limited ++ # liability. ++ # ++ # The fact that you are presently reading this means that you have had ++ # knowledge of the CeCILL-B license and that you accept its terms. ++ # ------------------------------------------------------------------------ */ /*! * @file buttonContainerController.h @@@ -46,8 -46,8 +46,6 @@@ #include "buttonGroupFactory.h" #include "containerSettings.h" #include "buttonContainerController.h" --//EED-MLER #include "listGroup.h" --//EED-MLER #include "listGroupFactory.h" /*! @namespace * @brief Contains the creaButtonContainer library included in creaMaracasVisu. @@@ -80,7 -80,7 +78,7 @@@ namespace creaButtonContaine * @bug The scrolled it doesn't work! (to be changed soon) * @see wxScrolledWindow */ -- class ButtonContainerPanel : public wxScrolledWindow ++ class ButtonContainerPanel: public wxScrolledWindow { public: //typedef definition @@@ -98,12 -98,12 +96,12 @@@ /*! @typedef std::list< ButtonGroup* > ButtonGroupList; * @brief Defines the ButtonGroupList type. */ -- typedef std::list< ButtonGroup* > ButtonGroupList; ++ typedef std::list ButtonGroupList; // ---------------------------------------------------------------------------------- /*! @typedef std::map< long, GroupManager* > GroupManagerList; * @brief Defines the GroupManagerList type. */ -- typedef std::map< long, GroupManager* > GroupManagerList; ++ typedef std::map GroupManagerList; // ---------------------------------------------------------------------------------- /*! @typedef wxFlexGridSizer Sizer; * @brief Defines the Sizer type. @@@ -113,35 -113,35 +111,22 @@@ /*! @typedef std::list< long > KeyList; * @brief Defines the KeyList type. */ -- typedef std::list< long > KeyList; ++ typedef std::list 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 -151,27 +136,27 @@@ * @param parent wxWindow pointer to parent. * @param settings ButtonGroupSettings Pointer to button container settings. */ - ButtonContainerPanel( wxWindow* parent, ButtonGroupSettings* settings, int type ); - ButtonContainerPanel( wxWindow* parent, ButtonGroupSettings* settings); ++ ButtonContainerPanel(wxWindow* parent, ButtonGroupSettings* settings); // ---------------------------------------------------------------------------------- /*! @fn ~ButtonContainerPanel( ); * @brief This is the destructor. */ virtual -- ~ButtonContainerPanel( ); ++ ~ButtonContainerPanel(); // ---------------------------------------------------------------------------------- /*! @fn SetGroupContainer( ButtonGroupList groupContainer ); * @brief This method sets the settings to the container. * @param groupContainer */ void -- SetButtonGroupContainer( ButtonGroupList groupContainer ); ++ SetButtonGroupContainer(ButtonGroupList groupContainer); // ---------------------------------------------------------------------------------- /*! @fn PanelInit( ); * This method initializes the panel. * @exception std::bad_alloc */ void - PanelInit( int type); - PanelInit( ); ++ PanelInit(); // ---------------------------------------------------------------------------------- //void @@@ -181,22 -181,22 +166,20 @@@ * This method fits and organizes the sizer. */ void -- FitSizer( ); ++ FitSizer(); // ---------------------------------------------------------------------------------- public: friend class creaButtonContainer::controller::ButtonContainerController; private: -- GroupManagerList m_GroupManagerList; //!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 diff --cc lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonManager.cxx index 4454d0c,4454d0c..952cb65 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonManager.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonManager.cxx @@@ -1,27 -1,27 +1,27 @@@ /*# --------------------------------------------------------------------- --# --# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image --# pour la Sant�) --# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton --# Previous Authors : Laurent Guigues, Jean-Pierre Roux --# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil --# --# This software is governed by the CeCILL-B license under French law and --# abiding by the rules of distribution of free software. You can use, --# modify and/ or redistribute the software under the terms of the CeCILL-B --# license as circulated by CEA, CNRS and INRIA at the following URL --# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html --# or in the file LICENSE.txt. --# --# As a counterpart to the access to the source code and rights to copy, --# modify and redistribute granted by the license, users are provided only --# with a limited warranty and the software's author, the holder of the --# economic rights, and the successive licensors have only limited --# liability. --# --# The fact that you are presently reading this means that you have had --# knowledge of the CeCILL-B license and that you accept its terms. --# ------------------------------------------------------------------------ */ ++ # ++ # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image ++ # pour la Sant�) ++ # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton ++ # Previous Authors : Laurent Guigues, Jean-Pierre Roux ++ # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil ++ # ++ # This software is governed by the CeCILL-B license under French law and ++ # abiding by the rules of distribution of free software. You can use, ++ # modify and/ or redistribute the software under the terms of the CeCILL-B ++ # license as circulated by CEA, CNRS and INRIA at the following URL ++ # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html ++ # or in the file LICENSE.txt. ++ # ++ # As a counterpart to the access to the source code and rights to copy, ++ # modify and redistribute granted by the license, users are provided only ++ # with a limited warranty and the software's author, the holder of the ++ # economic rights, and the successive licensors have only limited ++ # liability. ++ # ++ # The fact that you are presently reading this means that you have had ++ # knowledge of the CeCILL-B license and that you accept its terms. ++ # ------------------------------------------------------------------------ */ /*! * @file buttonManager.cxx @@@ -37,121 -37,121 +37,74 @@@ namespace creaButtonContaine namespace view { // ---------------------------------------------------------------------------------- -- ButtonManager::ButtonManager( ) : -- wxFlexGridSizer( 0, 1, 0, 0 ) ++ ButtonManager::ButtonManager() ++ : wxFlexGridSizer(0, 1, 0, 0) { -- std::cout<< "MLER | ButtonManager::ButtonManager( )" << std::endl; } -- ++ //EED 20/01/2012 Flag03 // ---------------------------------------------------------------------------------- -- ButtonManager::ButtonManager( ButtonGroup* buttonGroup ) : -- wxFlexGridSizer( 0, 1, 0, 0 ) ++ ButtonManager::ButtonManager(ButtonGroup* buttonGroup) ++ : wxFlexGridSizer(0, 1, 0, 0) { try { -- std::cout<< "MLER | ButtonManager::ButtonManager( ButtonGroup* buttonGroup )" << std::endl; -- this->SetGroupName( buttonGroup->GetGroupName( ) ); -- this->SetButtonManager( buttonGroup->GetButtonContainer( ) ); -- }//yrt -- catch ( const std::exception& e ) ++ this->SetGroupName(buttonGroup->GetGroupName()); ++ this->SetButtonManager(buttonGroup->GetButtonContainer()); ++ } //yrt ++ catch (const std::exception& e) { -- std::cerr << "Button::Execute( ) exception: " << e.what( ) << std::endl; -- }//hctac ++ std::cerr << "Button::Execute( ) exception: " << e.what() << std::endl; ++ } //hctac } ++ // ---------------------------------------------------------------------------------- -- //MLER -- /*ButtonManager::ButtonManager (ListGroup* buttonGroup): -- wxFlexGridSizer( 0, 1, 0, 0 ) -- { -- try -- { -- std::cout << " MLER buttonManager.cxx / ButtonManager(ListGroup* buttonGroup) " << std::endl; -- this->SetGroupName( buttonGroup->GetGroupName( ) ); -- this->SetListManager(buttonGroup->GetButtonContainer( ) ); -- }//yrt -- catch ( const std::exception& e ) -- { -- std::cerr << "Button::Execute( ) exception: " << e.what( ) << std::endl; -- }//hctac -- }*/ -- // ---------------------------------------------------------------------------------- -- ButtonManager::~ButtonManager( ) ++ ButtonManager::~ButtonManager() { } -- ++ // ---------------------------------------------------------------------------------- -- void ButtonManager::SetGroupName( wxStaticText* groupName ) ++ void ButtonManager::SetGroupName(wxStaticText* groupName) { -- std::cout<< "MLER | ButtonManager::SetGroupName( wxStaticText* groupName )" << std::endl; this->m_GroupName = groupName; -- this->Add( this->m_GroupName, -1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 ); ++ this->Add(this->m_GroupName, -1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5); } -- ++ // ---------------------------------------------------------------------------------- -- void ButtonManager::SetButtonManager( ButtonContainer buttonContainer ) ++ void ButtonManager::SetButtonManager(ButtonContainer buttonContainer) { -- std::cout<< "MLER | ButtonManager::SetButtonManager( ButtonContainer buttonContainer )" << std::endl; try { -- if ( this->m_GroupName != NULL ) ++ if (this->m_GroupName != NULL) { -- this->m_GridSizer = new wxGridSizer( 0, 3, 0, 0 ); -- for( ButtonContainer::iterator it = buttonContainer.begin( ); it!= buttonContainer.end( ); ++it ) ++ this->m_GridSizer = new wxGridSizer(0, 3, 0, 0); ++ for (ButtonContainer::iterator it = buttonContainer.begin(); ++ it != buttonContainer.end(); ++it) { -- this->m_GridSizer->Add( ( *it ).second, -1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 ); ++ this->m_GridSizer->Add((*it).second, -1, ++ wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5); } -- this->Add( m_GridSizer, -1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 ); -- }//fi -- }//yrt -- catch ( const std::exception& e ) ++ this->Add(m_GridSizer, -1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5); ++ } //fi ++ } //yrt ++ catch (const std::exception& e) { std::cerr -- << "ButtonManager::SetButtonManager( ButtonContainer buttonContainer )" -- << "exception: " << e.what( ) << std::endl; -- }//hctac ++ << "ButtonManager::SetButtonManager( ButtonContainer buttonContainer )" ++ << "exception: " << e.what() << std::endl; ++ } //hctac } // ---------------------------------------------------------------------------------- -- /*void ButtonManager::SetListManager(ListContainer buttonContainer ) -- { -- try -- { -- if ( this->m_GroupName != NULL ) -- { -- this->m_GridSizer = new wxGridSizer( 0, 3, 0, 0 ); -- for( ListContainer::iterator it = buttonContainer.begin( ); it!= buttonContainer.end( ); ++it ) -- { -- this->m_GridSizer->Add( ( *it ).second, -1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 ); -- } -- this->Add( m_GridSizer, -1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 ); -- }//fi -- }//yrt -- catch ( const std::exception& e ) -- { -- std::cerr -- << "ButtonManager::SetButtonManager( ButtonContainer buttonContainer )" -- << "exception: " << e.what( ) << std::endl; -- }//hctac -- }*/ -- // ---------------------------------------------------------------------------------- -- -- -- -- -- void -- ButtonManager::ShowButtonManager( ) ++ void ButtonManager::ShowButtonManager() { -- std::cout<< "MLER | ButtonManager::ShowButtonManager( )" << std::endl; -- this->Show( this->m_GridSizer, true, false ); ++ this->Show(this->m_GridSizer, true, false); } // ---------------------------------------------------------------------------------- -- void -- ButtonManager::HideButtonManager( ) ++ void ButtonManager::HideButtonManager() { -- std::cout<< "MLER | ButtonManager::HideButtonManager( )" << std::endl; -- this->Show( this->m_GridSizer, false, false ); ++ this->Show(this->m_GridSizer, false, false); } // ---------------------------------------------------------------------------------- }//ecapseman --}//ecapseman ++} //ecapseman diff --cc lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonManager.h index 7edb9bc,7edb9bc..57c105f --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonManager.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonManager.h @@@ -1,27 -1,27 +1,27 @@@ /*# --------------------------------------------------------------------- --# --# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image --# pour la Sant�) --# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton --# Previous Authors : Laurent Guigues, Jean-Pierre Roux --# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil --# --# This software is governed by the CeCILL-B license under French law and --# abiding by the rules of distribution of free software. You can use, --# modify and/ or redistribute the software under the terms of the CeCILL-B --# license as circulated by CEA, CNRS and INRIA at the following URL --# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html --# or in the file LICENSE.txt. --# --# As a counterpart to the access to the source code and rights to copy, --# modify and redistribute granted by the license, users are provided only --# with a limited warranty and the software's author, the holder of the --# economic rights, and the successive licensors have only limited --# liability. --# --# The fact that you are presently reading this means that you have had --# knowledge of the CeCILL-B license and that you accept its terms. --# ------------------------------------------------------------------------ */ ++ # ++ # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image ++ # pour la Sant�) ++ # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton ++ # Previous Authors : Laurent Guigues, Jean-Pierre Roux ++ # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil ++ # ++ # This software is governed by the CeCILL-B license under French law and ++ # abiding by the rules of distribution of free software. You can use, ++ # modify and/ or redistribute the software under the terms of the CeCILL-B ++ # license as circulated by CEA, CNRS and INRIA at the following URL ++ # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html ++ # or in the file LICENSE.txt. ++ # ++ # As a counterpart to the access to the source code and rights to copy, ++ # modify and redistribute granted by the license, users are provided only ++ # with a limited warranty and the software's author, the holder of the ++ # economic rights, and the successive licensors have only limited ++ # liability. ++ # ++ # The fact that you are presently reading this means that you have had ++ # knowledge of the CeCILL-B license and that you accept its terms. ++ # ------------------------------------------------------------------------ */ /*! * @file buttonManager.h @@@ -43,8 -43,8 +43,6 @@@ #include "button.h" #include "buttonGroup.h" --#include "listWx.h" --#include "listGroup.h" /*! @namespace * @brief Contains the creaButtonContainer library included in creaMaracasVisu. @@@ -62,7 -62,7 +60,7 @@@ namespace creaButtonContaine * @details This class describes a wxFlexGridSizer with the button manager. * @see wxFlexGridSizer */ -- class ButtonManager : public wxFlexGridSizer ++ class ButtonManager: public wxFlexGridSizer { public: //typedef definition. @@@ -80,11 -80,11 +78,8 @@@ /*! @typedef std::map< long, Button* > ButtonContainer; * @brief Defines the ButtonContainer type. */ -- typedef std::map< long, Button* > ButtonContainer; ++ typedef std::map ButtonContainer; // ---------------------------------------------------------------------------------- -- //MLER -- //typedef creaButtonContainer::view::ListGroup ListGroup; -- //typedef std::map ListContainer; //end of typedef definition. public: @@@ -93,44 -93,44 +88,42 @@@ * @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 -139,19 +132,14 @@@ * @param buttonContainer */ void -- SetButtonManager( ButtonContainer buttonContainer ); ++ SetButtonManager(ButtonContainer buttonContainer); // ---------------------------------------------------------------------------------- -- //MLER -- /*void -- SetListManager( ListContainer buttonContainer );*/ -- // ---------------------------------------------------------------------------------- -- private: wxStaticText* m_GroupName; //!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 diff --cc lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/groupManager.h index ab69ab4,ab69ab4..7c9539d --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/groupManager.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/groupManager.h @@@ -1,27 -1,27 +1,27 @@@ /*# --------------------------------------------------------------------- --# --# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image --# pour la Sant�) --# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton --# Previous Authors : Laurent Guigues, Jean-Pierre Roux --# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil --# --# This software is governed by the CeCILL-B license under French law and --# abiding by the rules of distribution of free software. You can use, --# modify and/ or redistribute the software under the terms of the CeCILL-B --# license as circulated by CEA, CNRS and INRIA at the following URL --# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html --# or in the file LICENSE.txt. --# --# As a counterpart to the access to the source code and rights to copy, --# modify and redistribute granted by the license, users are provided only --# with a limited warranty and the software's author, the holder of the --# economic rights, and the successive licensors have only limited --# liability. --# --# The fact that you are presently reading this means that you have had --# knowledge of the CeCILL-B license and that you accept its terms. --# ------------------------------------------------------------------------ */ ++ # ++ # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image ++ # pour la Sant�) ++ # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton ++ # Previous Authors : Laurent Guigues, Jean-Pierre Roux ++ # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil ++ # ++ # This software is governed by the CeCILL-B license under French law and ++ # abiding by the rules of distribution of free software. You can use, ++ # modify and/ or redistribute the software under the terms of the CeCILL-B ++ # license as circulated by CEA, CNRS and INRIA at the following URL ++ # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html ++ # or in the file LICENSE.txt. ++ # ++ # As a counterpart to the access to the source code and rights to copy, ++ # modify and redistribute granted by the license, users are provided only ++ # with a limited warranty and the software's author, the holder of the ++ # economic rights, and the successive licensors have only limited ++ # liability. ++ # ++ # The fact that you are presently reading this means that you have had ++ # knowledge of the CeCILL-B license and that you accept its terms. ++ # ------------------------------------------------------------------------ */ /*! * @file groupManager.h @@@ -43,7 -43,7 +43,6 @@@ #include "buttonManager.h" #include "buttonGroup.h" --#include "listGroup.h" /*! @namespace * @brief Contains the creaButtonContainer library included in creaMaracasVisu. @@@ -61,7 -61,7 +60,7 @@@ namespace creaButtonContaine * @details This class describes a wxFlexGridSizer with the group manager. * @see wxFlexGridSizer */ -- class GroupManager : public wxFlexGridSizer ++ class GroupManager: public wxFlexGridSizer { public: //typedef definition @@@ -76,8 -76,8 +75,6 @@@ */ typedef wxButton ExpansionButton; // ---------------------------------------------------------------------------------- -- //MLER -- //typedef creaButtonContainer::view::ListGroup ListGroup; //end of typedef definition. public: @@@ -87,75 -87,75 +84,70 @@@ * @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; //!m_GroupName = groupName; -- this->m_Buttons = cartoButtons; -- } -- -- // ---------------------------------------------------------------------------------- -- ListGroup::~ListGroup( ) -- { -- } -- -- // ---------------------------------------------------------------------------------- -- ListGroup::ButtonContainer -- ListGroup::GetButtonContainer( ) -- { -- return ( this->m_Buttons ); -- } -- -- // ---------------------------------------------------------------------------------- -- wxStaticText* -- ListGroup::GetGroupName( ) -- { -- return ( this->m_GroupName ); -- } -- -- // ---------------------------------------------------------------------------------- -- ListGroup::IdButtonContainer -- ListGroup::GetButtonIdContainer( ) -- { -- IdButtonContainer idContainer; -- try -- { -- for( ButtonContainer::iterator it = this->m_Buttons.begin( ); it -- != this->m_Buttons.end( ); ++it ) -- { -- idContainer.push_back( ( *it ).first ); -- }//rof -- }//yrt -- catch ( std::exception& e ) -- { -- std::cerr << "ButtonGroup::GetButtonIdContainer( )" << "exception: " -- << e.what( ) << std::endl; -- }//hctac -- return ( idContainer ); -- } -- -- // ---------------------------------------------------------------------------------- -- ListGroup::Button* -- ListGroup::GetButton( long id ) -- { -- try -- { -- //return ( this->m_Buttons[ id ] ); // JPR -- }//yrt -- catch ( std::exception& e ) -- { -- std::cerr << "ButtonGroup::GetButton( long id )" << "exception: " -- << e.what( ) << std::endl; -- }//hctac -- return ( this->m_Buttons[ id ] );// JPR -- } -- // ---------------------------------------------------------------------------------- -- }//ecapseman --}//ecapseman*/ -- -- diff --cc lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/listGroup.h index 494fe33,494fe33..0000000 deleted file mode 100644,100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/listGroup.h +++ /dev/null @@@ -1,84 -1,84 +1,0 @@@ --/*# --------------------------------------------------------------------- --# --# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image --# pour la Sant�) --# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton --# Previous Authors : Laurent Guigues, Jean-Pierre Roux --# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil --# --# This software is governed by the CeCILL-B license under French law and --# abiding by the rules of distribution of free software. You can use, --# modify and/ or redistribute the software under the terms of the CeCILL-B --# license as circulated by CEA, CNRS and INRIA at the following URL --# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html --# or in the file LICENSE.txt. --# --# As a counterpart to the access to the source code and rights to copy, --# modify and redistribute granted by the license, users are provided only --# with a limited warranty and the software's author, the holder of the --# economic rights, and the successive licensors have only limited --# liability. --# --# The fact that you are presently reading this means that you have had --# knowledge of the CeCILL-B license and that you accept its terms. --# ------------------------------------------------------------------------ */ -- --#ifndef LISTGROUP_H --#define LISTGROUP_H -- --/*//Library Definition --#include -- --#include --#include --#include -- --#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; //!m_itemsMap = iMap; ++ this->m_Functor = functor; -- this->functor = functor; - int i = 0; - for (ItemsMap::iterator it=this->m_itemsMap.begin(); it!=this->m_itemsMap.end(); ++it) - { ++ wxBoxSizer* sizer = new wxBoxSizer(wxHORIZONTAL); - std::string key = it->first; - long index = this->InsertItem(i, wxString(key.c_str(), wxConvUTF8)); - wxFlexGridSizer* sizer = new wxFlexGridSizer(1); - sizer->Add( new wxStaticText(this,-1, _("Lista"))); - sizer->AddGrowableCol(0); + this->SetSizer(sizer); - std::cout << "index" << index << std::endl; - this->Connect( -1, wxEVT_COMMAND_LIST_ITEM_SELECTED, - wxListEventHandler(ListWx::ListEvent) ); - i++; - listBox = new wxListBox(this,-1); - m_functorEnabled = true; - - std::cout << "is ListBox"<< listBox->GetId()<< std::endl; - // this->Connect( -1,wxEVT_COMMAND_CHOICE_SELECTED, - // (wxObjectEventFunction) (void (wxPanel::*)(wxEvent&))(&ListWx::ListEvent) ); - //this->Connect(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, - // wxCommandEventHandler(ListWx::ListEvent)); ++ this->m_ListBox = new wxListBox(this, -1); ++ this->m_FunctorEnabled = true; + + this->Connect(wxEVT_COMMAND_LISTBOX_SELECTED, - wxCommandEventHandler(ListWx::ListEvent)); ++ wxCommandEventHandler(ListWx::OnListEvent)); + - //FillList(0); - - - sizer->Add(listBox,1,wxGROW); ++ if (!iVector.empty()) ++ { ++ for (ItemsVector::iterator it = iVector.begin(); it != iVector.end(); ++ ++it) ++ { ++ std::string key = it->first; ++ this->m_ListBox->Append(wxString(key.c_str(), wxConvUTF8)); ++ } + } - } ++ sizer->Add(this->m_ListBox, 1, wxGROW); + + } - // ---------------------------------------------------------------------------------- - ListWx::~ListWx( ) + - ListWx::ListWx( wxWindow* parent, wxWindowID id, ItemsMap iMap,TFunctor* functor, - std::string c) : wxPanel(parent,id) ++ ListWx::ListWx(wxWindow* parent, wxWindowID id, TFunctor* functor) ++ : wxPanel(parent, id) { - std::cout<< "MLER | ListWx::ListWx" << std::endl; ++ this->m_Functor = functor; + - this->m_itemsMap = iMap; - this->functor = functor; ++ wxBoxSizer* sizer = new wxBoxSizer(wxHORIZONTAL); + - wxFlexGridSizer* sizer = new wxFlexGridSizer(1); - - sizer->Add( new wxStaticText(this,-1, _("Lista Configurable"))); - sizer->AddGrowableCol(0); + this->SetSizer(sizer); + - listBox = new wxListBox(this,-1); - - std::cout << "is ListBox"<< listBox->GetId()<< std::endl; - - button = new wxButton(this, 1, _("Configurar"), - wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, wxString(c.c_str(), wxConvUTF8)); ++ this->m_ListBox = new wxListBox(this, -1); ++ this->m_FunctorEnabled = true; + - sizer->Add(listBox,1,wxGROW); - sizer->Add(button,2,wxGROW); - - // m_listConfigPanel = new ListConfigPanel(this,1,_("Configuracion"),m_itemsMap); - m_listConfig = new ListConfig(m_itemsMap); - - //wxEVT_COMMAND_LISTBOX_SELECTED + this->Connect(wxEVT_COMMAND_LISTBOX_SELECTED, - wxCommandEventHandler(ListWx::ListEvent)); ++ wxCommandEventHandler(ListWx::OnListEvent)); + - //FillList(); ++ sizer->Add(this->m_ListBox, 1, wxGROW); + } - + // ---------------------------------------------------------------------------------- - void - ListWx::ListEvent( wxListEvent& event ) - ListWx::~ListWx( ) ++ ListWx::~ListWx() { - try - { - std::cout<< "MLER | ListWx::ListEvent( wxListEvent& event )" << std::endl; - - wxString itemNom = event.GetItem().GetText(); - } - // ---------------------------------------------------------------------------------- - std::string itemNomC = std::string(itemNom.mb_str()); - void - ListWx::FillList() - { - this->listBox->Clear(); - std::cout<<"clear"<m_itemsMap.begin(); it!=this->m_itemsMap.end(); ++it) - { - std::string key = it->first; - int v = listBox->FindString(wxString(key.c_str(), wxConvUTF8)); - if(v == -1) - listBox->Append( wxString(key.c_str(), wxConvUTF8)); - } - listBox->Update(); - this->Update(); + } + - this->functor->Call(itemNomC); - std::cout<<"mmmmmmmmmmmmmmmmmmmmmmm"<IsFunctorEnabled()) ++ if (!this->IsFunctorEnabled()) + return; - else{ - try ++ else { - std::cerr - << "ButtonContainerController::ButtonEvent( wxCommandEvent& event ) exception: " - << e.what( ) << std::endl; - }//hctac - std::cout<< "MLER | ListWx::ListEvent( wxListEvent& event )" << std::endl; - - int iSelection; - iSelection = listBox->GetSelection(); ++ try ++ { ++ std::cout << "MLER | ListWx::OnListEvent( wxListEvent& event )" ++ << std::endl; + - wxString itemNom = listBox->GetString(iSelection); - std::string itemNomC = std::string(itemNom.mb_str()); ++ int iSelection; ++ iSelection = this->m_ListBox->GetSelection(); + - this->functor->Call(itemNomC); - std::cout<<"mmmmmmmmmmmmmmmmmmmmmmm"<m_ListBox->GetString(iSelection); ++ std::string itemNomC = std::string(itemNom.mb_str()); + ++ this->m_Functor->Call(itemNomC); + - }//yrt - catch ( const std::exception& e ) - { - std::cerr - << "ButtonContainerController::ButtonEvent( wxCommandEvent& event ) exception: " - << e.what( ) << std::endl; - }//hctac ++ } //yrt ++ catch (const std::exception& e) ++ { ++ std::cerr ++ << "ButtonContainerController::ButtonEvent( wxCommandEvent& event ) exception: " ++ << e.what() << std::endl; ++ } //hctac + } + } + // ---------------------------------------------------------------------------------- + - - - ListWx::ItemsMap - ListWx::GetItemsMap() - { - return m_itemsMap; - } - + void ListWx::SetFunctorEnabled(const bool& enabled) + { - m_functorEnabled = enabled; ++ this->m_FunctorEnabled = enabled; + } - ++ // ---------------------------------------------------------------------------------- + bool ListWx::IsFunctorEnabled() const + { - return m_functorEnabled; - } - - ListWx::TFunctor* - ListWx::GetWxListFunctor() - { - return this->functor; - } - - void ListWx::AddItemToMap(std::string key, wxPanel* panel) - { - this->m_itemsMap[key] = panel; ++ return this->m_FunctorEnabled; } - // ---------------------------------------------------------------------------------- - }//ecapseman - }//ecapseman ++ // ---------------------------------------------------------------------------------- + wxListBox* - ListWx::GetListBox() const - { - return this->listBox; - } - - - void ListWx::DeleteItemFromMap(std::string key) - { - std::cout<< "MLER | ListConfig::DelFinalItems(std::string name)" << std::endl; - ItemsMap::iterator it1; - - //if(m_finalItems.empty()) - std::cout<<"name item -----test A"<< key <m_itemsMap.empty()) - { - for(ItemsMap::iterator it= this->m_itemsMap.begin(); it!=this->m_itemsMap.end();++it) ++ ListWx::GetListBox() const + { - if((it->first).compare(key) == 0 ) - { - std::cout << "Item a borrar: "<< key << std::endl; - it1 = m_itemsMap.find(key); - m_itemsMap.erase(it1); - - } ++ return this->m_ListBox; + } - } - std::cout<< "si borre tengo --- test 2 "<< m_itemsMap.size() << std::endl; - } - - - }//ecapseman -}//ecapseman + ++ } //ecapseman ++} //ecapseman diff --cc lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/listWx.h index 7f30549,3465529..9eb6235 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/listWx.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/listWx.h @@@ -1,82 -1,110 +1,157 @@@ /*# --------------------------------------------------------------------- - # - # 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 #include --#include #include --#include - #include -//#include -#include -#include + #include #include ++#include - --#include #include --#include "functor.h" --#include ++#include ++#include ++#include "functor.h" #include "system.h" -#include "listConfig.h" -//#include "listConfigPanel.h" - -namespace creaButtonContainer { - -namespace view { - -class ListWx: public wxPanel { -public: - - typedef creaButtonContainer::model::TFunctor TFunctor; - typedef std::map ItemsMap; - typedef creaButtonContainer::model::ListConfig ListConfig; - -public: - - ListWx(wxWindow* parent, wxWindowID id, ItemsMap iMap, TFunctor* functor); - ListWx(wxWindow* parent, wxWindowID id, ItemsMap iMap, TFunctor* functor, - std::string c); - // ---------------------------------------------------------------------------------- - - virtual - ~ListWx(); - // ---------------------------------------------------------------------------------- - long - GetID(); - - void - FillList(); - - void - ListEvent(wxCommandEvent& event); - - ItemsMap - GetItemsMap(); - - TFunctor* - GetWxListFunctor(); - - void SetFunctorEnabled(const bool& enabled); - - void AddItemToMap(std::string key, wxPanel* panel); - - void DeleteItemFromMap(std::string key); - - bool IsFunctorEnabled() const; - - wxListBox* - GetListBox() const; - - // ---------------------------------------------------------------------------------- -private: - ItemsMap m_itemsMap; //! - TFunctor* functor; - wxListBox* listBox; - wxFlexGridSizer* sizer; - wxButton* button; - bool m_functorEnabled; - ListConfig* m_listConfig; -}; -} //ecapseman ++/*! @namespace ++ * @brief Contains the creaButtonContainer library included in creaMaracasVisu. ++ */ +namespace creaButtonContainer +{ - ++ /*! @namespace ++ * @brief Contains the implementation of the view in creaButtonContainer library. ++ * @see MVC Software Architecture ++ */ + 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 wxPanel ++ */ ++ 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 ItemsMap; ++ // ---------------------------------------------------------------------------------- ++ /*! @typedef std::pair ListAction; ++ * @brief Defines the ListAction type. ++ * First is the button name(item list), Second FunctionEventType ++ */ ++ typedef std::pair ListAction; ++ // ---------------------------------------------------------------------------------- ++ /*! @typedef std::vector ItemsVector; ++ * @brief Defines the Items Vector type. ++ */ ++ typedef std::vector 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; //! m_GroupNameList.begin( ); it -- != this->m_GroupNameList.end( ); ++it ) - { - - //std::cout<< std::endl<<"MLER ButtonContainerSettings // GetPanelButton :: it "<< *it<m_ButtonGroupContainer[ ( *it ) ]; - for( ButtonList::iterator it1 = list.begin( ); it1 != list.end( ); ++it1 ) - { - if ( ( *it1 )->first->first.compare( buttonName ) == 0 ) - { - return ( ( *it1 )->second->second ); - }//fi - }//rof - }//rof - }//yrt - catch ( std::exception& e ) - { - std::cerr - << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) " - << "exception: " << e.what( ) << std::endl; - }//hctac - return ( NULL ); - } - // ---------------------------------------------------------------------------------- - ButtonContainerSettings::PanelButton - ButtonContainerSettings::GetPanelList( const StringType &buttonName ) - { - std::cout<< "MLER | ButtonContainerSettings:: GetPanelList " << std::endl; - - - try { - - for( ItemsMap::iterator it= this->m_itemsMap.begin(); it!=this->m_itemsMap.end(); ++it ) ++ for (KeyMapList::iterator it = this->m_GroupNameList.begin(); ++ it != this->m_GroupNameList.end(); ++it) { - - //std::cout<< std::endl<<"MLER ButtonContainerSettings // GetPanelButton :: it "<< *it<m_ButtonGroupContainer[ ( *it ) ]; - for( ButtonList::iterator it1 = list.begin( ); it1 != list.end( ); ++it1 ) - if( (*it).first.compare(buttonName) == 0 ) ++ ButtonList list = this->m_ButtonGroupContainer[(*it)]; ++ for (ButtonList::iterator it1 = list.begin(); it1 != list.end(); ++it1) { - if ( ( *it1 )->first->first.compare( buttonName ) == 0 ) - { - return ( ( *it1 )->second->second ); - }//fi - }//rof - }//rof - }//yrt - catch ( std::exception& e ) - std::cout<<"debe retornar" << std::endl; - return ( (*it).second ); - } - } - - - }catch ( std::exception& e ) ++ if ((*it1)->first->first.compare(buttonName) == 0) ++ return ((*it1)->second->second); ++ } //rof ++ } //rof ++ } //yrt ++ catch (std::exception& e) { std::cerr - << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) " - << "exception: " << e.what( ) << std::endl; - }//hctac - return ( NULL ); - } - /* - // ---------------------------------------------------------------------------------- - ButtonContainerSettings::PanelButton - ButtonContainerSettings::GetPanelList( const StringType &buttonName ) - { - std::cout<< "MLER | ButtonContainerSettings:: GetPanelList " << std::endl; - - - try { - if(m_itemsMap.empty()) - std::cout<< "no tengo nada "<< std::endl; - - for( ItemsMap::iterator it= this->m_itemsMap.begin(); it!=this->m_itemsMap.end(); ++it ) - { - if( (*it).first.compare(buttonName) == 0 ) - return ( (*it).second ); - } - - - }catch ( std::exception& e ) - { - std::cerr -- << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) " -- << "exception: " << e.what( ) << std::endl; -- }//hctac ++ << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) " ++ << "exception: " << e.what() << std::endl; ++ } //hctac return (NULL); -- } - */ - // ---------------------------------------------------------------------------------- ButtonContainerSettings::ButtonGroupSettings* -- ButtonContainerSettings::GetButtonGroupSettings( TFunctor* functor ) ++ ButtonContainerSettings::GetButtonGroupSettings(TFunctor* functor) { ButtonGroupSettings* settings = NULL; try { -- std::cout<< "MLER | ButtonContainerSettings:: GetButtonGroupSettings() " << std::endl; -- settings = new ButtonGroupSettings( ); ++ settings = new ButtonGroupSettings(); -- for( KeyMapList::iterator it = this->m_GroupNameList.begin( ); it -- != this->m_GroupNameList.end( ); ++it ) ++ for (KeyMapList::iterator it = this->m_GroupNameList.begin(); ++ it != this->m_GroupNameList.end(); ++it) { -- ButtonList list = this->m_ButtonGroupContainer[ ( *it ) ]; ++ ButtonList list = this->m_ButtonGroupContainer[(*it)]; -- for( ButtonList::iterator it1 = list.begin( ); it1 != list.end( ); ++it1 ) ++ for (ButtonList::iterator it1 = list.begin(); it1 != list.end(); ++it1) { -- std::cout<<"MLER ButtonContainerSettings // GetButtonGroupSettings :: groupName "<< *it<first->first <AddButton( ( *it ), ( *it1 )->first->first, ( *it1 )->first->second, ( *it1 )->second->first, functor ); -- }//rof -- }//rof -- }//yrt -- catch ( std::exception& e ) ++ settings->AddButton((*it), (*it1)->first->first, ++ (*it1)->first->second, (*it1)->second->first, functor); ++ } //rof ++ } //rof ++ } //yrt ++ catch (std::exception& e) { std::cerr -- << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) " -- << "exception: " << e.what( ) << std::endl; -- }//hctac -- return ( settings ); ++ << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) " ++ << "exception: " << e.what() << std::endl; ++ } //hctac ++ return (settings); } // ---------------------------------------------------------------------------------- -- void -- ButtonContainerSettings::SetButtonGroupContainer( -- ButtonGroupMap m_ButtonGroupContainer ) ++ void ButtonContainerSettings::SetButtonGroupContainer( ++ ButtonGroupMap m_ButtonGroupContainer) { -- std::cout<< "MLER | ButtonContainerSettings:: SetButtonGroupContainer() " << std::endl; this->m_ButtonGroupContainer = m_ButtonGroupContainer; } // ---------------------------------------------------------------------------------- -- void -- ButtonContainerSettings::SetGroupNameList( KeyMapList m_GroupNameList ) ++ void ButtonContainerSettings::SetGroupNameList(KeyMapList m_GroupNameList) { -- std::cout<< "MLER | ButtonContainerSettings:: SetGroupNameList() " << std::endl; this->m_GroupNameList = m_GroupNameList; } -- ++ // ---------------------------------------------------------------------------------- -- void -- ButtonContainerSettings::AddButton( const StringType & groupName, -- const StringType &buttonName, const wxBitmap &icon, -- const StringType &buttonDescription, PanelButton panel ) ++ void ButtonContainerSettings::AddButton(const StringType & groupName, ++ const StringType &buttonName, const wxBitmap &icon, ++ const StringType &buttonDescription, PanelButton panel) { try { -- std::cout<< "MLER | ButtonContainerSettings:: AddButton( const StringType & groupName ..) " << std::endl; -- //builds the button information //I don't know the try catch doesn't work!! -- if ( panel == NULL ) ++ if (panel == NULL) { std::cerr << "ButtonContainerSettings::AddButton" -- << "exception: NULL Pointer in panel " << std::endl; -- exit( 1 ); ++ << "exception: NULL Pointer in panel " << std::endl; ++ exit(1); } -- panel->Show( false ); ++ panel->Show(false); -- ButtonPair* pair = new ButtonPair( -- new ButtonInfo( buttonName, icon ), -- new ActionButton( buttonDescription, panel ) ); ++ ButtonPair* pair = new ButtonPair(new ButtonInfo(buttonName, icon), ++ new ActionButton(buttonDescription, panel)); -- for( KeyMapList::iterator it = this->m_GroupNameList.begin( ); it -- != this->m_GroupNameList.end( ); ++it ) ++ for (KeyMapList::iterator it = this->m_GroupNameList.begin(); ++ it != this->m_GroupNameList.end(); ++it) { -- if ( ( *it ).compare( groupName ) == 0 ) ++ if ((*it).compare(groupName) == 0) { -- this->m_ButtonGroupContainer[ groupName ].push_back( pair ); ++ this->m_ButtonGroupContainer[groupName].push_back(pair); return; -- }//fi -- }//rof -- this->m_GroupNameList.push_back( groupName ); -- this->m_ButtonGroupContainer[ groupName ].push_back( pair ); -- }//yrt -- catch ( const std::exception& e ) ++ } //fi ++ } //rof ++ this->m_GroupNameList.push_back(groupName); ++ this->m_ButtonGroupContainer[groupName].push_back(pair); ++ } //yrt ++ catch (const std::exception& e) { std::cerr -- << "ButtonContainerSettings::AddButton( const StringType & groupName," -- << "const StringType &buttonName, const StringType &iconpath," -- << "const StringType &buttonDescription, PanelButton panel ) " -- << "exception: " << e.what( ) << std::endl; -- }//hctac ++ << "ButtonContainerSettings::AddButton( const StringType & groupName," ++ << "const StringType &buttonName, const StringType &iconpath," ++ << "const StringType &buttonDescription, PanelButton panel ) " ++ << "exception: " << e.what() << std::endl; ++ } //hctac } -- ++ // ---------------------------------------------------------------------------------- -- void -- ButtonContainerSettings::AddButton( BCPSettingsStruct* info ) ++ void ButtonContainerSettings::AddButton(BCPSettingsStruct* info) { try { -- std::cout<< "MLER | ButtonContainerSettings:: AddButton( BCPSettingsStruct* info )" << std::endl; -- //builds the button information //I don't know the try catch doesn't work!! -- if ( info->panel == NULL ) ++ if (info->panel == NULL) { std::cerr << "ButtonContainerSettings::AddButton" -- << "exception: NULL Pointer in panel " << std::endl; -- exit( 1 ); ++ << "exception: NULL Pointer in panel " << std::endl; ++ exit(1); } -- info->panel->Show( false ); ++ info->panel->Show(false); ButtonPair* pair = new ButtonPair( -- new ButtonInfo( info->buttonName, info->icon ), -- new ActionButton( info->buttonDescription, info->panel ) ); -- for( KeyMapList::iterator it = this->m_GroupNameList.begin( ); it -- != this->m_GroupNameList.end( ); ++it ) ++ new ButtonInfo(info->buttonName, info->icon), ++ new ActionButton(info->buttonDescription, info->panel)); ++ for (KeyMapList::iterator it = this->m_GroupNameList.begin(); ++ it != this->m_GroupNameList.end(); ++it) { -- if ( ( *it ).compare( info->groupName ) == 0 ) ++ if ((*it).compare(info->groupName) == 0) { -- this->m_ButtonGroupContainer[ info->groupName ].push_back( pair ); ++ this->m_ButtonGroupContainer[info->groupName].push_back(pair); return; -- }//fi -- }//rof -- this->m_GroupNameList.push_back( info->groupName ); -- this->m_ButtonGroupContainer[ info->groupName ].push_back( pair ); -- }//yrt -- catch ( const std::exception& e ) ++ } //fi ++ } //rof ++ this->m_GroupNameList.push_back(info->groupName); ++ this->m_ButtonGroupContainer[info->groupName].push_back(pair); ++ } //yrt ++ catch (const std::exception& e) { std::cerr -- << "ButtonContainerSettings::AddButton( BCPSettingsStruct* info )" -- << "exception: " << e.what( ) << std::endl; -- exit( 1 ); -- }//hctac ++ << "ButtonContainerSettings::AddButton( BCPSettingsStruct* info )" ++ << "exception: " << e.what() << std::endl; ++ exit(1); ++ } //hctac } -- ++ // ---------------------------------------------------------------------------------- -- void -- ButtonContainerSettings::AddButtons( BCStructVectorType infoList, int type ) ++ void ButtonContainerSettings::InitModel(BCStructVectorType infoList, int type) { -- std::cout<< "MLER | ButtonContainerSettings:: AddButtons( BCStructVectorType infoList, int type )" << std::endl; try { -- for( BCStructVectorType::iterator it = infoList.begin( ); it -- != infoList.end( ); ++it ) ++ for (BCStructVectorType::iterator it = infoList.begin(); ++ it != infoList.end(); ++it) { -- if( type == 0 ) -- this->AddButton( *it ); - // else if( type == 1 ) - // this->AddItems(*it); - }//rof - }//yrt - catch ( std::exception& e ) - else if( type == 1 || type == 2) ++ if (type == 0) ++ this->AddButton(*it); ++ else if (type == 1 || type == 2 || type == 3) + this->AddItems(*it); + - }//rof - }//yrt - catch ( std::exception& e ) ++ ++ } //rof ++ } //yrt ++ catch (std::exception& e) { std::cerr -- << "ButtonContainerSettings::AddButtons( BCStructVectorType infoList )" -- << "exception: " << e.what( ) << std::endl; -- }//hctac ++ << "ButtonContainerSettings::AddButtons( BCStructVectorType infoList )" ++ << "exception: " << e.what() << std::endl; ++ } //hctac } - - //EED-MLER - /* -- void -- ButtonContainerSettings::AddItems(BCPSettingsStruct* info) ++ // ---------------------------------------------------------------------------------- ++ //MLER ++ void ButtonContainerSettings::AddItems(BCPSettingsStruct* info) { try { -- std::cout<< "MLER | ButtonContainerSettings:: AddItems(BCPSettingsStruct* info)" << std::endl; -- //builds the button information ++ //build the button information //I don't know the try catch doesn't work!! -- if ( info->panel == NULL ) ++ if (info->panel == NULL) { - std::cerr << "ButtonContainerSettings::AddButton" - << "exception: NULL Pointer in panel " << std::endl; - exit( 1 ); + std::cerr << "ButtonContainerSettings::AddItems" - << "exception: NULL Pointer in panel " << std::endl; - exit( 1 ); ++ << "exception: NULL Pointer in panel " << std::endl; ++ exit(1); } ++ info->panel->Show(false); ++ std::string key = info->groupName + ":" + info->buttonName; ++ m_ItemsVector.push_back(ListAction(key, info->panel)); -- info->panel->Show( false ); -- -- std::string mapKey = info->groupName + ":" + info->buttonName; -- m_itemsMap[mapKey] = info->panel; - - }//yrt - catch ( const std::exception& e ) ++ } //yrt ++ catch (const std::exception& e) + { + std::cerr - << "ButtonContainerSettings::AddButton( BCPSettingsStruct* info )" - << "exception: " << e.what( ) << std::endl; - exit( 1 ); - }//hctac ++ << "ButtonContainerSettings::AddButton( BCPSettingsStruct* info )" ++ << "exception: " << e.what() << std::endl; ++ exit(1); ++ } //hctac ++ } ++ // ---------------------------------------------------------------------------------- ++ ButtonContainerSettings::ItemsVector ButtonContainerSettings::GetItemsVector() ++ { ++ return this->m_ItemsVector; + } - }//yrt - catch ( const std::exception& e ) - ButtonContainerSettings::ItemsMap - ButtonContainerSettings::GetItemsMap() ++ // ---------------------------------------------------------------------------------- ++ wxPanel* ++ ButtonContainerSettings::GetPanelList(const StringType &buttonName) + { - std::cout<< "MLER | ButtonContainerSettings:: GetItemsMap()" << std::endl; ++ try + { - <<<<<<< HEAD - try - { - for( BCStructVectorType::iterator it = infoList.begin( ); it - != infoList.end( ); ++it ) - { - this->AddItem(*it); - }//rof - }//yrt - catch ( const std::exception& e ) ++ for (ItemsVector::iterator it = this->m_ItemsVector.begin(); ++ it != this->m_ItemsVector.end(); ++it) + { - std::cerr - << "ContainerSettings::AddButtons( BCStructVectorType infoList ) " - << "exception: " << e.what( ) << std::endl; - }//hctac - } - */ ++ if ((*it).first.compare(buttonName) == 0) ++ return ((*it).second); + - return m_itemsMap; - } ++ } + ++ } catch (std::exception& e) ++ { ++ std::cerr ++ << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) " ++ << "exception: " << e.what() << std::endl; ++ } //hctac ++ return (NULL); + ++ } + ++//MLER // ---------------------------------------------------------------------------------- }//ecapseman - diff --cc lib/maracasVisuLib/src/interface/wxWindows/widgets/creaPanelButtonContainer/buttonContainerSettings.h index 9f3e524,ccd01c5..4bd2ce5 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaPanelButtonContainer/buttonContainerSettings.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaPanelButtonContainer/buttonContainerSettings.h @@@ -1,27 -1,27 +1,27 @@@ /*# --------------------------------------------------------------------- --# --# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image --# pour la Sant�) --# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton --# Previous Authors : Laurent Guigues, Jean-Pierre Roux --# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil --# --# This software is governed by the CeCILL-B license under French law and --# abiding by the rules of distribution of free software. You can use, --# modify and/ or redistribute the software under the terms of the CeCILL-B --# license as circulated by CEA, CNRS and INRIA at the following URL --# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html --# or in the file LICENSE.txt. --# --# As a counterpart to the access to the source code and rights to copy, --# modify and redistribute granted by the license, users are provided only --# with a limited warranty and the software's author, the holder of the --# economic rights, and the successive licensors have only limited --# liability. --# --# The fact that you are presently reading this means that you have had --# knowledge of the CeCILL-B license and that you accept its terms. --# ------------------------------------------------------------------------ */ ++ # ++ # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image ++ # pour la Sant�) ++ # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton ++ # Previous Authors : Laurent Guigues, Jean-Pierre Roux ++ # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil ++ # ++ # This software is governed by the CeCILL-B license under French law and ++ # abiding by the rules of distribution of free software. You can use, ++ # modify and/ or redistribute the software under the terms of the CeCILL-B ++ # license as circulated by CEA, CNRS and INRIA at the following URL ++ # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html ++ # or in the file LICENSE.txt. ++ # ++ # As a counterpart to the access to the source code and rights to copy, ++ # modify and redistribute granted by the license, users are provided only ++ # with a limited warranty and the software's author, the holder of the ++ # economic rights, and the successive licensors have only limited ++ # liability. ++ # ++ # The fact that you are presently reading this means that you have had ++ # knowledge of the CeCILL-B license and that you accept its terms. ++ # ------------------------------------------------------------------------ */ /*! * @file buttonContainerSettings.h @@@ -35,7 -35,7 +35,7 @@@ #include #include - //EED-MLER #include -#include ++//#include #include #include @@@ -46,7 -46,7 +46,6 @@@ #include "containerSettings.h" #include "functor.h" -- /*! @namespace * @brief Contains the creaPanelButtonContainer library included in creaMaracasVisu. */ @@@ -82,80 -82,79 +81,87 @@@ namespace creaPanelButtonContaine // ---------------------------------------------------------------------------------- /*! @typedef std::pair< std::string, PanelButton > ActionButton; * @brief Defines the ActionButton type. -- * First is the button description, Second FunctionEventType ++ * First is the button name, Second FunctionEventType */ -- typedef std::pair< std::string, PanelButton > ActionButton; -- ++ typedef std::pair 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 ButtonInfo; ++ // ---------------------------------------------------------------------------------- /*! @typedef std::pair< ButtonInfo*, ActionButton* > ButtonPair; * @brief Defines the ButtonPair type. */ -- typedef std::pair< ButtonInfo*, ActionButton* > ButtonPair; ++ typedef std::pair ButtonPair; // ---------------------------------------------------------------------------------- /*! @typedef std::list< std::string > KeyMapList; * @brief Defines the KeyMapList type. */ -- typedef std::list< std::string > KeyMapList; -- ++ typedef std::list KeyMapList; ++ // ---------------------------------------------------------------------------------- /*! @typedef std::list< ButtonPair* > ButtonList; * @brief Defines the ButtonList type. */ -- typedef std::list< ButtonPair* > ButtonList; -- ++ typedef std::list ButtonList; ++ // ---------------------------------------------------------------------------------- /*! @typedef std::map< std::string, ButtonList > ButtonGroupMap; * @brief Defines the ButtonGroupMap type. */ -- typedef std::map< std::string, ButtonList > ButtonGroupMap; ++ typedef std::map ButtonGroupMap; // ---------------------------------------------------------------------------------- /*! @typedef std::vector< BCPSettingsStruct* > BCStructVectorType; * @brief Defines the BCStructVectorType type. */ -- typedef std::vector< BCPSettingsStruct* > BCStructVectorType; -- //end typedef definition ++ typedef std::vector BCStructVectorType; ++ //MLER // ---------------------------------------------------------------------------------- -- /*! @class ButtonContainerSettings buttonContainerSettings.h "buttonContainerSettings.h" -- * @brief This class contains the settings of the button container. ++ /*! @typedef std::pair 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 ListAction; ++ // ---------------------------------------------------------------------------------- ++ /*! @typedef std::vector ItemsVector; ++ * @brief Defines the Items Vector type. ++ */ ++ typedef std::vector ItemsVector; ++ //MLER ++ //end typedef definition ++ // ---------------------------------------------------------------------------------- - typedef std::map< std::string, wxPanel* > ItemsMap; - - public: + public: // ---------------------------------------------------------------------------------- /*! @fn ButtonContainerSettings( ); * @brief This is the default constructor. */ -- ButtonContainerSettings( ); ++ ButtonContainerSettings(); // ---------------------------------------------------------------------------------- /*! @fn virtual ~ButtonContainerSettings( ); * @brief This is the destructor. */ virtual -- ~ButtonContainerSettings( ); -- ++ ~ButtonContainerSettings(); ++ // ---------------------------------------------------------------------------------- /*! @fn ButtonGroupMap GetButtonGroupContainer( ); * @brief This method returns ButtonGroupMap with all buttons. * @return */ ButtonGroupMap -- GetButtonGroupContainer( ); ++ GetButtonGroupContainer(); // ---------------------------------------------------------------------------------- /*! @fn KeyMapList GetGroupNameList( ); * @brief This method returns a KeyMapsList with the name of the groups. * @return */ KeyMapList -- GetGroupNameList( ); ++ GetGroupNameList(); // ---------------------------------------------------------------------------------- /*! @fn PanelButton GetPanelButton( const std::string &buttonName ); * @brief This method returns the panel of a button. @@@ -164,7 -163,7 +170,7 @@@ * @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 -172,32 +179,22 @@@ * @return */ ButtonGroupSettings* -- GetButtonGroupSettings( TFunctor* functor ); ++ GetButtonGroupSettings(TFunctor* functor); // ---------------------------------------------------------------------------------- /*! @fn void SetButtonGroupContainer( ButtonGroupMap bGroupContainer ); * @brief This method sets the button group container. * @param bGroupContainer */ - - // ---------------------------------------------------------------------------------- - - ButtonGroupSettings* - GetListGroupSettings(); -- // ---------------------------------------------------------------------------------- - - ButtonGroupSettings* - GetListGroupSettings(); - - // ---------------------------------------------------------------------------------- -- -- -- void -- SetButtonGroupContainer( ButtonGroupMap bGroupContainer ); ++ SetButtonGroupContainer(ButtonGroupMap bGroupContainer); // ---------------------------------------------------------------------------------- /*! @fn void SetGroupNameList( KeyMapList gNameList ); * @brief this method sets the groupName list * @param gNameList */ void -- SetGroupNameList( KeyMapList gNameList ); -- ++ SetGroupNameList(KeyMapList gNameList); // ---------------------------------------------------------------------------------- /*! @fn void AddButton( const std::string &groupName, const std::string &buttonName, const std::string &iconpath, const std::string &buttonDescription, @@@ -212,10 -211,10 +208,9 @@@ * @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 -222,34 +218,52 @@@ * @exception std::bad_alloc */ void -- AddButton( BCPSettingsStruct* info ); -- ++ AddButton(BCPSettingsStruct* info); // ---------------------------------------------------------------------------------- -- /*! @fn void AddButtons( BCStructVectorType infoList ); -- * @brief This method adds new buttons into the container. ++ /*! @fn void InitModel( BCStructVectorType infoList, int type ); ++ * @brief This method adds new buttons or items into the container (Depends type). * @param infoList The BCStructVectorType ++ * @param type If 1:Buttons 2:List 3:Configurable List * @exception std::bad_alloc */ void -- AddButtons( BCStructVectorType infoList, int type ); -- ++ InitModel(BCStructVectorType infoList, int type); ++ // ---------------------------------------------------------------------------------- ++ //MLER ++ /*! @fn void AddItems( BCPSettingsStruct* info ); ++ * @brief This method adds a new item into a list. ++ * @param info The pointer to BCPSettingsStruct. ++ * @exception std::bad_alloc ++ */ + void + AddItems(BCPSettingsStruct* info); - - ItemsMap - GetItemsMap(); - - PanelButton - GetPanelList( const StringType &buttonName ); - - ++ // ---------------------------------------------------------------------------------- ++ /*! @fn PanelButton GetPanelList( const std::string &buttonName ); ++ * @brief This method returns the panel of a list. ++ * @param buttonName (item element) ++ * @exception std::bad_alloc ++ * @return ++ */ ++ ItemsVector ++ GetItemsVector(); ++ // ---------------------------------------------------------------------------------- ++ /*! @fn PanelButton GetPanelList( const std::string &buttonName ); ++ * @brief This method returns the panel of a list. ++ * @param buttonName (item element) ++ * @exception std::bad_alloc ++ * @return ++ */ ++ wxPanel* ++ GetPanelList(const StringType &buttonName); ++ //MLER // ---------------------------------------------------------------------------------- private: ButtonGroupMap m_ButtonGroupContainer; //! 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 TConcreteFunctor; ++// ---------------------------------------------------------------------------------- ++ PanelButtonContainer::PanelButtonContainer(wxWindow* parent, ++ ButtonContainerSettings* bcSettings, int type) ++ : wxPanel(parent, -1, wxDefaultPosition, wxDefaultSize, ++ wxDEFAULT_FRAME_STYLE, _T("creaPanelButtonContainer")) { -- std::cout<< "MLER | creaPanelButtonContainer:: PanelButtonContainer() " << std::endl; -- this->m_ButtonContainerSettings = bcSettings; - this->m_ButtonPanel = new wxPanel( this ); - -- //Class that manages the event!!! -- //EED 20/01/2012 -- TConcreteFunctor* functor = new TConcreteFunctor( this, &PanelButtonContainer::GenericButtonEvent ); --// TConcreteFunctor* functor = new TConcreteFunctor( this->m_ButtonPanel, &PanelButtonContainer::GenericButtonEvent ); -- //end of the event definition - - TConcreteFunctor* lFunctor = new TConcreteFunctor( this, &PanelButtonContainer::GenericListEvent ); - //MLER - + //Using AuiManager to Manage the Panels - this->m_AuiManager = new wxAuiManager( this, wxAUI_MGR_DEFAULT ); - ++ this->m_AuiManager = new wxAuiManager(this, ++ wxAUI_MGR_DEFAULT | wxFULL_REPAINT_ON_RESIZE); - TConcreteFunctor* lFunctor = new TConcreteFunctor( this, &PanelButtonContainer::GenericListEvent ); - //MLER - if(type == 0) ++ if (type == 0) + { - this->m_ButtonPanel = new wxPanel( this ); - std::cout << "tipo 0; new ButtonContainerPanel"<m_ButtonContainerPanel = new ButtonContainerPanel( this, this->m_ButtonContainerSettings->GetButtonGroupSettings( functor ) ); - - this->m_AuiManager->AddPane( this->m_ButtonContainerPanel,wxAuiPaneInfo( ).Name( _T("ButtonContainerPanel") ).Caption(_("ButtonContainerPanel") ). CaptionVisible( true ).CloseButton(false ).Center( ).Resizable( true ) ); - this->m_AuiManager->AddPane(this->m_ButtonPanel, wxAuiPaneInfo( ).Name( _T("ButtonPanel") ).Caption( _("ButtonPanel") ). CaptionVisible(true ).CloseButton( false ).Bottom( ).Resizable( true ) ); ++ //Class that manages the event!!! ++ //EED 20/01/2012 ++ TConcreteFunctor* functor = new TConcreteFunctor(this, ++ &PanelButtonContainer::GenericButtonEvent); ++ //end of the event definition ++ this->m_EventPanel = new wxPanel(this); ++ this->m_ButtonContainerPanel = new ButtonContainerPanel(this, ++ this->m_ButtonContainerSettings->GetButtonGroupSettings(functor)); ++ //Bottom Panel ++ this->m_AuiManager->AddPane(this->m_EventPanel, ++ wxAuiPaneInfo().Name(_T("EventPanel")).Caption(_("EventPanel")).CaptionVisible( ++ true).MinimizeButton().MaximizeButton().CloseButton(false).Center().Resizable( ++ true)); ++ //Top Panel ++ this->m_AuiManager->AddPane(this->m_ButtonContainerPanel, ++ wxAuiPaneInfo().Name(_T("ButtonContainerPanel")).DefaultPane().Caption( ++ _("ButtonContainerPanel")).PinButton().CaptionVisible(true).CloseButton( ++ false).Center().Resizable(true)); + } - else if( type == 1) ++ else if (type == 1) + { - this->m_ListPanel = new wxPanel(this); - std::cout << "tipo 1; new LIstWx"<mylist = new ListWx(this, -1,this->m_ButtonContainerSettings->GetItemsMap(), lFunctor); - mylist->FillList(); - this->m_AuiManager->AddPane( this->mylist,wxAuiPaneInfo( ).Name( _T("ListContainerPanel") ).Caption(_("ListContainerPanel") ). CaptionVisible( true ).CloseButton(false ).Center( ).Resizable( true ) ); - this->m_AuiManager->AddPane(this->m_ListPanel, wxAuiPaneInfo( ).Name( _T("ListPanel") ).Caption( _("ListPanel") ). CaptionVisible(true ).CloseButton( false ).Bottom( ).Resizable( true ) ); ++ //MLER ++ TConcreteFunctor* lFunctor = new TConcreteFunctor(this, ++ &PanelButtonContainer::GenericListEvent); + - this->m_ListPanel = new wxPanel(this); ++ this->m_EventPanel = new wxPanel(this); ++ std::cout << "tipo 1; new LIstWx" << std::endl; + - if(type == 0) ++ this->m_ListWxPanel = new ListWx(this, -1, ++ this->m_ButtonContainerSettings->GetItemsVector(), lFunctor); ++ ++ //Bottom Panel ++ this->m_AuiManager->AddPane(this->m_EventPanel, ++ wxAuiPaneInfo().Name(_T("EventPanel")).Caption(_("EventPanel")).CaptionVisible( ++ true).MinimizeButton().MaximizeButton().CloseButton(false).Center().Resizable( ++ true)); ++ //Top Panel ++ this->m_AuiManager->AddPane(this->m_ListWxPanel, ++ wxAuiPaneInfo().Name(_T("ListContainerPanel")).DefaultPane().Caption( ++ _("ListContainerPanel")).PinButton().CaptionVisible(true).CloseButton( ++ false).Center().Resizable(true)); + } - else if( type == 2) ++ else if (type == 2) { - std::cout << "tipo 0; new ButtonContainerPanel"<m_ButtonContainerPanel = new ButtonContainerPanel( this, this->m_ButtonContainerSettings->GetButtonGroupSettings( functor ),type ); ++ TConcreteFunctor* lFunctor = new TConcreteFunctor(this, ++ &PanelButtonContainer::GenericListEvent); ++ ++ this->m_EmptyPanel = new wxPanel(this); ++ this->m_EventPanel = this->m_EmptyPanel; ++ ++ this->m_PanelUp = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize, ++ wxTAB_TRAVERSAL, _T("ListConfigContainerPanel")); ++ wxGridBagSizer* mainSizer = new wxGridBagSizer(0, 0); ++ mainSizer->AddGrowableCol(1); ++ mainSizer->AddGrowableRow(0); ++ ++ //======= ++ //Original List ++ this->m_ListWxPanel = new ListWx(this->m_PanelUp, -1, ++ this->m_ButtonContainerSettings->GetItemsVector(), lFunctor); ++ this->m_ListWxPanel->Show(false); ++ //Configurable list ++ this->m_CurrentWxPanel = new ListWx(this->m_PanelUp, -1, lFunctor); ++ ++ mainSizer->Add(this->m_ListWxPanel, wxGBPosition(0, 0), wxDefaultSpan, ++ wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL ++ | wxALIGN_CENTER_VERTICAL, 5); ++ mainSizer->Add(this->m_CurrentWxPanel, wxGBPosition(0, 1), wxDefaultSpan, ++ wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL ++ | wxALIGN_CENTER_VERTICAL, 5); ++ ++ wxBitmap btmSettings(Settings_xpm); //Icon of Button ++ ++ this->m_ConfigButton = new wxBitmapButton(this->m_PanelUp, -1, ++ btmSettings, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW, ++ wxDefaultValidator, _T("Config")); ++ ++ mainSizer->Add(this->m_ConfigButton, wxGBPosition(1, 2), wxDefaultSpan, ++ wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL, 5); ++ ++ //======= ++ ++ this->m_PanelUp->SetSizer(mainSizer); ++ mainSizer->Fit(this->m_PanelUp); ++ mainSizer->SetSizeHints(this->m_PanelUp); ++ ++ //Bottom Panel ++ this->m_AuiManager->AddPane(this->m_EventPanel, ++ wxAuiPaneInfo().Name(_T("EventPanel")).Caption(_("EventPanel")).CaptionVisible( ++ true).MinimizeButton().MaximizeButton().CloseButton(false).Center().Resizable( ++ true)); ++ //Top Panel ++ this->m_AuiManager->AddPane(this->m_PanelUp, ++ wxAuiPaneInfo().Name(_T("ListContainerPanel")).DefaultPane().Caption( ++ _("ListContainerPanel")).PinButton().CaptionVisible(true).CloseButton( ++ false).Center().Resizable(true)); ++ ++ this->Connect(wxEVT_COMMAND_BUTTON_CLICKED, ++ wxCommandEventHandler(PanelButtonContainer::OnConfigButton)); + - this->m_ListPanel = new wxPanel(this); - - panelUp = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("ListConfigContainerPanel")); - wxBoxSizer* mainSizer = new wxBoxSizer(wxHORIZONTAL); - - //======= - wxBoxSizer* listSizer = new wxBoxSizer(wxVERTICAL); - - this->mylist = new ListWx(panelUp,-1,this->m_ButtonContainerSettings->GetItemsMap(),lFunctor); - this->mylist->Show(false); - ItemsMap empty; - this->myConfiglist = new ListWx(panelUp,-1, empty,lFunctor); - listSizer->Add(this->myConfiglist,0,wxEXPAND); - listSizer->Add(this->mylist,0,wxEXPAND); - mainSizer->Add(listSizer,0,wxEXPAND|wxALL,7); - - //======= - wxBoxSizer* buttonSizer = new wxBoxSizer(wxVERTICAL); - - button = new wxButton(panelUp, -1, _("Configurar"), - wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _("Configurar")); - - buttonSizer->Add(button,0,wxEXPAND); - mainSizer->Add(buttonSizer,0,wxEXPAND|wxALL,14); - //======= - - panelUp->SetSizer(mainSizer); - - this->m_AuiManager->AddPane( panelUp,wxAuiPaneInfo( ).Name( _T("ListConfigContainerPanel") ).Caption(_("ListConfigContainerPanel") ). CaptionVisible( true ).CloseButton(false ).Center( ).Resizable( true ) ); - this->m_AuiManager->AddPane(this->m_ListPanel, wxAuiPaneInfo( ).Name( _T("ListPanel") ).Caption( _("ListPanel") ). CaptionVisible(true ).CloseButton( false ).Bottom( ).Resizable( true ) ); } - // else if( type == 1) - // { - // std::cout << "tipo 1; new LIstWx"<mylist = new ListWx(this->m_ListPanel, -1,this->m_ButtonContainerSettings->GetItemsMap(), lFunctor); - // }//MLER ++ else if (type == 3) ++ { ++ //MLER ++ TConcreteFunctor* lFunctor = new TConcreteFunctor(this, ++ &PanelButtonContainer::GenericListEvent); + ++ this->m_EventPanel = new wxPanel(this); ++ std::cout << "MLER Type 3; new ComboBox" << std::endl; + - //Using AuiManager to Manage the Panels - this->m_AuiManager = new wxAuiManager( this, wxAUI_MGR_DEFAULT ); - - if(type == 0) - this->m_AuiManager->AddPane(this->m_ButtonContainerPanel, wxAuiPaneInfo( ).Name( _T("ButtonPanel") ).Caption( _("Panel") ). CaptionVisible(true ).CloseButton( false ).Bottom( ).Resizable( true ) ); - else if(type == 1) - this->m_AuiManager->AddPane(this->m_ListPanel, wxAuiPaneInfo( ).Name( _T("ListPanel") ).Caption( _("Panel") ). CaptionVisible(true ).CloseButton( false ).Bottom( ).Resizable( true ) ); - - //CartoButtonPanel Management - if(type == 0) - this->m_AuiManager->AddPane( this->m_ButtonContainerPanel,wxAuiPaneInfo( ).Name( _T("ButtonPanel") ).Caption(_("ListPanel") ). CaptionVisible( false ).CloseButton(false ).Center( ).Resizable( true ) ); - else if(type ==1) - {this->m_AuiManager->AddPane( this->m_ListPanel,wxAuiPaneInfo( ).Name( _T("ListPanel") ).Caption(_("ListPanel") ). CaptionVisible( false ).CloseButton(false ).Center( ).Resizable( true ) );} - this->m_AuiManager->Update( ); ++ this->m_ComboBoxPanel = new ComboBox(this, -1, ++ this->m_ButtonContainerSettings->GetItemsVector(), lFunctor); ++ ++ //Bottom Panel ++ this->m_AuiManager->AddPane(this->m_EventPanel, ++ wxAuiPaneInfo().Name(_T("EventPanel")).Caption(_("EventPanel")).CaptionVisible( ++ true).MinimizeButton().MaximizeButton().CloseButton(false).Center().Resizable( ++ true)); ++ //Top Panel ++ this->m_AuiManager->AddPane(this->m_ComboBoxPanel, ++ wxAuiPaneInfo().Name(_T("ComboBoxContainerPanel")).DefaultPane().Caption( ++ _("ComboBoxContainerPanel")).PinButton().CaptionVisible(true).CloseButton( ++ false).Center().Resizable(true)); ++ } ++ //End MLER + - - //MLER - - this->m_AuiManager->Update( ); - //m_listConfigPanel = new ListConfigPanel(this,1,_("Configuracion"),mylist); - - this->Connect(wxEVT_COMMAND_BUTTON_CLICKED, - wxCommandEventHandler(PanelButtonContainer::ButtonEvent)); - ++ this->m_AuiManager->Update(); } -- // ---------------------------------------------------------------------------------- -- PanelButtonContainer::~PanelButtonContainer( ) ++// ---------------------------------------------------------------------------------- ++ PanelButtonContainer::~PanelButtonContainer() { } -- // ---------------------------------------------------------------------------------- -- void -- PanelButtonContainer::UpdatePanel( const std::string &buttonName ) ++// ---------------------------------------------------------------------------------- ++ void PanelButtonContainer::UpdatePanel(const std::string &buttonName) { try { -- std::cout<< "MLER | creaPanelButtonContainer:: UpdatePanel() " << std::endl; -- //Hiding the last CartoSettingsPanel -- this->m_ButtonPanel->Show( false ); ++ this->m_EventPanel->Show(false); //Finding the CartoSettingsPanel of the ButtonClicket -- this->m_ButtonPanel = this->m_ButtonContainerSettings->GetPanelButton(buttonName ); -- std::cout<< buttonName << "---testEvento 2 "<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 "<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 "<m_ListPanel->Show( false ); ++ this->UpdateListPanel(buttonName); ++ } -- this->m_ListPanel = this->m_ButtonContainerSettings->GetPanelList(buttonName ); ++ // ---------------------------------------------------------------------------------- ++ void PanelButtonContainer::UpdateListPanel(const std::string &buttonName) ++ { ++ try ++ { ++ this->m_EventPanel->Show(false); ++ this->m_EventPanel = this->m_ButtonContainerSettings->GetPanelList( ++ buttonName); -- if ( this->m_ListPanel->GetParent( ) != this ) ++ if (this->m_EventPanel->GetParent() != this) { -- this->m_ListPanel->Reparent( this ); -- }//fi -- //Panel Management -- this->m_AuiManager->GetPane( _T("ListPanel") ).window = this->m_ListPanel; -- //Updating the manager -- this->m_AuiManager->Update( ); -- -- }catch( const std::exception& e ) ++ this->m_EventPanel->Reparent(this); ++ } //fi ++ //Panel Management ++ this->m_AuiManager->GetPane(_T("EventPanel")).window = this->m_EventPanel; ++ //Updating the manager ++ this->m_AuiManager->Update(); ++ ++ } catch (const std::exception& e) { std::cerr -- << "PanelButtonContainer::UpdatePanel( const std::string &buttonName )" -- << "exception: " << e.what( ) << std::endl; ++ << "PanelButtonContainer::UpdatePanel( const std::string &buttonName )" ++ << "exception: " << e.what() << std::endl; std::cout << "Maybe the panel of the list is NULL" << std::endl; -- exit( 1 ); -- }//hctac ++ exit(1); ++ } //hctac } - */ - void - PanelButtonContainer::GenericListEvent( const std::string &buttonName ) + - void - PanelButtonContainer::GenericListEvent( const std::string &buttonName ) ++// ---------------------------------------------------------------------------------- ++ void PanelButtonContainer::OnConfigButton(wxCommandEvent& event) { -- std::cout<< "MLER | creaPanelButtonContainer:: GenericListEvent() " << std::endl; -- std::cout<< buttonName << " --- test 3 "<UpdateListPanel( buttonName ); - this->UpdateListPanel( buttonName ); -- } - void - PanelButtonContainer::ButtonEvent ( wxCommandEvent& event ) - { ++ this->m_ListConfigDialog = new ListConfigDialog(this, -1, _("Settings"), ++ this->m_ListWxPanel, this->m_CurrentWxPanel); - }//ecapseman - m_listConfigPanel = new ListConfigPanel(this,-1,_("Configuracion"), mylist, myConfiglist); ++ std::cout << "Button Event" << std::endl; + - std::cout<< "BUtton Event"<m_EventPanel->Show(false); - m_listConfigPanel->ShowModal(); - this->myConfiglist->Reparent(panelUp); - this->myConfiglist->Show(true); - this->myConfiglist->SetFunctorEnabled(true); - this->myConfiglist->Update(); - this->m_AuiManager->Update( ); - this->m_ListPanel->Show(false); - } ++ this->m_ListConfigDialog->ShowModal(); //Show Dialog ++ this->m_CurrentWxPanel->Reparent(this->m_PanelUp); ++ this->m_CurrentWxPanel->Show(true); ++ this->m_CurrentWxPanel->SetFunctorEnabled(true); + ++ this->m_CurrentWxPanel->GetListBox()->Deselect( ++ this->m_CurrentWxPanel->GetListBox()->GetSelection()); //Deselected item ++ this->m_CurrentWxPanel->Update(); ++ this->m_ListWxPanel->Show(false); ++ this->m_EventPanel->Show(false); ++ this->m_EventPanel = this->m_EmptyPanel; //Management Empty Panel + ++ this->m_AuiManager->GetPane(_T("EventPanel")).window = this->m_EventPanel; ++ this->m_AuiManager->Update(); + ++ } ++ //End MLER ++// ---------------------------------------------------------------------------------- + + }//ecapseman - diff --cc lib/maracasVisuLib/src/interface/wxWindows/widgets/creaPanelButtonContainer/creaPanelButtonContainer.h index 93ea3da,6677627..71ec045 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaPanelButtonContainer/creaPanelButtonContainer.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaPanelButtonContainer/creaPanelButtonContainer.h @@@ -1,27 -1,27 +1,27 @@@ /*# --------------------------------------------------------------------- --# --# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image --# pour la Sant�) --# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton --# Previous Authors : Laurent Guigues, Jean-Pierre Roux --# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil --# --# This software is governed by the CeCILL-B license under French law and --# abiding by the rules of distribution of free software. You can use, --# modify and/ or redistribute the software under the terms of the CeCILL-B --# license as circulated by CEA, CNRS and INRIA at the following URL --# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html --# or in the file LICENSE.txt. --# --# As a counterpart to the access to the source code and rights to copy, --# modify and redistribute granted by the license, users are provided only --# with a limited warranty and the software's author, the holder of the --# economic rights, and the successive licensors have only limited --# liability. --# --# The fact that you are presently reading this means that you have had --# knowledge of the CeCILL-B license and that you accept its terms. --# ------------------------------------------------------------------------ */ ++ # ++ # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image ++ # pour la Sant�) ++ # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton ++ # Previous Authors : Laurent Guigues, Jean-Pierre Roux ++ # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil ++ # ++ # This software is governed by the CeCILL-B license under French law and ++ # abiding by the rules of distribution of free software. You can use, ++ # modify and/ or redistribute the software under the terms of the CeCILL-B ++ # license as circulated by CEA, CNRS and INRIA at the following URL ++ # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html ++ # or in the file LICENSE.txt. ++ # ++ # As a counterpart to the access to the source code and rights to copy, ++ # modify and redistribute granted by the license, users are provided only ++ # with a limited warranty and the software's author, the holder of the ++ # economic rights, and the successive licensors have only limited ++ # liability. ++ # ++ # The fact that you are presently reading this means that you have had ++ # knowledge of the CeCILL-B license and that you accept its terms. ++ # ------------------------------------------------------------------------ */ /*! * @file PanelButtonContainer @@@ -37,12 -37,13 +37,17 @@@ #include #include #include ++#include ++#include ++#include "listConfigDialog.h" #include "containerSettings.h" #include "buttonContainerPanel.h" #include "buttonContainerSettings.h" #include "functor.h" #include "listWx.h" -#include "listConfigPanel.h" ++#include "Settings.xpm" ++#include "comboBox.h" /*! @namespace * @brief Contains the creaPanelButtonContainer library included in creaMaracasVisu. @@@ -53,7 -54,7 +58,7 @@@ namespace creaPanelButtonContaine * @brief This class contains the PanelButtonContainer. It derives from wxPanel. * @see wxPanel */ -- class PanelButtonContainer : public wxPanel ++ class PanelButtonContainer: public wxPanel { public: //typedef definition. @@@ -61,16 -62,20 +66,29 @@@ /*! typedef creaPanelButtonContainer::ButtonContainerSettings ButtonContainerSettings; * @brief Defines the ButtonContainerSettings type. */ -- typedef creaPanelButtonContainer::ButtonContainerSettings -- ButtonContainerSettings; ++ typedef creaPanelButtonContainer::ButtonContainerSettings ButtonContainerSettings; /*! typedef creaButtonContainer::view::ButtonContainerPanel ButtonContainerPanel; * @brief Defines the ButtonContainerPanel type. */ -- typedef creaButtonContainer::view::ButtonContainerPanel -- ButtonContainerPanel; ++ typedef creaButtonContainer::view::ButtonContainerPanel ButtonContainerPanel; ++ ++ //MLER ++ /*! typedef creaButtonContainer::view::ListWx ListWx; ++ * @brief Defines a ListWx for (Configurable) List Container. ++ * This class inherits from wxPanel and contains a wxListBox. ++ */ typedef creaButtonContainer::view::ListWx ListWx; - typedef creaPanelButtonContainer::ListConfigPanel - ListConfigPanel; - typedef std::map ItemsMap; ++ /*! typedef creaPanelButtonContainer::ListConfigDialog ListConfigDialog; ++ * @brief Defines a ListConfigPanel to configure. ++ * This class inherits from wxDialog and contains the wxListBox and wxButton. ++ */ ++ typedef creaButtonContainer::view::ListConfigDialog ListConfigDialog; ++ ++ typedef creaButtonContainer::view::ComboBox ComboBox; + // ---------------------------------------------------------------------------------- -- //end of typedef definition. ++ //End MLER ++ //end of typedef definition. public: // ---------------------------------------------------------------------------------- /*! @fn PanelButtonContainer( wxWindow* parent, ButtonContainerSettings* bcSettings ); @@@ -78,53 -83,65 +96,82 @@@ * @param parent The wxWindow pointer to parent * @param bcSettings //The buttonContainerSettings */ -- PanelButtonContainer( wxWindow* parent, -- ButtonContainerSettings* bcSettings, int type ); ++ PanelButtonContainer(wxWindow* parent, ++ ButtonContainerSettings* bcSettings, int type); // ---------------------------------------------------------------------------------- /*! @fn virtual PanelButtonContainer( ); * @brief This is the destructor. */ virtual -- ~PanelButtonContainer( ); ++ ~PanelButtonContainer(); // ---------------------------------------------------------------------------------- /*! @fn void UpdatePanel( const std::string &buttonName ); -- * @brief This method Updates the m_ButtonPanel to a panel ++ * @brief This method Updates the m_EventPanel to a panel * of the clicked button in creaButtonContainer. * @param buttonName */ void -- UpdatePanel( const std::string &buttonName ); ++ UpdatePanel(const std::string &buttonName); // ---------------------------------------------------------------------------------- /*! @fn void GenericButtonEvent( const std::string &buttonName ); -- * @brief This method is the function that calls the panels contained in the buttons ++ * @brief This method is the function that calls the panels contained in the buttons. * (in creaButtonContainer is the function contained in the functors to be called back. * @param buttonName The name of the button */ void -- GenericButtonEvent( const std::string &buttonName ); -- ++ GenericButtonEvent(const std::string &buttonName); // ---------------------------------------------------------------------------------- - void - UpdateListPanel( const std::string &buttonName ); - - void - GenericListEvent( const std::string &buttonName ); - + //MLER - ++ /*! @fn void GenericListEvent( const std::string &buttonName ); ++ * @brief This method is the function that calls the panels contained in the items list. ++ * (in creaButtonContainer is the function contained in the functors to be called back. ++ * @param buttonName The name of the button (item list) ++ */ void - UpdateListPanel( const std::string &buttonName ); - ButtonEvent ( wxCommandEvent& event ); -- ++ GenericListEvent(const std::string &buttonName); ++ // ---------------------------------------------------------------------------------- ++ /*! @fn void UpdateListPanel( const std::string &buttonName ); ++ * @brief This method Updates the m_EventPanel to a panel ++ * of the clicked an item in creaButtonContainer. ++ * @param buttonName The name of the button (item list) ++ */ void - GenericListEvent( const std::string &buttonName ); - //MLER - ListEvent( wxCommandEvent& event ); -- ++ UpdateListPanel(const std::string &buttonName); ++ // ---------------------------------------------------------------------------------- ++ /*! @fn void OnConfigButton( wxCommandEvent& event ); ++ * @brief This method calls the wxDialog when ++ * the config button is clicked. ++ * @param event ++ */ ++ void ++ OnConfigButton(wxCommandEvent& event); ++ //End MLER // ---------------------------------------------------------------------------------- private: //Settings ButtonContainerSettings* m_ButtonContainerSettings; //!