/*# ---------------------------------------------------------------------
--#
--# 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
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
// ----------------------------------------------------------------------------------
ButtonGroupFactory::ButtonGroupFactory( )
{
-- std::cout<< "MLER | ButtonGroupFactory::ButtonGroupFactory( )" << std::endl;
}
// ----------------------------------------------------------------------------------
ButtonGroupFactory::~ButtonGroupFactory( )
ButtonGroupContainer groupView;
try
{
-- std::cout<< "MLER | ButtonGroupFactory::CreateButtonGroupContainer()" << std::endl;
ButtonGroupMap map = settings->GetButtonGroupContainer( );
for( ButtonGroupMap::iterator it = map.begin( ); it != map.end( ); ++it )
{
{
ButtonContainer buttonList;
-- std::cout<< "MLER | ButtonGroupFactory::GetButtons()" << std::endl;
try
{
for( ButtonList::iterator it = buttonModel.begin( ); it
/*# ---------------------------------------------------------------------
--#
--# 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
/*! @typedef std::list< ButtonGroup* > ButtonGroupContainer;
* @brief Defines the ButtonGroupContainer type.
*/
-- typedef std::list< ButtonGroup* > ButtonGroupContainer;
++ typedef std::list<ButtonGroup*> ButtonGroupContainer;
// ----------------------------------------------------------------------------------
/*! @typedef std::map< long, Button* > ButtonContainer;
* @brief Defines the ButtonContainer type.
*/
-- typedef std::map< long, Button* > ButtonContainer;
++ typedef std::map<long, Button*> ButtonContainer;
// ----------------------------------------------------------------------------------
//end of typedef definition
public:
/*! @fn ButtonGroupFactory::ButtonGroupFactory( );
* @brief This is the default constructor.
*/
-- ButtonGroupFactory( );
++ ButtonGroupFactory();
// -------------------------------------------------------------------------------
/*! @fn virtual ButtonGroupFactory::~ButtonGroupFactory( );
* @brief This is the destructor.
*/
virtual
-- ~ButtonGroupFactory( );
--
++ ~ButtonGroupFactory();
++
/*! @fn ButtonGroupContainer ButtonGroupFactory::CreateButtonGroupContainer( wxWindow* parent, ButtonGroupModel* settings );
* @brief This method creates the ButtonGroupContainer.
* @param parent the wxWindow* parent to be attached.
* @return ButtonGroupContainer The wx button group container.
*/
ButtonGroupContainer
-- CreateButtonGroupContainer( wxWindow* parent,
-- ButtonGroupModel* settings );
++ CreateButtonGroupContainer(wxWindow* parent,
++ ButtonGroupModel* settings);
private:
--
/*! @fn ButtonContainer ButtonGroupFactory::GetButtons( wxWindow* parent, ButtonList buttonModel );
* @brief This method creates a wx button container for a group.
* @return ButtonContainer The wx button container.
*/
ButtonContainer
-- GetButtons( wxWindow* parent, ButtonList buttonModel );
++ GetButtons(wxWindow* parent, ButtonList buttonModel);
};
-- }//ecapseman
--}//ecapseman
++ } //ecapseman
++} //ecapseman
#endif // CARTOBUTTONFACTORY_H
/*# ---------------------------------------------------------------------
--#
--# 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
namespace model
{
// ----------------------------------------------------------------------------------
-- ContainerSettings::ContainerSettings( )
++ ContainerSettings::ContainerSettings()
{
}
// ----------------------------------------------------------------------------------
-- ContainerSettings::~ContainerSettings( )
++ ContainerSettings::~ContainerSettings()
{
}
--
++
// ----------------------------------------------------------------------------------
-- ButtonGroupMap
-- ContainerSettings::GetButtonGroupContainer( )
++ ButtonGroupMap ContainerSettings::GetButtonGroupContainer()
{
-- std::cout<< "MLER | ContainerSettings::GetButtonGroupContainer( )" << std::endl;
-- return ( this->m_ButtonGroupContainer );
++ return (this->m_ButtonGroupContainer);
}
// ----------------------------------------------------------------------------------
-- KeyMapList
-- ContainerSettings::GetGroupNameList( )
++ KeyMapList ContainerSettings::GetGroupNameList()
{
-- std::cout<< "MLER | ContainerSettings::GetGroupNameList( )" << std::endl;
-- return ( this->m_GroupNameList );
++ return (this->m_GroupNameList);
}
--
++
// ----------------------------------------------------------------------------------
-- void
-- ContainerSettings::SetButtonGroupContainer(ButtonGroupMap bgContainer)
++ void ContainerSettings::SetButtonGroupContainer(ButtonGroupMap bgContainer)
{
-- std::cout<< "MLER | ContainerSettings:: SetButtonGroupContainer(ButtonGroupMap bgContainer)" << std::endl;
this->m_ButtonGroupContainer = bgContainer;
}
// ----------------------------------------------------------------------------------
-- void
-- ContainerSettings::SetGroupNameList( KeyMapList gNameList )
++ void ContainerSettings::SetGroupNameList(KeyMapList gNameList)
{
-- std::cout<< "MLER | ContainerSettings::SetGroupNameList" << std::endl;
this->m_GroupNameList = gNameList;
}
--
-- // ----------------------------------------------------------------------------------
--
++ // ----------------------------------------------------------------------------------
-- void
-- ContainerSettings::AddButton( const StringType & groupName,
-- const StringType &buttonName, const wxBitmap &icon,
-- const StringType &buttonDescription, FunctionEventType event )
++ void ContainerSettings::AddButton(const StringType & groupName,
++ const StringType &buttonName, const wxBitmap &icon,
++ const StringType &buttonDescription, FunctionEventType event)
{
-- std::cout<< "MLER | ContainerSettings::AddButton( const StringType & groupName," << std::endl;
-- ButtonPair* pair = new ButtonPair(
-- new ButtonInfo( buttonName, icon ),
-- new ButtonAction( buttonDescription, event ) );
++ ButtonPair* pair = new ButtonPair(new ButtonInfo(buttonName, icon),
++ new ButtonAction(buttonDescription, event));
try
{
-- for( KeyMapList::iterator it = this->m_GroupNameList.begin( ); it
-- != this->m_GroupNameList.end( ); ++it )
++ for (KeyMapList::iterator it = this->m_GroupNameList.begin();
++ it != this->m_GroupNameList.end(); ++it)
{
-- if ( ( *it ).compare( groupName ) == 0 )
++ if ((*it).compare(groupName) == 0)
{
-- std::cout<<"MLER ContainerSettings // AddButton : it "<<*it <<std::endl;
-- this->m_ButtonGroupContainer[ groupName ].push_back( pair );
++ this->m_ButtonGroupContainer[groupName].push_back(pair);
return;
-- }//fi
-- }//rof
-- this->m_GroupNameList.push_back( groupName );
-- this->m_ButtonGroupContainer[ groupName ].push_back( pair );
-- }//yrt
-- catch ( const std::exception& e )
++ } //fi
++ } //rof
++ this->m_GroupNameList.push_back(groupName);
++ this->m_ButtonGroupContainer[groupName].push_back(pair);
++ } //yrt
++ catch (const std::exception& e)
{
std::cerr
-- << "ContainerSettings::AddButton( const std::string & groupName,"
-- << "const std::string buttonName, const std::string iconpath,"
-- << "const std::string buttonDescription, FunctionEventType event ) exception: "
-- << e.what( ) << std::endl;
-- }//hctac
++ << "ContainerSettings::AddButton( const std::string & groupName,"
++ << "const std::string buttonName, const std::string iconpath,"
++ << "const std::string buttonDescription, FunctionEventType event ) exception: "
++ << e.what() << std::endl;
++ } //hctac
}
// ----------------------------------------------------------------------------------
-- void
-- ContainerSettings::AddButton( BCSettingsStruct* info )
++ void ContainerSettings::AddButton(BCSettingsStruct* info)
{
-- std::cout<< "MLER | ContainerSettings::AddButton( BCSettingsStruct* info )" << std::endl;
++
ButtonPair* pair = new ButtonPair(
-- new ButtonInfo( info->buttonName, info->icon ),
-- new ButtonAction( info->buttonDescription, info->eventFunction ) );
++ new ButtonInfo(info->buttonName, info->icon),
++ new ButtonAction(info->buttonDescription, info->eventFunction));
try
{
-- for( KeyMapList::iterator it = this->m_GroupNameList.begin( ); it
-- != this->m_GroupNameList.end( ); ++it )
++ for (KeyMapList::iterator it = this->m_GroupNameList.begin();
++ it != this->m_GroupNameList.end(); ++it)
{
-- if ( ( *it ).compare( info->groupName ) == 0 )
++ if ((*it).compare(info->groupName) == 0)
{
-- this->m_ButtonGroupContainer[ info->groupName ].push_back( pair );
++ this->m_ButtonGroupContainer[info->groupName].push_back(pair);
return;
-- }//fi
-- }//rof
-- this->m_GroupNameList.push_back( info->groupName );
-- this->m_ButtonGroupContainer[ info->groupName ].push_back( pair );
-- }//yrt
-- catch ( const std::exception& e )
++ } //fi
++ } //rof
++ this->m_GroupNameList.push_back(info->groupName);
++ this->m_ButtonGroupContainer[info->groupName].push_back(pair);
++ } //yrt
++ catch (const std::exception& e)
{
std::cerr
-- << "void ContainerSettings::AddButton( BCSettingsStruct* info ) "
-- << "exception: " << e.what( ) << std::endl;
-- }//hctac
++ << "void ContainerSettings::AddButton( BCSettingsStruct* info ) "
++ << "exception: " << e.what() << std::endl;
++ } //hctac
}
// ----------------------------------------------------------------------------------
-- void
-- ContainerSettings::AddButtons( BCStructVectorType infoList )
++ void ContainerSettings::AddButtons(BCStructVectorType infoList)
{
-- std::cout<< "MLER | ContainerSettings::AddButtons( BCStructVectorType infoList )" << std::endl;
++
try
{
-- for( BCStructVectorType::iterator it = infoList.begin( ); it
-- != infoList.end( ); ++it )
++ for (BCStructVectorType::iterator it = infoList.begin();
++ it != infoList.end(); ++it)
{
-- this->AddButton( *it );
-- }//rof
-- }//yrt
-- catch ( const std::exception& e )
++ this->AddButton(*it);
++ } //rof
++ } //yrt
++ catch (const std::exception& e)
{
std::cerr
-- << "ContainerSettings::AddButtons( BCStructVectorType infoList ) "
-- << "exception: " << e.what( ) << std::endl;
-- }//hctac
++ << "ContainerSettings::AddButtons( BCStructVectorType infoList ) "
++ << "exception: " << e.what() << std::endl;
++ } //hctac
}
// ----------------------------------------------------------------------------------
}//ecapseman
--}//ecapseman
++} //ecapseman
#include <vector>
#include <wx/bitmap.h>
--//EED-MLER #include <wx/listctrl.h>
#include "structBCSettings.h"
#include "system.h"
ButtonGroupMap m_ButtonGroupContainer; //! <The container with the group of buttons.
KeyMapList m_GroupNameList; //! <The container with the name of the groups of buttons.
-- //ListGroupMap m_ListGroupContainer; // contenedor del grupo de listas
};
}
}
/*# ---------------------------------------------------------------------
--#
--# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
--# pour la Sant�)
--# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
--# Previous Authors : Laurent Guigues, Jean-Pierre Roux
--# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
--#
--# This software is governed by the CeCILL-B license under French law and
--# abiding by the rules of distribution of free software. You can use,
--# modify and/ or redistribute the software under the terms of the CeCILL-B
--# license as circulated by CEA, CNRS and INRIA at the following URL
--# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
--# or in the file LICENSE.txt.
--#
--# As a counterpart to the access to the source code and rights to copy,
--# modify and redistribute granted by the license, users are provided only
--# with a limited warranty and the software's author, the holder of the
--# economic rights, and the successive licensors have only limited
--# liability.
--#
--# The fact that you are presently reading this means that you have had
--# knowledge of the CeCILL-B license and that you accept its terms.
--# ------------------------------------------------------------------------ */
++ #
++ # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
++ # pour la Sant�)
++ # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
++ # Previous Authors : Laurent Guigues, Jean-Pierre Roux
++ # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
++ #
++ # This software is governed by the CeCILL-B license under French law and
++ # abiding by the rules of distribution of free software. You can use,
++ # modify and/ or redistribute the software under the terms of the CeCILL-B
++ # license as circulated by CEA, CNRS and INRIA at the following URL
++ # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
++ # or in the file LICENSE.txt.
++ #
++ # As a counterpart to the access to the source code and rights to copy,
++ # modify and redistribute granted by the license, users are provided only
++ # with a limited warranty and the software's author, the holder of the
++ # economic rights, and the successive licensors have only limited
++ # liability.
++ #
++ # The fact that you are presently reading this means that you have had
++ # knowledge of the CeCILL-B license and that you accept its terms.
++ # ------------------------------------------------------------------------ */
/*!
* @file functor.cxx
* @brief Implements TFunctor class and it propose is Call_Back Functions
* @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr)
* @date 2011-06-02
--*/
++ */
namespace creaButtonContainer
{
-- namespace model
-- {
-- // constructor - takes pointer to an object and pointer to a member and stores
-- // them in two private variables
-- // -------------------------------------------------------------------------------
-- template< typename TClass >
-- TConcreteFunctor< TClass >::TConcreteFunctor( TClass* _pt2Object, void
-- (TClass::*_fpt)( const ButtonIDType &buttonName ) )
-- {
-- this->pt2Object = _pt2Object;
-- this->fpt = _fpt;
-- }
-- // -------------------------------------------------------------------------------
-- // override operator "()" // execute member functions
-- template< typename TClass >
-- void
-- TConcreteFunctor< TClass >::operator()( const ButtonIDType &buttonName )
-- {std::cout << "MLER - TConcreteFunctor< TClass >::operator():" << buttonName << std::endl;
-- try
-- {
-- ( *pt2Object.*fpt )( buttonName );
-- }//yrt
-- catch ( const std::exception& e )
-- {
-- std::cerr<< "TConcreteFunctor< TClass >::operator()( const ButtonIDType &buttonName )"
-- <<" exception: " << e.what( ) << std::endl;
-- }//hctac
-- }
-- // -------------------------------------------------------------------------------
-- // override function "Call" // execute member function
-- template< typename TClass >
-- void
-- TConcreteFunctor< TClass >::Call( const ButtonIDType &buttonName )
-- {
-- std::cout << "MLER - TConcreteFunctor< TClass >::Call " << buttonName << std::endl;
-- try
-- {
-- ( *pt2Object.*fpt )( buttonName );
-- }//yrt
-- catch ( const std::exception& e )
-- {
-- std::cerr<< "TConcreteFunctor< TClass >::Call( const ButtonIDType &buttonName )"
-- <<" exception: " << e.what( ) << std::endl;
-- }//hctac
-- }
-- }//ecapseman
--}//ecapseman
++ namespace model
++ {
++ // constructor - takes pointer to an object and pointer to a member and stores
++ // them in two private variables
++ // -------------------------------------------------------------------------------
++ template<typename TClass>
++ TConcreteFunctor<TClass>::TConcreteFunctor(TClass* _pt2Object,
++ void (TClass::*_fpt)(const ButtonIDType &buttonName))
++ {
++ this->pt2Object = _pt2Object;
++ this->fpt = _fpt;
++ }
++ // -------------------------------------------------------------------------------
++ // override operator "()" // execute member functions
++ template<typename TClass>
++ void TConcreteFunctor<TClass>::operator()(const ButtonIDType &buttonName)
++ {
++ try
++ {
++ (*pt2Object.*fpt)(buttonName);
++ } //yrt
++ catch (const std::exception& e)
++ {
++ std::cerr
++ << "TConcreteFunctor< TClass >::operator()( const ButtonIDType &buttonName )"
++ << " exception: " << e.what() << std::endl;
++ } //hctac
++ }
++ // -------------------------------------------------------------------------------
++ // override function "Call" // execute member function
++ template<typename TClass>
++ void TConcreteFunctor<TClass>::Call(const ButtonIDType &buttonName)
++ {
++ try
++ {
++ (*pt2Object.*fpt)(buttonName);
++ } //yrt
++ catch (const std::exception& e)
++ {
++ std::cerr
++ << "TConcreteFunctor< TClass >::Call( const ButtonIDType &buttonName )"
++ << " exception: " << e.what() << std::endl;
++ } //hctac
++ }
++ } //ecapseman
++} //ecapseman
+++ /dev/null
--/*# ---------------------------------------------------------------------
--#
--# 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*/
--
--
+++ /dev/null
--/*# ---------------------------------------------------------------------
--#
--# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
--# pour la Sant�)
--# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
--# Previous Authors : Laurent Guigues, Jean-Pierre Roux
--# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
--#
--# This software is governed by the CeCILL-B license under French law and
--# abiding by the rules of distribution of free software. You can use,
--# modify and/ or redistribute the software under the terms of the CeCILL-B
--# license as circulated by CEA, CNRS and INRIA at the following URL
--# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
--# or in the file LICENSE.txt.
--#
--# As a counterpart to the access to the source code and rights to copy,
--# modify and redistribute granted by the license, users are provided only
--# with a limited warranty and the software's author, the holder of the
--# economic rights, and the successive licensors have only limited
--# liability.
--#
--# The fact that you are presently reading this means that you have had
--# knowledge of the CeCILL-B license and that you accept its terms.
--# ------------------------------------------------------------------------ */
--
--/*#ifndef LISTGROUPFACTORY_H
--#define LISTGROUPFACTORY_H
--
--#include <wx/window.h>
--
--#include "system.h"
--#include "button.h"
--#include "listGroup.h"
--#include "containerSettings.h"
--
--
--namespace creaButtonContainer
--{
--
-- namespace model
-- {
--
-- class ListGroupFactory
-- {
-- public:
--
-- typedef creaButtonContainer::view::ListWx Button;
-- // ----------------------------------------------------------------------------------
--
-- typedef creaButtonContainer::view::ListGroup ButtonGroup;
-- // ----------------------------------------------------------------------------------
--
-- typedef creaButtonContainer::model::ContainerSettings ButtonGroupModel;
-- // ----------------------------------------------------------------------------------
--
-- typedef std::list< ButtonGroup* > ButtonGroupContainer;
-- // ----------------------------------------------------------------------------------
--
-- typedef std::map< long, Button* > ButtonContainer;
-- // ----------------------------------------------------------------------------------
-- //end of typedef definition
-- public:
--
-- ListGroupFactory( );
-- // -------------------------------------------------------------------------------
--
-- virtual
-- ~ListGroupFactory( );
--
-- ButtonGroupContainer
-- CreateButtonGroupContainer( wxWindow* parent,
-- ButtonGroupModel* settings );
-- private:
--
--
-- ButtonContainer
-- GetButtons( wxWindow* parent, ButtonList buttonModel );
-- };
-- }//ecapseman
--}//ecapseman
--
--#endif // LISTGROUPFACTORY_H*/
/*# ---------------------------------------------------------------------
--#
--# 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
StringType iconpath; //! <The iconPath of the button.
BitmapType icon; //! <The iconPath of the button.
StringType buttonDescription; //! <The description of the button.
-- FunctionEventType eventFunction; //! <The event associated to the button.
++ FunctionEventType eventFunction; //! <The event associated to the button.
-- //===MLER===
-- StringType type; //!<Tipo contenedor>
-- StringType itemsList;
};
} //ecapseman
} //ecapseman
// ----------------------------------------------------------------------------------
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;
StringType
Button::GetButtonName( )
{
-- std::cout<< "MLER | Button::GetButtonName( )" << std::endl;
return ( this->m_ButtonPair->first->first );
}
BitmapType
Button::GetIcon( )
{
-- std::cout<< "MLER | Button::GetIcon( )" << std::endl;
return ( this->m_ButtonPair->first->second );
}
StringType
Button::GetDescription( )
{
-- std::cout<< "MLER | Button::GetDescription( )" << std::endl;
return ( this->m_ButtonPair->second->first );
}
void
Button::Execute( )
{
-- std::cout<< "MLER | Button::Execute( )" << std::endl;
try
{
TFunctor* vTable[ ] =
{ this->m_ButtonPair->second->second };
vTable[ 0 ]->Call( this->m_ButtonPair->first->first );
-- std::cout<< "Call Button: " << this->m_ButtonPair->first->first <<std::endl;
}//yrt
catch ( const std::exception& e )
{
/*# ---------------------------------------------------------------------
--#
--# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
--# pour la Sant�)
--# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
--# Previous Authors : Laurent Guigues, Jean-Pierre Roux
--# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
--#
--# This software is governed by the CeCILL-B license under French law and
--# abiding by the rules of distribution of free software. You can use,
--# modify and/ or redistribute the software under the terms of the CeCILL-B
--# license as circulated by CEA, CNRS and INRIA at the following URL
--# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
--# or in the file LICENSE.txt.
--#
--# As a counterpart to the access to the source code and rights to copy,
--# modify and redistribute granted by the license, users are provided only
--# with a limited warranty and the software's author, the holder of the
--# economic rights, and the successive licensors have only limited
--# liability.
--#
--# The fact that you are presently reading this means that you have had
--# knowledge of the CeCILL-B license and that you accept its terms.
--# ------------------------------------------------------------------------ */
++ #
++ # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
++ # pour la Sant�)
++ # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
++ # Previous Authors : Laurent Guigues, Jean-Pierre Roux
++ # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
++ #
++ # This software is governed by the CeCILL-B license under French law and
++ # abiding by the rules of distribution of free software. You can use,
++ # modify and/ or redistribute the software under the terms of the CeCILL-B
++ # license as circulated by CEA, CNRS and INRIA at the following URL
++ # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
++ # or in the file LICENSE.txt.
++ #
++ # As a counterpart to the access to the source code and rights to copy,
++ # modify and redistribute granted by the license, users are provided only
++ # with a limited warranty and the software's author, the holder of the
++ # economic rights, and the successive licensors have only limited
++ # liability.
++ #
++ # The fact that you are presently reading this means that you have had
++ # knowledge of the CeCILL-B license and that you accept its terms.
++ # ------------------------------------------------------------------------ */
/*!
* @file buttonGroup.cxx
: wxScrolledWindow(parent,-1, wxDefaultPosition,wxDefaultSize, wxTAB_TRAVERSAL | wxVSCROLL | wxHSCROLL | wxFULL_REPAINT_ON_RESIZE, _T("creaButtonContainer") )
{
-- std::cout<< "MLER | ButtonContainerPanel::ButtonContainerPanel( )" << std::endl;
--
ButtonGroupFactory factory;
- //ListGroupFactory listFactory;
-
- //MLER this->SetButtonGroupContainer( factory.CreateButtonGroupContainer( this, settings ) );
- std::cout<< std::endl << " MLER buttonContainerPanel.cxx / ButtonContainerPanel() :: type " << type<<std::endl;
- switch (type)
- {
- case 0:
- this->SetButtonGroupContainer( factory.CreateButtonGroupContainer( this, settings ) );
- break;
- //case 1:
- //this->SetListGroupContainer(listFactory.CreateButtonGroupContainer( this, settings ) );
- // MLER Verificar ButtonGroupList contra ListGroupList
- //break;
- default:
- this->SetButtonGroupContainer(factory.CreateButtonGroupContainer( this, settings ) );
- }
-
+ this->SetButtonGroupContainer( factory.CreateButtonGroupContainer( this, settings ) );
- this->PanelInit(type );
-
+ this->PanelInit( );
this->m_ButtonCController = new BCController( this );
this->m_ButtonCController->AddEvents( );
this->SetEventHandler( this->m_ButtonCController );
}
--
++
// ----------------------------------------------------------------------------------
-- ButtonContainerPanel::~ButtonContainerPanel( )
++ ButtonContainerPanel::~ButtonContainerPanel()
{
}
--
++
// ----------------------------------------------------------------------------------
-- void ButtonContainerPanel::SetButtonGroupContainer(ButtonGroupList groupContainer )
++ void ButtonContainerPanel::SetButtonGroupContainer(
++ ButtonGroupList groupContainer)
{
-- std::cout<< "MLER | ButtonContainerPanel::SetButtonGroupContainer()" << std::endl;
++
this->m_ButtonGroupList = groupContainer;
}
++
// ----------------------------------------------------------------------------------
-- /*void ButtonContainerPanel::SetListGroupContainer(ListGroupList groupContainer )
-- {
-- this->m_ListGroupList = groupContainer;
-- }*/
--
-- // ----------------------------------------------------------------------------------
- void ButtonContainerPanel::PanelInit( int type )
- void ButtonContainerPanel::PanelInit( )
++ void ButtonContainerPanel::PanelInit()
{
- std::cout<< "MLER | ButtonContainerPanel::PanelInit( int type )" << std::endl;
- std::cout<< "MLER | ButtonContainerPanel::PanelInit( )" << std::endl;
try
{
--
++
// EED 20/01/2012 flag 01
-- this->m_Sizer = new Sizer( 0, 1, 0, 0 );
- std::cout << " MLER buttonContainerPanel.cxx / Panel Init() :: type " << type << std::endl;
++ this->m_Sizer = new Sizer(0, 1, 0, 0);
- if(type == 0)
- for( ButtonGroupList::iterator it = this->m_ButtonGroupList.begin( ); it != this->m_ButtonGroupList.end( ); ++it )
- {
- GroupManager* manager = new GroupManager( this, *it );
- this->m_GroupManagerList[ manager->GetButtonID( ) ] = manager;
- this->m_Sizer->Add( manager, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 );
- }
++ for (ButtonGroupList::iterator it = this->m_ButtonGroupList.begin();
++ it != this->m_ButtonGroupList.end(); ++it)
+ {
- for( ButtonGroupList::iterator it = this->m_ButtonGroupList.begin( ); it != this->m_ButtonGroupList.end( ); ++it )
- {
- GroupManager* manager = new GroupManager( this, *it );
- this->m_GroupManagerList[ manager->GetButtonID( ) ] = manager;
- this->m_Sizer->Add( manager, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 );
- }
++ GroupManager* manager = new GroupManager(this, *it);
++ this->m_GroupManagerList[manager->GetButtonID()] = manager;
++ this->m_Sizer->Add(manager, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5);
+ }
- /*else
- {
- for(ListGroupList::iterator it1 = this->m_ListGroupList.begin(); it1 != this->m_ListGroupList.end(); ++it1)
- {
- GroupManager* manager = new GroupManager( this, *it1);
- this->m_GroupManagerList[ manager->GetButtonID( ) ] = manager;
- this->m_Sizer->Add( manager, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 );
- }
- }//MLER*/
-- this->SetSizer( this->m_Sizer );
-- this->Layout( );
-- this->FitSizer( );
-- }//yrt
-- catch ( const std::exception& e )
++ this->SetSizer(this->m_Sizer);
++ this->Layout();
++ this->FitSizer();
++ } //yrt
++ catch (const std::exception& e)
{
std::cerr << "ButtonContainerPanel::PanelInit( ) " << "exception: "
-- << e.what( ) << std::endl;
-- }//hctac
++ << e.what() << std::endl;
++ } //hctac
}
--
++
// ----------------------------------------------------------------------------------
-- void ButtonContainerPanel::FitSizer( )
++ void ButtonContainerPanel::FitSizer()
{
-- std::cout<< "MLER | ButtonContainerPanel::FitSizer( )" << std::endl;
-- this->m_Sizer->Fit( this );
-- this->m_Sizer->FitInside( this );
-- this->SetScrollRate( 20, 20 );
-- this->m_Sizer->SetSizeHints( this );
++ this->m_Sizer->Fit(this);
++ this->m_Sizer->FitInside(this);
++ this->SetScrollRate(20, 20);
++ this->m_Sizer->SetSizeHints(this);
}
// ----------------------------------------------------------------------------------
}//ecapseman
--}//ecapseman
++} //ecapseman
/*# ---------------------------------------------------------------------
--#
--# 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
#include "buttonGroupFactory.h"
#include "containerSettings.h"
#include "buttonContainerController.h"
--//EED-MLER #include "listGroup.h"
--//EED-MLER #include "listGroupFactory.h"
/*! @namespace <creaButtonContainer>
* @brief Contains the creaButtonContainer library included in creaMaracasVisu.
* @bug The scrolled it doesn't work! (to be changed soon)
* @see <a href="http://docs.wxwidgets.org/stable/wx_wxscrolledwindow.html">wxScrolledWindow</a>
*/
-- class ButtonContainerPanel : public wxScrolledWindow
++ class ButtonContainerPanel: public wxScrolledWindow
{
public:
//typedef definition
/*! @typedef std::list< ButtonGroup* > ButtonGroupList;
* @brief Defines the ButtonGroupList type.
*/
-- typedef std::list< ButtonGroup* > ButtonGroupList;
++ typedef std::list<ButtonGroup*> ButtonGroupList;
// ----------------------------------------------------------------------------------
/*! @typedef std::map< long, GroupManager* > GroupManagerList;
* @brief Defines the GroupManagerList type.
*/
-- typedef std::map< long, GroupManager* > GroupManagerList;
++ typedef std::map<long, GroupManager*> GroupManagerList;
// ----------------------------------------------------------------------------------
/*! @typedef wxFlexGridSizer Sizer;
* @brief Defines the Sizer type.
/*! @typedef std::list< long > KeyList;
* @brief Defines the KeyList type.
*/
-- typedef std::list< long > KeyList;
++ typedef std::list<long> KeyList;
// ----------------------------------------------------------------------------------
/*! @typedef creaButtonContainer::model::ContainerSettings ButtonGroupSettings;
* @brief Defines the ButtonGroupSettings type.
*/
-- typedef creaButtonContainer::model::ContainerSettings
-- ButtonGroupSettings;
++ typedef creaButtonContainer::model::ContainerSettings ButtonGroupSettings;
// ----------------------------------------------------------------------------------
/*! @typedef creaButtonContainer::model::ButtonGroupFactory ButtonGroupFactory;
* @brief Defines the ButtonGroupFactory type.
*/
-- typedef creaButtonContainer::model::ButtonGroupFactory
-- ButtonGroupFactory;
++ typedef creaButtonContainer::model::ButtonGroupFactory ButtonGroupFactory;
// ----------------------------------------------------------------------------------
/*! creaButtonContainer::controller::ButtonContainerController BCController;
* @brief Defines the BCController type.
*/
-- typedef creaButtonContainer::controller::ButtonContainerController
-- BCController;
--
--
-- //typedef creaButtonContainer::model::ListGroupFactory ListGroupFactory;
--
-- //typedef creaButtonContainer::view::ListGroup ListGroup;
--
-- //typedef std::list< ListGroup* > ListGroupList;
--
-- //typedef creaButtonContainer::model::ListGroupFactory ListGroupFactory;
--
++ typedef creaButtonContainer::controller::ButtonContainerController BCController;
// ----------------------------------------------------------------------------------
//end of typedef definition
* @param parent wxWindow pointer to parent.
* @param settings ButtonGroupSettings Pointer to button container settings.
*/
- ButtonContainerPanel( wxWindow* parent, ButtonGroupSettings* settings, int type );
- ButtonContainerPanel( wxWindow* parent, ButtonGroupSettings* settings);
++ ButtonContainerPanel(wxWindow* parent, ButtonGroupSettings* settings);
// ----------------------------------------------------------------------------------
/*! @fn ~ButtonContainerPanel( );
* @brief This is the destructor.
*/
virtual
-- ~ButtonContainerPanel( );
++ ~ButtonContainerPanel();
// ----------------------------------------------------------------------------------
/*! @fn SetGroupContainer( ButtonGroupList groupContainer );
* @brief This method sets the settings to the container.
* @param groupContainer
*/
void
-- SetButtonGroupContainer( ButtonGroupList groupContainer );
++ SetButtonGroupContainer(ButtonGroupList groupContainer);
// ----------------------------------------------------------------------------------
/*! @fn PanelInit( );
* This method initializes the panel.
* @exception std::bad_alloc
*/
void
- PanelInit( int type);
- PanelInit( );
++ PanelInit();
// ----------------------------------------------------------------------------------
//void
* This method fits and organizes the sizer.
*/
void
-- FitSizer( );
++ FitSizer();
// ----------------------------------------------------------------------------------
public:
friend class creaButtonContainer::controller::ButtonContainerController;
private:
-- GroupManagerList m_GroupManagerList; //!<The container of managers.
-- ButtonGroupList m_ButtonGroupList; //!<The list of button groups.
-- BCController* m_ButtonCController; //!<Pontier to controller.
-- Sizer* m_Sizer; //!<Pointer to wxSizer
--
--
-- //ListGroupList m_ListGroupList;
++ GroupManagerList m_GroupManagerList; //!<The container of managers.
++ ButtonGroupList m_ButtonGroupList; //!<The list of button groups.
++ BCController* m_ButtonCController; //!<Pontier to controller.
++ Sizer* m_Sizer; //!<Pointer to wxSizer
-- DECLARE_EVENT_TABLE() //!<Event Table declaration.
++ DECLARE_EVENT_TABLE()
++ //!<Event Table declaration.
};
-- }//ecapseman
--}//ecapseman
++ } //ecapseman
++} //ecapseman
#endif // BUTTONCONTAINERPANEL_H
/*# ---------------------------------------------------------------------
--#
--# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
--# pour la Sant�)
--# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
--# Previous Authors : Laurent Guigues, Jean-Pierre Roux
--# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
--#
--# This software is governed by the CeCILL-B license under French law and
--# abiding by the rules of distribution of free software. You can use,
--# modify and/ or redistribute the software under the terms of the CeCILL-B
--# license as circulated by CEA, CNRS and INRIA at the following URL
--# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
--# or in the file LICENSE.txt.
--#
--# As a counterpart to the access to the source code and rights to copy,
--# modify and redistribute granted by the license, users are provided only
--# with a limited warranty and the software's author, the holder of the
--# economic rights, and the successive licensors have only limited
--# liability.
--#
--# The fact that you are presently reading this means that you have had
--# knowledge of the CeCILL-B license and that you accept its terms.
--# ------------------------------------------------------------------------ */
++ #
++ # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
++ # pour la Sant�)
++ # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
++ # Previous Authors : Laurent Guigues, Jean-Pierre Roux
++ # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
++ #
++ # This software is governed by the CeCILL-B license under French law and
++ # abiding by the rules of distribution of free software. You can use,
++ # modify and/ or redistribute the software under the terms of the CeCILL-B
++ # license as circulated by CEA, CNRS and INRIA at the following URL
++ # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
++ # or in the file LICENSE.txt.
++ #
++ # As a counterpart to the access to the source code and rights to copy,
++ # modify and redistribute granted by the license, users are provided only
++ # with a limited warranty and the software's author, the holder of the
++ # economic rights, and the successive licensors have only limited
++ # liability.
++ #
++ # The fact that you are presently reading this means that you have had
++ # knowledge of the CeCILL-B license and that you accept its terms.
++ # ------------------------------------------------------------------------ */
/*!
* @file buttonGroup.cxx
namespace view
{
// ----------------------------------------------------------------------------------
-- ButtonGroup::ButtonGroup( wxStaticText* groupName, ButtonContainer cartoButtons )
++ ButtonGroup::ButtonGroup(wxStaticText* groupName,
++ ButtonContainer cartoButtons)
{
-- std::cout<< "MLER | ButtonGroup::ButtonGroup()" << std::endl;
this->m_GroupName = groupName;
this->m_Buttons = cartoButtons;
}
--
++
// ----------------------------------------------------------------------------------
-- ButtonGroup::~ButtonGroup( )
++ ButtonGroup::~ButtonGroup()
{
}
--
++
// ----------------------------------------------------------------------------------
-- ButtonGroup::ButtonContainer
-- ButtonGroup::GetButtonContainer( )
++ ButtonGroup::ButtonContainer ButtonGroup::GetButtonContainer()
{
-- std::cout<< "MLER | ButtonGroup::GetButtonContainer( )" << std::endl;
-- return ( this->m_Buttons );
++ return (this->m_Buttons);
}
--
++
// ----------------------------------------------------------------------------------
wxStaticText*
-- ButtonGroup::GetGroupName( )
++ ButtonGroup::GetGroupName()
{
-- return ( this->m_GroupName );
++ return (this->m_GroupName);
}
--
++
// ----------------------------------------------------------------------------------
-- ButtonGroup::IdButtonContainer
-- ButtonGroup::GetButtonIdContainer( )
++ ButtonGroup::IdButtonContainer ButtonGroup::GetButtonIdContainer()
{
-- std::cout<< "MLER | ButtonGroup::GetButtonIdContainer( )" << std::endl;
IdButtonContainer idContainer;
try
{
-- for( ButtonContainer::iterator it = this->m_Buttons.begin( ); it
-- != this->m_Buttons.end( ); ++it )
++ for (ButtonContainer::iterator it = this->m_Buttons.begin();
++ it != this->m_Buttons.end(); ++it)
{
-- idContainer.push_back( ( *it ).first );
-- }//rof
-- }//yrt
-- catch ( std::exception& e )
++ idContainer.push_back((*it).first);
++ } //rof
++ } //yrt
++ catch (std::exception& e)
{
std::cerr << "ButtonGroup::GetButtonIdContainer( )" << "exception: "
-- << e.what( ) << std::endl;
-- }//hctac
-- return ( idContainer );
++ << e.what() << std::endl;
++ } //hctac
++ return (idContainer);
}
--
++
// ----------------------------------------------------------------------------------
Button*
-- ButtonGroup::GetButton( long id )
++ ButtonGroup::GetButton(long id)
{
-- std::cout<< "MLER | ButtonGroup::GetButton( long id )" << std::endl;
try
{
//return ( this->m_Buttons[ id ] ); // JPR
-- }//yrt
-- catch ( std::exception& e )
++ } //yrt
++ catch (std::exception& e)
{
std::cerr << "ButtonGroup::GetButton( long id )" << "exception: "
-- << e.what( ) << std::endl;
-- }//hctac
-- return ( this->m_Buttons[ id ] );// JPR
++ << e.what() << std::endl;
++ } //hctac
++ return (this->m_Buttons[id]); // JPR
}
// ----------------------------------------------------------------------------------
}//ecapseman
--}//ecapseman
++} //ecapseman
/*# ---------------------------------------------------------------------
--#
--# 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
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
/*# ---------------------------------------------------------------------
--#
--# 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
#include "button.h"
#include "buttonGroup.h"
--#include "listWx.h"
--#include "listGroup.h"
/*! @namespace <creaButtonContainer>
* @brief Contains the creaButtonContainer library included in creaMaracasVisu.
* @details This class describes a wxFlexGridSizer with the button manager.
* @see <a href="http://docs.wxwidgets.org/stable/wx_wxflexGridSizer.html">wxFlexGridSizer</a>
*/
-- class ButtonManager : public wxFlexGridSizer
++ class ButtonManager: public wxFlexGridSizer
{
public:
//typedef definition.
/*! @typedef std::map< long, Button* > ButtonContainer;
* @brief Defines the ButtonContainer type.
*/
-- typedef std::map< long, Button* > ButtonContainer;
++ typedef std::map<long, Button*> ButtonContainer;
// ----------------------------------------------------------------------------------
-- //MLER
-- //typedef creaButtonContainer::view::ListGroup ListGroup;
-- //typedef std::map<long, ListWx* > ListContainer;
//end of typedef definition.
public:
* @brief This is the default constructor.
* @exception std::bad_alloc
*/
-- ButtonManager( );
++ ButtonManager();
// ----------------------------------------------------------------------------------
/*! @fn ButtonManager( ButtonGroup* buttonGroup );
* @brief This is the parameterized constructor
* @param buttonGroup The group of buttons.
*/
-- ButtonManager( ButtonGroup* buttonGroup );
-- // ----------------------------------------------------------------------------------
-- //MLER
-- //ButtonManager (ListGroup* buttonGroup);
++ ButtonManager(ButtonGroup* buttonGroup);
++
// ----------------------------------------------------------------------------------
/*! @fn ~ButtonManager( );
* @brief This is the destructor.
*/
virtual
-- ~ButtonManager( );
++ ~ButtonManager();
// ----------------------------------------------------------------------------------
/*! @fn SetGroupName( wxStaticText* groupName );
* @details Sets the groupName.
* @param groupName
*/
void
-- SetGroupName( wxStaticText* groupName );
++ SetGroupName(wxStaticText* groupName);
// ----------------------------------------------------------------------------------
/*! @fn ShowButtonManager( );
* @brief This method shows the ButtonManager
*/
void
-- ShowButtonManager( );
++ ShowButtonManager();
// ----------------------------------------------------------------------------------
/*! @fn HideButtonManager( );
* @brief This method hides the ButtonManager.
* @exception std::bad_alloc
*/
void
-- HideButtonManager( );
++ HideButtonManager();
// ----------------------------------------------------------------------------------
private:
// ----------------------------------------------------------------------------------
* @param buttonContainer
*/
void
-- SetButtonManager( ButtonContainer buttonContainer );
++ SetButtonManager(ButtonContainer buttonContainer);
// ----------------------------------------------------------------------------------
-- //MLER
-- /*void
-- SetListManager( ListContainer buttonContainer );*/
-- // ----------------------------------------------------------------------------------
--
private:
wxStaticText* m_GroupName; //!<The name of the group.
wxGridSizer* m_GridSizer; //!<The sizer that contains the buttons.
};
-- }//ecapseman
--}//ecapseman
++ } //ecapseman
++} //ecapseman
#endif // CARTOBUTTONCONTAINER_H
/*# ---------------------------------------------------------------------
--#
--# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
--# pour la Sant�)
--# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
--# Previous Authors : Laurent Guigues, Jean-Pierre Roux
--# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
--#
--# This software is governed by the CeCILL-B license under French law and
--# abiding by the rules of distribution of free software. You can use,
--# modify and/ or redistribute the software under the terms of the CeCILL-B
--# license as circulated by CEA, CNRS and INRIA at the following URL
--# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
--# or in the file LICENSE.txt.
--#
--# As a counterpart to the access to the source code and rights to copy,
--# modify and redistribute granted by the license, users are provided only
--# with a limited warranty and the software's author, the holder of the
--# economic rights, and the successive licensors have only limited
--# liability.
--#
--# The fact that you are presently reading this means that you have had
--# knowledge of the CeCILL-B license and that you accept its terms.
--# ------------------------------------------------------------------------ */
++ #
++ # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
++ # pour la Sant�)
++ # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
++ # Previous Authors : Laurent Guigues, Jean-Pierre Roux
++ # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
++ #
++ # This software is governed by the CeCILL-B license under French law and
++ # abiding by the rules of distribution of free software. You can use,
++ # modify and/ or redistribute the software under the terms of the CeCILL-B
++ # license as circulated by CEA, CNRS and INRIA at the following URL
++ # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
++ # or in the file LICENSE.txt.
++ #
++ # As a counterpart to the access to the source code and rights to copy,
++ # modify and redistribute granted by the license, users are provided only
++ # with a limited warranty and the software's author, the holder of the
++ # economic rights, and the successive licensors have only limited
++ # liability.
++ #
++ # The fact that you are presently reading this means that you have had
++ # knowledge of the CeCILL-B license and that you accept its terms.
++ # ------------------------------------------------------------------------ */
/*!
* @file groupManager.cxx
namespace view
{
// ----------------------------------------------------------------------------------
-- GroupManager::GroupManager( wxWindow* parent, ButtonGroup* buttonGroup ) :
-- wxFlexGridSizer( 1, 0, 0, 0 )
++ GroupManager::GroupManager(wxWindow* parent, ButtonGroup* buttonGroup)
++ : wxFlexGridSizer(1, 0, 0, 0)
{
//EED 20/01/2012 flag 02
-- std::cout<< "MLER | GroupManager::GroupManager( )" << std::endl;
-- this->m_IDExpButton = wxNewId( );
-- this->m_ExpansionButton = new ExpansionButton( parent, this->m_IDExpButton, _("-"), wxDefaultPosition, wxSize( 20, 20 ), 0, wxDefaultValidator, _T("EXPBUTTON") );
-- this->Add( m_ExpansionButton, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 );
-- this->m_ButtonManager = new ButtonManager( buttonGroup );
-- this->Add( this->m_ButtonManager, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 );
++ this->m_IDExpButton = wxNewId();
++ this->m_ExpansionButton = new ExpansionButton(parent, this->m_IDExpButton,
++ _("-"), wxDefaultPosition, wxSize(20, 20), 0, wxDefaultValidator,
++ _T("EXPBUTTON"));
++ this->Add(m_ExpansionButton, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5);
++ this->m_ButtonManager = new ButtonManager(buttonGroup);
++ this->Add(this->m_ButtonManager, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP,
++ 5);
}
--
-- /*GroupManager::GroupManager(wxWindow* parent, ListGroup* buttonGroup ):
-- wxFlexGridSizer( 1, 0, 0, 0 )
-- {
-- std::cout << " MLER groupManager.cxx / GroupManager(ListGroup* buttonGroup) " << std::endl;
-- this->m_IDExpButton = wxNewId( );
-- this->m_ExpansionButton = new ExpansionButton( parent, this->m_IDExpButton, _("-"), wxDefaultPosition, wxSize( 20, 20 ), 0, wxDefaultValidator, _T("EXPBUTTON") );
-- this->Add( m_ExpansionButton, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 );
-- this->m_ButtonManager = new ButtonManager( buttonGroup );
-- this->Add( this->m_ButtonManager, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 );
-- }//MLER*/
// ----------------------------------------------------------------------------------
-- GroupManager::~GroupManager( )
++ GroupManager::~GroupManager()
{
}
--
++
// ----------------------------------------------------------------------------------
-- long
-- GroupManager::GetButtonID( )
++ long GroupManager::GetButtonID()
{
-- std::cout<< "MLER | GroupManager::GetButtonID( )" << std::endl;
-- return ( this->m_IDExpButton );
++ return (this->m_IDExpButton);
}
--
++
// ----------------------------------------------------------------------------------
GroupManager::ExpansionButton*
-- GroupManager::GetButton( )
++ GroupManager::GetButton()
{
-- std::cout<< "MLER | GroupManager::GetButton( )" << std::endl;
-- return ( this->m_ExpansionButton );
++ return (this->m_ExpansionButton);
}
--
++
// ----------------------------------------------------------------------------------
ButtonManager*
-- GroupManager::GetButtonManager( )
++ GroupManager::GetButtonManager()
{
-- return ( this->m_ButtonManager );
++ return (this->m_ButtonManager);
}
--
++
// ----------------------------------------------------------------------------------
-- void
-- GroupManager::SetButtonID( long id )
++ void GroupManager::SetButtonID(long id)
{
this->m_IDExpButton = id;
}
--
++
// ----------------------------------------------------------------------------------
-- void
-- GroupManager::SetButton( ExpansionButton* button )
++ void GroupManager::SetButton(ExpansionButton* button)
{
this->m_ExpansionButton = button;
}
--
++
// ----------------------------------------------------------------------------------
-- void
-- GroupManager::SetButtonManager( ButtonManager* container )
++ void GroupManager::SetButtonManager(ButtonManager* container)
{
this->m_ButtonManager = container;
}
--
++
// ----------------------------------------------------------------------------------
-- void
-- GroupManager::HideSubPanel( bool hide )
++ void GroupManager::HideSubPanel(bool hide)
{
-- std::cout<< "MLER | GroupManager::HideSubPanel( bool hide )" << std::endl;
-- if ( hide == true )
++ if (hide == true)
{
-- this->m_ButtonManager->HideButtonManager( );
-- }//fi
++ this->m_ButtonManager->HideButtonManager();
++ } //fi
else
{
-- this->m_ButtonManager->ShowButtonManager( );
-- }//esle
++ this->m_ButtonManager->ShowButtonManager();
++ } //esle
}
// ----------------------------------------------------------------------------------
}//ecapseman
--}//ecapseman
++} //ecapseman
/*# ---------------------------------------------------------------------
--#
--# 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
#include "buttonManager.h"
#include "buttonGroup.h"
--#include "listGroup.h"
/*! @namespace <creaButtonContainer>
* @brief Contains the creaButtonContainer library included in creaMaracasVisu.
* @details This class describes a wxFlexGridSizer with the group manager.
* @see <a href="http://docs.wxwidgets.org/stable/wx_wxflexGridSizer.html">wxFlexGridSizer</a>
*/
-- class GroupManager : public wxFlexGridSizer
++ class GroupManager: public wxFlexGridSizer
{
public:
//typedef definition
*/
typedef wxButton ExpansionButton;
// ----------------------------------------------------------------------------------
-- //MLER
-- //typedef creaButtonContainer::view::ListGroup ListGroup;
//end of typedef definition.
public:
* @param parent The wxWindow* parent
* @param buttonGroup The pointer to the ButtonGroup.
*/
-- GroupManager( wxWindow* parent, ButtonGroup* buttonGroup );
++ GroupManager(wxWindow* parent, ButtonGroup* buttonGroup);
// ----------------------------------------------------------------------------------
--
-- //MLER
-- //GroupManager( wxWindow* parent, ListGroup* listGroup );
/*! @fn ~GroupManager( );
* @brief This is the destructor.
-- */
++ */
virtual
-- ~GroupManager( );
++ ~GroupManager();
// ----------------------------------------------------------------------------------
/*! @fn GetButtonID( );
* @brief This method returns the Button ID.
* @return
*/
long
-- GetButtonID( );
++ GetButtonID();
// ----------------------------------------------------------------------------------
/*! @fn GetButton( );
* @brief This method returns the expansion button.
* @return
*/
ExpansionButton*
-- GetButton( );
++ GetButton();
// ----------------------------------------------------------------------------------
/*! @fn GetButtonManager( );
* @brief This method returns the manager of the buttons.
* @return
*/
ButtonManager*
-- GetButtonManager( );
++ GetButtonManager();
// ----------------------------------------------------------------------------------
/*! @fn SetButtonID( long id );
* @brief This method sets the ID of the expansion button.
* @param id
*/
void
-- SetButtonID( long id );
++ SetButtonID(long id);
// ----------------------------------------------------------------------------------
/*! @fn SetButton( ExpansionButton* button );
* @brief This method sets the expansion button.
* @param button
*/
void
-- SetButton( ExpansionButton* button );
++ SetButton(ExpansionButton* button);
// ----------------------------------------------------------------------------------
/*! @fn SetButtonManager( ButtonManager* manager );
* @brief This method Sets the ButtonManager
* @param manager A pointer with the manager.
*/
void
-- SetButtonManager( ButtonManager* manager );
++ SetButtonManager(ButtonManager* manager);
// ----------------------------------------------------------------------------------
/*! @fn HideSubPanel( bool hide );
* @brief This method hides the subPanel (Hides the buttons).
* @param hide True if you need to hide the buttons.
*/
void
-- HideSubPanel( bool hide );
++ HideSubPanel(bool hide);
private:
long m_IDExpButton; //!<ID of "+""-" expansion button.
ExpansionButton* m_ExpansionButton; //!<The expansion button.
ButtonManager* m_ButtonManager; //!<The button manager.
--
--
};
-- }//ecapseman
--}//ecapseman
++ } //ecapseman
++} //ecapseman
#endif // GROUPMANAGER_H
+++ /dev/null
--/*# ---------------------------------------------------------------------
--#
--# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
--# pour la Sant�)
--# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
--# Previous Authors : Laurent Guigues, Jean-Pierre Roux
--# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
--#
--# This software is governed by the CeCILL-B license under French law and
--# abiding by the rules of distribution of free software. You can use,
--# modify and/ or redistribute the software under the terms of the CeCILL-B
--# license as circulated by CEA, CNRS and INRIA at the following URL
--# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
--# or in the file LICENSE.txt.
--#
--# As a counterpart to the access to the source code and rights to copy,
--# modify and redistribute granted by the license, users are provided only
--# with a limited warranty and the software's author, the holder of the
--# economic rights, and the successive licensors have only limited
--# liability.
--#
--# The fact that you are presently reading this means that you have had
--# knowledge of the CeCILL-B license and that you accept its terms.
--# ------------------------------------------------------------------------ */
--
--/*#include "listGroup.h"
--
--namespace creaButtonContainer
--{
-- namespace view
-- {
-- // ----------------------------------------------------------------------------------
-- ListGroup::ListGroup( wxStaticText* groupName, ButtonContainer cartoButtons )
-- {
-- this->m_GroupName = groupName;
-- this->m_Buttons = cartoButtons;
-- }
--
-- // ----------------------------------------------------------------------------------
-- ListGroup::~ListGroup( )
-- {
-- }
--
-- // ----------------------------------------------------------------------------------
-- ListGroup::ButtonContainer
-- ListGroup::GetButtonContainer( )
-- {
-- return ( this->m_Buttons );
-- }
--
-- // ----------------------------------------------------------------------------------
-- wxStaticText*
-- ListGroup::GetGroupName( )
-- {
-- return ( this->m_GroupName );
-- }
--
-- // ----------------------------------------------------------------------------------
-- ListGroup::IdButtonContainer
-- ListGroup::GetButtonIdContainer( )
-- {
-- IdButtonContainer idContainer;
-- try
-- {
-- for( ButtonContainer::iterator it = this->m_Buttons.begin( ); it
-- != this->m_Buttons.end( ); ++it )
-- {
-- idContainer.push_back( ( *it ).first );
-- }//rof
-- }//yrt
-- catch ( std::exception& e )
-- {
-- std::cerr << "ButtonGroup::GetButtonIdContainer( )" << "exception: "
-- << e.what( ) << std::endl;
-- }//hctac
-- return ( idContainer );
-- }
--
-- // ----------------------------------------------------------------------------------
-- ListGroup::Button*
-- ListGroup::GetButton( long id )
-- {
-- try
-- {
-- //return ( this->m_Buttons[ id ] ); // JPR
-- }//yrt
-- catch ( std::exception& e )
-- {
-- std::cerr << "ButtonGroup::GetButton( long id )" << "exception: "
-- << e.what( ) << std::endl;
-- }//hctac
-- return ( this->m_Buttons[ id ] );// JPR
-- }
-- // ----------------------------------------------------------------------------------
-- }//ecapseman
--}//ecapseman*/
--
--
+++ /dev/null
--/*# ---------------------------------------------------------------------
--#
--# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
--# pour la Sant�)
--# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
--# Previous Authors : Laurent Guigues, Jean-Pierre Roux
--# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
--#
--# This software is governed by the CeCILL-B license under French law and
--# abiding by the rules of distribution of free software. You can use,
--# modify and/ or redistribute the software under the terms of the CeCILL-B
--# license as circulated by CEA, CNRS and INRIA at the following URL
--# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
--# or in the file LICENSE.txt.
--#
--# As a counterpart to the access to the source code and rights to copy,
--# modify and redistribute granted by the license, users are provided only
--# with a limited warranty and the software's author, the holder of the
--# economic rights, and the successive licensors have only limited
--# liability.
--#
--# The fact that you are presently reading this means that you have had
--# knowledge of the CeCILL-B license and that you accept its terms.
--# ------------------------------------------------------------------------ */
--
--#ifndef LISTGROUP_H
--#define LISTGROUP_H
--
--/*//Library Definition
--#include <wx/stattext.h>
--
--#include <map>
--#include <list>
--#include <exception>
--
--#include "listWx.h"
--
--namespace creaButtonContainer
--{
--
-- namespace view
-- {
--
-- class ListGroup
-- {
-- public:
--
-- typedef creaButtonContainer::view::ListWx Button;
--
-- typedef std::map< long, Button* > ButtonContainer;
--
-- typedef std::list< long > IdButtonContainer;
-- public:
--
-- ListGroup( wxStaticText* groupName, ButtonContainer buttons );
-- // ----------------------------------------------------------------------------------
--
-- virtual
-- ~ListGroup( );
-- // ----------------------------------------------------------------------------------
--
-- Button*
-- GetButton( long id );
-- // ----------------------------------------------------------------------------------
--
-- ButtonContainer
-- GetButtonContainer( );
-- // ----------------------------------------------------------------------------------
--
-- IdButtonContainer
-- GetButtonIdContainer( );
-- // ----------------------------------------------------------------------------------
--
-- wxStaticText*
-- GetGroupName( );
-- // ----------------------------------------------------------------------------------
-- private:
-- wxStaticText* m_GroupName; //!<A pointer with the wxStaticText of name of the group.
-- ButtonContainer m_Buttons; //!<A container with buttons.
-- };
-- }//ecapseman
--}//ecapseman*/
--
--#endif // LISTGROUP_H
/*# ---------------------------------------------------------------------
--#
--# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
--# pour la Sant�)
--# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
--# Previous Authors : Laurent Guigues, Jean-Pierre Roux
--# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
--#
--# This software is governed by the CeCILL-B license under French law and
--# abiding by the rules of distribution of free software. You can use,
--# modify and/ or redistribute the software under the terms of the CeCILL-B
--# license as circulated by CEA, CNRS and INRIA at the following URL
--# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
--# or in the file LICENSE.txt.
--#
--# As a counterpart to the access to the source code and rights to copy,
--# modify and redistribute granted by the license, users are provided only
--# with a limited warranty and the software's author, the holder of the
--# economic rights, and the successive licensors have only limited
--# liability.
--#
--# The fact that you are presently reading this means that you have had
--# knowledge of the CeCILL-B license and that you accept its terms.
--# ------------------------------------------------------------------------ */
--
--
++ #
++ # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
++ # pour la Sant�)
++ # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
++ # Previous Authors : Laurent Guigues, Jean-Pierre Roux
++ # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
++ #
++ # This software is governed by the CeCILL-B license under French law and
++ # abiding by the rules of distribution of free software. You can use,
++ # modify and/ or redistribute the software under the terms of the CeCILL-B
++ # license as circulated by CEA, CNRS and INRIA at the following URL
++ # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
++ # or in the file LICENSE.txt.
++ #
++ # As a counterpart to the access to the source code and rights to copy,
++ # modify and redistribute granted by the license, users are provided only
++ # with a limited warranty and the software's author, the holder of the
++ # economic rights, and the successive licensors have only limited
++ # liability.
++ #
++ # The fact that you are presently reading this means that you have had
++ # knowledge of the CeCILL-B license and that you accept its terms.
++ # ------------------------------------------------------------------------ */
#include "listWx.h"
{
namespace view
{
- ListWx::ListWx( wxWindow* parent, wxWindowID id,ItemsMap iMap , TFunctor* functor ): wxListCtrl(parent,id)
+ // ----------------------------------------------------------------------------------
- ListWx::ListWx( wxWindow* parent, wxWindowID id,ItemsMap iMap , TFunctor* functor ):
- wxPanel(parent,id)
+
++ ListWx::ListWx(wxWindow* parent, wxWindowID id, ItemsVector iVector,
++ TFunctor* functor)
++ : wxPanel(parent, id)
{
-- std::cout<< "MLER | ListWx::ListWx()" << std::endl;
-- this->m_itemsMap = iMap;
++ this->m_Functor = functor;
-- this->functor = functor;
- int i = 0;
- for (ItemsMap::iterator it=this->m_itemsMap.begin(); it!=this->m_itemsMap.end(); ++it)
- {
++ wxBoxSizer* sizer = new wxBoxSizer(wxHORIZONTAL);
- std::string key = it->first;
- long index = this->InsertItem(i, wxString(key.c_str(), wxConvUTF8));
- wxFlexGridSizer* sizer = new wxFlexGridSizer(1);
- sizer->Add( new wxStaticText(this,-1, _("Lista")));
- sizer->AddGrowableCol(0);
+ this->SetSizer(sizer);
- std::cout << "index" << index << std::endl;
- this->Connect( -1, wxEVT_COMMAND_LIST_ITEM_SELECTED,
- wxListEventHandler(ListWx::ListEvent) );
- i++;
- listBox = new wxListBox(this,-1);
- m_functorEnabled = true;
-
- std::cout << "is ListBox"<< listBox->GetId()<< std::endl;
- // this->Connect( -1,wxEVT_COMMAND_CHOICE_SELECTED,
- // (wxObjectEventFunction) (void (wxPanel::*)(wxEvent&))(&ListWx::ListEvent) );
- //this->Connect(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED,
- // wxCommandEventHandler(ListWx::ListEvent));
++ this->m_ListBox = new wxListBox(this, -1);
++ this->m_FunctorEnabled = true;
+
+ this->Connect(wxEVT_COMMAND_LISTBOX_SELECTED,
- wxCommandEventHandler(ListWx::ListEvent));
++ wxCommandEventHandler(ListWx::OnListEvent));
+
- //FillList(0);
-
-
- sizer->Add(listBox,1,wxGROW);
++ if (!iVector.empty())
++ {
++ for (ItemsVector::iterator it = iVector.begin(); it != iVector.end();
++ ++it)
++ {
++ std::string key = it->first;
++ this->m_ListBox->Append(wxString(key.c_str(), wxConvUTF8));
++ }
+ }
- }
-
++ sizer->Add(this->m_ListBox, 1, wxGROW);
+
+ }
// ----------------------------------------------------------------------------------
- ListWx::~ListWx( )
+
- ListWx::ListWx( wxWindow* parent, wxWindowID id, ItemsMap iMap,TFunctor* functor,
- std::string c) : wxPanel(parent,id)
++ ListWx::ListWx(wxWindow* parent, wxWindowID id, TFunctor* functor)
++ : wxPanel(parent, id)
{
- std::cout<< "MLER | ListWx::ListWx" << std::endl;
++ this->m_Functor = functor;
+
- this->m_itemsMap = iMap;
- this->functor = functor;
++ wxBoxSizer* sizer = new wxBoxSizer(wxHORIZONTAL);
+
- wxFlexGridSizer* sizer = new wxFlexGridSizer(1);
-
- sizer->Add( new wxStaticText(this,-1, _("Lista Configurable")));
- sizer->AddGrowableCol(0);
+ this->SetSizer(sizer);
+
- listBox = new wxListBox(this,-1);
-
- std::cout << "is ListBox"<< listBox->GetId()<< std::endl;
-
- button = new wxButton(this, 1, _("Configurar"),
- wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, wxString(c.c_str(), wxConvUTF8));
++ this->m_ListBox = new wxListBox(this, -1);
++ this->m_FunctorEnabled = true;
+
- sizer->Add(listBox,1,wxGROW);
- sizer->Add(button,2,wxGROW);
-
- // m_listConfigPanel = new ListConfigPanel(this,1,_("Configuracion"),m_itemsMap);
- m_listConfig = new ListConfig(m_itemsMap);
-
- //wxEVT_COMMAND_LISTBOX_SELECTED
+ this->Connect(wxEVT_COMMAND_LISTBOX_SELECTED,
- wxCommandEventHandler(ListWx::ListEvent));
++ wxCommandEventHandler(ListWx::OnListEvent));
+
- //FillList();
++ sizer->Add(this->m_ListBox, 1, wxGROW);
+
}
-
+ // ----------------------------------------------------------------------------------
- void
- ListWx::ListEvent( wxListEvent& event )
- ListWx::~ListWx( )
++ ListWx::~ListWx()
{
- try
- {
- std::cout<< "MLER | ListWx::ListEvent( wxListEvent& event )" << std::endl;
-
- wxString itemNom = event.GetItem().GetText();
- }
- // ----------------------------------------------------------------------------------
- std::string itemNomC = std::string(itemNom.mb_str());
- void
- ListWx::FillList()
- {
- this->listBox->Clear();
- std::cout<<"clear"<<std::endl;
- for (ItemsMap::iterator it=this->m_itemsMap.begin(); it!=this->m_itemsMap.end(); ++it)
- {
- std::string key = it->first;
- int v = listBox->FindString(wxString(key.c_str(), wxConvUTF8));
- if(v == -1)
- listBox->Append( wxString(key.c_str(), wxConvUTF8));
- }
- listBox->Update();
- this->Update();
+ }
+
- this->functor->Call(itemNomC);
- std::cout<<"mmmmmmmmmmmmmmmmmmmmmmm"<<std::endl;
+ // ----------------------------------------------------------------------------------
- }//yrt
- catch ( const std::exception& e )
- void
- ListWx::ListEvent( wxCommandEvent& event )
++ void ListWx::OnListEvent(wxCommandEvent& event)
+ {
- if(!this->IsFunctorEnabled())
++ if (!this->IsFunctorEnabled())
+ return;
- else{
- try
++ else
{
- std::cerr
- << "ButtonContainerController::ButtonEvent( wxCommandEvent& event ) exception: "
- << e.what( ) << std::endl;
- }//hctac
- std::cout<< "MLER | ListWx::ListEvent( wxListEvent& event )" << std::endl;
-
- int iSelection;
- iSelection = listBox->GetSelection();
++ try
++ {
++ std::cout << "MLER | ListWx::OnListEvent( wxListEvent& event )"
++ << std::endl;
+
- wxString itemNom = listBox->GetString(iSelection);
- std::string itemNomC = std::string(itemNom.mb_str());
++ int iSelection;
++ iSelection = this->m_ListBox->GetSelection();
+
- this->functor->Call(itemNomC);
- std::cout<<"mmmmmmmmmmmmmmmmmmmmmmm"<<std::endl;
++ wxString itemNom = this->m_ListBox->GetString(iSelection);
++ std::string itemNomC = std::string(itemNom.mb_str());
+
++ this->m_Functor->Call(itemNomC);
+
- }//yrt
- catch ( const std::exception& e )
- {
- std::cerr
- << "ButtonContainerController::ButtonEvent( wxCommandEvent& event ) exception: "
- << e.what( ) << std::endl;
- }//hctac
++ } //yrt
++ catch (const std::exception& e)
++ {
++ std::cerr
++ << "ButtonContainerController::ButtonEvent( wxCommandEvent& event ) exception: "
++ << e.what() << std::endl;
++ } //hctac
+ }
+ }
+ // ----------------------------------------------------------------------------------
+
-
-
- ListWx::ItemsMap
- ListWx::GetItemsMap()
- {
- return m_itemsMap;
- }
-
+ void ListWx::SetFunctorEnabled(const bool& enabled)
+ {
- m_functorEnabled = enabled;
++ this->m_FunctorEnabled = enabled;
+ }
-
++ // ----------------------------------------------------------------------------------
+ bool ListWx::IsFunctorEnabled() const
+ {
- return m_functorEnabled;
- }
-
- ListWx::TFunctor*
- ListWx::GetWxListFunctor()
- {
- return this->functor;
- }
-
- void ListWx::AddItemToMap(std::string key, wxPanel* panel)
- {
- this->m_itemsMap[key] = panel;
++ return this->m_FunctorEnabled;
}
- // ----------------------------------------------------------------------------------
- }//ecapseman
- }//ecapseman
- ListWx::GetListBox() const
- {
- return this->listBox;
- }
-
-
- void ListWx::DeleteItemFromMap(std::string key)
- {
- std::cout<< "MLER | ListConfig::DelFinalItems(std::string name)" << std::endl;
- ItemsMap::iterator it1;
-
- //if(m_finalItems.empty())
- std::cout<<"name item -----test A"<< key <<std::endl;
- if(!this->m_itemsMap.empty())
- {
- for(ItemsMap::iterator it= this->m_itemsMap.begin(); it!=this->m_itemsMap.end();++it)
++ // ----------------------------------------------------------------------------------
+ wxListBox*
- if((it->first).compare(key) == 0 )
- {
- std::cout << "Item a borrar: "<< key << std::endl;
- it1 = m_itemsMap.find(key);
- m_itemsMap.erase(it1);
-
- }
++ ListWx::GetListBox() const
+ {
- }
- std::cout<< "si borre tengo --- test 2 "<< m_itemsMap.size() << std::endl;
- }
-
-
- }//ecapseman
-}//ecapseman
++ return this->m_ListBox;
+ }
+
++ } //ecapseman
++} //ecapseman
/*# ---------------------------------------------------------------------
- #
- # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
- # pour la Sant�)
- # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
- # Previous Authors : Laurent Guigues, Jean-Pierre Roux
- # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
- #
- # This software is governed by the CeCILL-B license under French law and
- # abiding by the rules of distribution of free software. You can use,
- # modify and/ or redistribute the software under the terms of the CeCILL-B
- # license as circulated by CEA, CNRS and INRIA at the following URL
- # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
- # or in the file LICENSE.txt.
- #
- # As a counterpart to the access to the source code and rights to copy,
- # modify and redistribute granted by the license, users are provided only
- # with a limited warranty and the software's author, the holder of the
- # economic rights, and the successive licensors have only limited
- # liability.
- #
- # The fact that you are presently reading this means that you have had
- # knowledge of the CeCILL-B license and that you accept its terms.
- # ------------------------------------------------------------------------ */
-
+ #
+ # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
+ # pour la Sant�)
+ # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+ # Previous Authors : Laurent Guigues, Jean-Pierre Roux
+ # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
+ #
+ # This software is governed by the CeCILL-B license under French law and
+ # abiding by the rules of distribution of free software. You can use,
+ # modify and/ or redistribute the software under the terms of the CeCILL-B
+ # license as circulated by CEA, CNRS and INRIA at the following URL
+ # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
+ # or in the file LICENSE.txt.
+ #
+ # As a counterpart to the access to the source code and rights to copy,
+ # modify and redistribute granted by the license, users are provided only
+ # with a limited warranty and the software's author, the holder of the
+ # economic rights, and the successive licensors have only limited
+ # liability.
+ #
+ # The fact that you are presently reading this means that you have had
+ # knowledge of the CeCILL-B license and that you accept its terms.
+ # ------------------------------------------------------------------------ */
+
++/*!
++ * @file listWx.h
++ * @brief This contains the ListWx class.
++ * @author Monica ESPINOSA (espinosa[AT]creatis.insa-lyon.fr)
++ * @date 2015-01-02
++ */
+
#ifndef LISTWX_H
#define LISTWX_H
//#include <wx/bmpbuttn.h>
#include <wx/panel.h>
--#include <wx/image.h>
#include <wx/string.h>
--#include <wx/bitmap.h>
- #include <wx/listctrl.h>
-//#include <wx/listctrl.h>
-#include <wx/control.h>
-#include <wx/choice.h>
+ #include <wx/listbox.h>
#include <wx/wx.h>
++#include <wx/event.h>
-
--#include <map>
#include <string>
--#include "functor.h"
--#include <wx/event.h>
++#include <vector>
++#include <utility>
++#include "functor.h"
#include "system.h"
-#include "listConfig.h"
-//#include "listConfigPanel.h"
-
-namespace creaButtonContainer {
-
-namespace view {
-
-class ListWx: public wxPanel {
-public:
-
- typedef creaButtonContainer::model::TFunctor TFunctor;
- typedef std::map<std::string, wxPanel*> ItemsMap;
- typedef creaButtonContainer::model::ListConfig ListConfig;
-
-public:
-
- ListWx(wxWindow* parent, wxWindowID id, ItemsMap iMap, TFunctor* functor);
- ListWx(wxWindow* parent, wxWindowID id, ItemsMap iMap, TFunctor* functor,
- std::string c);
- // ----------------------------------------------------------------------------------
-
- virtual
- ~ListWx();
- // ----------------------------------------------------------------------------------
- long
- GetID();
-
- void
- FillList();
-
- void
- ListEvent(wxCommandEvent& event);
-
- ItemsMap
- GetItemsMap();
-
- TFunctor*
- GetWxListFunctor();
-
- void SetFunctorEnabled(const bool& enabled);
-
- void AddItemToMap(std::string key, wxPanel* panel);
-
- void DeleteItemFromMap(std::string key);
-
- bool IsFunctorEnabled() const;
-
- wxListBox*
- GetListBox() const;
-
- // ----------------------------------------------------------------------------------
-private:
- ItemsMap m_itemsMap; //!
- TFunctor* functor;
- wxListBox* listBox;
- wxFlexGridSizer* sizer;
- wxButton* button;
- bool m_functorEnabled;
- ListConfig* m_listConfig;
-};
-} //ecapseman
++/*! @namespace <creaButtonContainer>
++ * @brief Contains the creaButtonContainer library included in creaMaracasVisu.
++ */
+namespace creaButtonContainer
+{
-
++ /*! @namespace <creaButtonContainer::view>
++ * @brief Contains the implementation of the view in creaButtonContainer library.
++ * @see <a href="http://en.wikipedia.org/wiki/Model-view-controller">MVC Software Architecture</a>
++ */
+ namespace view
+ {
-
- class ListWx : public wxListCtrl
++ /*! @class ListWx listWx.h "listWx.h"
++ * @brief This class contains the list in the panel.
++ * @details This class contains the information of a list, it derives from wxPanel.
++ * @see <a href="http://docs.wxwidgets.org/stable/wx_wxpanel.html">wxPanel</a>
++ */
++ class ListWx: public wxPanel
+ {
+ public:
-
++ //typedef definition.
++ // ----------------------------------------------------------------------------------
++ /*! typedef creaButtonContainer::model::TFunctor TFunctor;
++ * @brief Defines the TFunctor type.
++ */
+ typedef creaButtonContainer::model::TFunctor TFunctor;
- typedef std::map<std::string, wxPanel*> ItemsMap;
++ // ----------------------------------------------------------------------------------
++ /*! @typedef std::pair<std::string, wxPanel*> ListAction;
++ * @brief Defines the ListAction type.
++ * First is the button name(item list), Second FunctionEventType
++ */
++ typedef std::pair<std::string, wxPanel*> ListAction;
++ // ----------------------------------------------------------------------------------
++ /*! @typedef std::vector<ListAction> ItemsVector;
++ * @brief Defines the Items Vector type.
++ */
++ typedef std::vector<ListAction> ItemsVector;
++ // ----------------------------------------------------------------------------------
++ //end of typedef definition.
+
+ public:
-
- ListWx( wxWindow* parent, wxWindowID id,ItemsMap iMap , TFunctor* functor );
+ // ----------------------------------------------------------------------------------
-
++ /*! @fn ListWx( wxWindow* parent, wxWindowID id, ItemsVector iVector,
++ TFunctor* functor );
++ * @brief This is the parameterized constructor.
++ * @param parent The wxWindow pointer to parent.
++ * @param id The wxID of the button.
++ * @param ItemsVector //The items Vector (name, wxPanel).
++ * @param TFunctor //The functor of items list.
++ */
++ ListWx(wxWindow* parent, wxWindowID id, ItemsVector iVector,
++ TFunctor* functor);
++ // ----------------------------------------------------------------------------------
++ /*! @fn ListWx( wxWindow* parent, wxWindowID id, TFunctor* functor );
++ * @brief This is the parameterized constructor.
++ * @param parent The wxWindow pointer to parent.
++ * @param id The wxID of the button.
++ * @param TFunctor //The functor of items list.
++ */
++ ListWx(wxWindow* parent, wxWindowID id, TFunctor* functor);
++ // ----------------------------------------------------------------------------------
++ /*! @fn virtual ~Button( );
++ * @brief This is the destructor.
++ */
+ virtual
- ~ListWx( );
++ ~ListWx();
+ // ----------------------------------------------------------------------------------
-
- long
- GetID( );
-
++ /*! @fn void OnListEvent( wxCommandEvent& event );
++ * @brief This method calls the functor when
++ * an item of list is clicked.
++ * @param event
++ */
+ void
- ListEvent( wxListEvent& event );
++ OnListEvent(wxCommandEvent& event);
+ // ----------------------------------------------------------------------------------
++ /*! @fn void SetFunctorEnabled( wxCommandEvent& event );
++ * @brief This method set the state of Functor (enable or disable)
++ * @param enabled
++ */
++ void
++ SetFunctorEnabled(const bool& enabled);
++ // ----------------------------------------------------------------------------------
++ /*! @fn bool OnListEvent( wxCommandEvent& event );
++ * @brief This method ask the state of functor.
++ * @return
++ */
++ bool
++ IsFunctorEnabled() const;
++ // ----------------------------------------------------------------------------------
++ /*! @fn wxListBox* GetListBox() const;
++ * @brief This method returns the wxlistBox.
++ * @exception std::bad_alloc
++ * @return wxListBox
++ */
++ wxListBox*
++ GetListBox() const;
++ // ----------------------------------------------------------------------------------
++
+ private:
- ItemsMap m_itemsMap; //! <The pair with the button information.
- TFunctor* functor;
++
++ wxListBox* m_ListBox; //!< This is the Items List.
++ TFunctor* m_Functor; //!< This is the functor.
++ bool m_FunctorEnabled; //!< Disable or Enable Functor.
+
+ };
- }//ecapseman
- }//ecapseman
++ } //ecapseman
+ } //ecapseman
#endif // LISTWX_H
/*# ---------------------------------------------------------------------
--#
--# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
--# pour la Sant�)
--# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
--# Previous Authors : Laurent Guigues, Jean-Pierre Roux
--# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
--#
--# This software is governed by the CeCILL-B license under French law and
--# abiding by the rules of distribution of free software. You can use,
--# modify and/ or redistribute the software under the terms of the CeCILL-B
--# license as circulated by CEA, CNRS and INRIA at the following URL
--# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
--# or in the file LICENSE.txt.
--#
--# As a counterpart to the access to the source code and rights to copy,
--# modify and redistribute granted by the license, users are provided only
--# with a limited warranty and the software's author, the holder of the
--# economic rights, and the successive licensors have only limited
--# liability.
--#
--# The fact that you are presently reading this means that you have had
--# knowledge of the CeCILL-B license and that you accept its terms.
--# ------------------------------------------------------------------------ */
++ #
++ # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
++ # pour la Sant�)
++ # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
++ # Previous Authors : Laurent Guigues, Jean-Pierre Roux
++ # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
++ #
++ # This software is governed by the CeCILL-B license under French law and
++ # abiding by the rules of distribution of free software. You can use,
++ # modify and/ or redistribute the software under the terms of the CeCILL-B
++ # license as circulated by CEA, CNRS and INRIA at the following URL
++ # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
++ # or in the file LICENSE.txt.
++ #
++ # As a counterpart to the access to the source code and rights to copy,
++ # modify and redistribute granted by the license, users are provided only
++ # with a limited warranty and the software's author, the holder of the
++ # economic rights, and the successive licensors have only limited
++ # liability.
++ #
++ # The fact that you are presently reading this means that you have had
++ # knowledge of the CeCILL-B license and that you accept its terms.
++ # ------------------------------------------------------------------------ */
/*!
* @file buttonContainerSettings.cxx
namespace creaPanelButtonContainer
{
// ----------------------------------------------------------------------------------
-- ButtonContainerSettings::ButtonContainerSettings( )
++ ButtonContainerSettings::ButtonContainerSettings()
{
}
// ----------------------------------------------------------------------------------
-- ButtonContainerSettings::~ButtonContainerSettings( )
++ ButtonContainerSettings::~ButtonContainerSettings()
{
}
--
++
// ----------------------------------------------------------------------------------
-- ButtonContainerSettings::ButtonGroupMap
-- ButtonContainerSettings::GetButtonGroupContainer( )
++ ButtonContainerSettings::ButtonGroupMap ButtonContainerSettings::GetButtonGroupContainer()
{
-- std::cout<< "MLER | ButtonContainerSettings:: GetButtonGroupContainer( ) " << std::endl;
return m_ButtonGroupContainer;
}
// ----------------------------------------------------------------------------------
-- ButtonContainerSettings::KeyMapList
-- ButtonContainerSettings::GetGroupNameList( )
++ ButtonContainerSettings::KeyMapList ButtonContainerSettings::GetGroupNameList()
{
-- std::cout<< "MLER | ButtonContainerSettings:: GetGroupNameList( ) " << std::endl;
return m_GroupNameList;
}
// ----------------------------------------------------------------------------------
//GetButtonPanel returns the panel associated to the buttonAction
-- ButtonContainerSettings::PanelButton
-- ButtonContainerSettings::GetPanelButton( const StringType &buttonName )
++ ButtonContainerSettings::PanelButton ButtonContainerSettings::GetPanelButton(
++ const StringType &buttonName)
{
try
{
-- std::cout<< "MLER | ButtonContainerSettings:: GetPanelButton " << std::endl;
--
-- for( KeyMapList::iterator it = this->m_GroupNameList.begin( ); it
-- != this->m_GroupNameList.end( ); ++it )
- {
-
- //std::cout<< std::endl<<"MLER ButtonContainerSettings // GetPanelButton :: it "<< *it<<std::endl;
-
- ButtonList list = this->m_ButtonGroupContainer[ ( *it ) ];
- for( ButtonList::iterator it1 = list.begin( ); it1 != list.end( ); ++it1 )
- {
- if ( ( *it1 )->first->first.compare( buttonName ) == 0 )
- {
- return ( ( *it1 )->second->second );
- }//fi
- }//rof
- }//rof
- }//yrt
- catch ( std::exception& e )
- {
- std::cerr
- << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) "
- << "exception: " << e.what( ) << std::endl;
- }//hctac
- return ( NULL );
- }
- // ----------------------------------------------------------------------------------
- ButtonContainerSettings::PanelButton
- ButtonContainerSettings::GetPanelList( const StringType &buttonName )
- {
- std::cout<< "MLER | ButtonContainerSettings:: GetPanelList " << std::endl;
-
-
- try {
-
- for( ItemsMap::iterator it= this->m_itemsMap.begin(); it!=this->m_itemsMap.end(); ++it )
++ for (KeyMapList::iterator it = this->m_GroupNameList.begin();
++ it != this->m_GroupNameList.end(); ++it)
{
-
- //std::cout<< std::endl<<"MLER ButtonContainerSettings // GetPanelButton :: it "<< *it<<std::endl;
-
- ButtonList list = this->m_ButtonGroupContainer[ ( *it ) ];
- for( ButtonList::iterator it1 = list.begin( ); it1 != list.end( ); ++it1 )
- if( (*it).first.compare(buttonName) == 0 )
++ ButtonList list = this->m_ButtonGroupContainer[(*it)];
++ for (ButtonList::iterator it1 = list.begin(); it1 != list.end(); ++it1)
{
- if ( ( *it1 )->first->first.compare( buttonName ) == 0 )
- {
- return ( ( *it1 )->second->second );
- }//fi
- }//rof
- }//rof
- }//yrt
- catch ( std::exception& e )
- std::cout<<"debe retornar" << std::endl;
- return ( (*it).second );
- }
- }
-
-
- }catch ( std::exception& e )
++ if ((*it1)->first->first.compare(buttonName) == 0)
++ return ((*it1)->second->second);
++ } //rof
++ } //rof
++ } //yrt
++ catch (std::exception& e)
{
std::cerr
- << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) "
- << "exception: " << e.what( ) << std::endl;
- }//hctac
- return ( NULL );
- }
- /*
- // ----------------------------------------------------------------------------------
- ButtonContainerSettings::PanelButton
- ButtonContainerSettings::GetPanelList( const StringType &buttonName )
- {
- std::cout<< "MLER | ButtonContainerSettings:: GetPanelList " << std::endl;
-
-
- try {
- if(m_itemsMap.empty())
- std::cout<< "no tengo nada "<< std::endl;
-
- for( ItemsMap::iterator it= this->m_itemsMap.begin(); it!=this->m_itemsMap.end(); ++it )
- {
- if( (*it).first.compare(buttonName) == 0 )
- return ( (*it).second );
- }
-
-
- }catch ( std::exception& e )
- {
- std::cerr
-- << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) "
-- << "exception: " << e.what( ) << std::endl;
-- }//hctac
++ << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) "
++ << "exception: " << e.what() << std::endl;
++ } //hctac
return (NULL);
--
}
- */
-
// ----------------------------------------------------------------------------------
ButtonContainerSettings::ButtonGroupSettings*
-- ButtonContainerSettings::GetButtonGroupSettings( TFunctor* functor )
++ ButtonContainerSettings::GetButtonGroupSettings(TFunctor* functor)
{
ButtonGroupSettings* settings = NULL;
try
{
-- std::cout<< "MLER | ButtonContainerSettings:: GetButtonGroupSettings() " << std::endl;
-- settings = new ButtonGroupSettings( );
++ settings = new ButtonGroupSettings();
-- for( KeyMapList::iterator it = this->m_GroupNameList.begin( ); it
-- != this->m_GroupNameList.end( ); ++it )
++ for (KeyMapList::iterator it = this->m_GroupNameList.begin();
++ it != this->m_GroupNameList.end(); ++it)
{
-- ButtonList list = this->m_ButtonGroupContainer[ ( *it ) ];
++ ButtonList list = this->m_ButtonGroupContainer[(*it)];
-- for( ButtonList::iterator it1 = list.begin( ); it1 != list.end( ); ++it1 )
++ for (ButtonList::iterator it1 = list.begin(); it1 != list.end(); ++it1)
{
-- std::cout<<"MLER ButtonContainerSettings // GetButtonGroupSettings :: groupName "<< *it<<std::endl;
-- std::cout<<"MLER ButtonContainerSettings // GetButtonGroupSettings :: buttonName "<< ( *it1 )->first->first <<std::endl;
-- settings->AddButton( ( *it ), ( *it1 )->first->first, ( *it1 )->first->second, ( *it1 )->second->first, functor );
-- }//rof
-- }//rof
-- }//yrt
-- catch ( std::exception& e )
++ settings->AddButton((*it), (*it1)->first->first,
++ (*it1)->first->second, (*it1)->second->first, functor);
++ } //rof
++ } //rof
++ } //yrt
++ catch (std::exception& e)
{
std::cerr
-- << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) "
-- << "exception: " << e.what( ) << std::endl;
-- }//hctac
-- return ( settings );
++ << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) "
++ << "exception: " << e.what() << std::endl;
++ } //hctac
++ return (settings);
}
// ----------------------------------------------------------------------------------
-- void
-- ButtonContainerSettings::SetButtonGroupContainer(
-- ButtonGroupMap m_ButtonGroupContainer )
++ void ButtonContainerSettings::SetButtonGroupContainer(
++ ButtonGroupMap m_ButtonGroupContainer)
{
-- std::cout<< "MLER | ButtonContainerSettings:: SetButtonGroupContainer() " << std::endl;
this->m_ButtonGroupContainer = m_ButtonGroupContainer;
}
// ----------------------------------------------------------------------------------
-- void
-- ButtonContainerSettings::SetGroupNameList( KeyMapList m_GroupNameList )
++ void ButtonContainerSettings::SetGroupNameList(KeyMapList m_GroupNameList)
{
-- std::cout<< "MLER | ButtonContainerSettings:: SetGroupNameList() " << std::endl;
this->m_GroupNameList = m_GroupNameList;
}
--
++
// ----------------------------------------------------------------------------------
-- void
-- ButtonContainerSettings::AddButton( const StringType & groupName,
-- const StringType &buttonName, const wxBitmap &icon,
-- const StringType &buttonDescription, PanelButton panel )
++ void ButtonContainerSettings::AddButton(const StringType & groupName,
++ const StringType &buttonName, const wxBitmap &icon,
++ const StringType &buttonDescription, PanelButton panel)
{
try
{
-- std::cout<< "MLER | ButtonContainerSettings:: AddButton( const StringType & groupName ..) " << std::endl;
--
//builds the button information
//I don't know the try catch doesn't work!!
-- if ( panel == NULL )
++ if (panel == NULL)
{
std::cerr << "ButtonContainerSettings::AddButton"
-- << "exception: NULL Pointer in panel " << std::endl;
-- exit( 1 );
++ << "exception: NULL Pointer in panel " << std::endl;
++ exit(1);
}
-- panel->Show( false );
++ panel->Show(false);
-- ButtonPair* pair = new ButtonPair(
-- new ButtonInfo( buttonName, icon ),
-- new ActionButton( buttonDescription, panel ) );
++ ButtonPair* pair = new ButtonPair(new ButtonInfo(buttonName, icon),
++ new ActionButton(buttonDescription, panel));
-- for( KeyMapList::iterator it = this->m_GroupNameList.begin( ); it
-- != this->m_GroupNameList.end( ); ++it )
++ for (KeyMapList::iterator it = this->m_GroupNameList.begin();
++ it != this->m_GroupNameList.end(); ++it)
{
-- if ( ( *it ).compare( groupName ) == 0 )
++ if ((*it).compare(groupName) == 0)
{
-- this->m_ButtonGroupContainer[ groupName ].push_back( pair );
++ this->m_ButtonGroupContainer[groupName].push_back(pair);
return;
-- }//fi
-- }//rof
-- this->m_GroupNameList.push_back( groupName );
-- this->m_ButtonGroupContainer[ groupName ].push_back( pair );
-- }//yrt
-- catch ( const std::exception& e )
++ } //fi
++ } //rof
++ this->m_GroupNameList.push_back(groupName);
++ this->m_ButtonGroupContainer[groupName].push_back(pair);
++ } //yrt
++ catch (const std::exception& e)
{
std::cerr
-- << "ButtonContainerSettings::AddButton( const StringType & groupName,"
-- << "const StringType &buttonName, const StringType &iconpath,"
-- << "const StringType &buttonDescription, PanelButton panel ) "
-- << "exception: " << e.what( ) << std::endl;
-- }//hctac
++ << "ButtonContainerSettings::AddButton( const StringType & groupName,"
++ << "const StringType &buttonName, const StringType &iconpath,"
++ << "const StringType &buttonDescription, PanelButton panel ) "
++ << "exception: " << e.what() << std::endl;
++ } //hctac
}
--
++
// ----------------------------------------------------------------------------------
-- void
-- ButtonContainerSettings::AddButton( BCPSettingsStruct* info )
++ void ButtonContainerSettings::AddButton(BCPSettingsStruct* info)
{
try
{
-- std::cout<< "MLER | ButtonContainerSettings:: AddButton( BCPSettingsStruct* info )" << std::endl;
--
//builds the button information
//I don't know the try catch doesn't work!!
-- if ( info->panel == NULL )
++ if (info->panel == NULL)
{
std::cerr << "ButtonContainerSettings::AddButton"
-- << "exception: NULL Pointer in panel " << std::endl;
-- exit( 1 );
++ << "exception: NULL Pointer in panel " << std::endl;
++ exit(1);
}
-- info->panel->Show( false );
++ info->panel->Show(false);
ButtonPair* pair = new ButtonPair(
-- new ButtonInfo( info->buttonName, info->icon ),
-- new ActionButton( info->buttonDescription, info->panel ) );
-- for( KeyMapList::iterator it = this->m_GroupNameList.begin( ); it
-- != this->m_GroupNameList.end( ); ++it )
++ new ButtonInfo(info->buttonName, info->icon),
++ new ActionButton(info->buttonDescription, info->panel));
++ for (KeyMapList::iterator it = this->m_GroupNameList.begin();
++ it != this->m_GroupNameList.end(); ++it)
{
-- if ( ( *it ).compare( info->groupName ) == 0 )
++ if ((*it).compare(info->groupName) == 0)
{
-- this->m_ButtonGroupContainer[ info->groupName ].push_back( pair );
++ this->m_ButtonGroupContainer[info->groupName].push_back(pair);
return;
-- }//fi
-- }//rof
-- this->m_GroupNameList.push_back( info->groupName );
-- this->m_ButtonGroupContainer[ info->groupName ].push_back( pair );
-- }//yrt
-- catch ( const std::exception& e )
++ } //fi
++ } //rof
++ this->m_GroupNameList.push_back(info->groupName);
++ this->m_ButtonGroupContainer[info->groupName].push_back(pair);
++ } //yrt
++ catch (const std::exception& e)
{
std::cerr
-- << "ButtonContainerSettings::AddButton( BCPSettingsStruct* info )"
-- << "exception: " << e.what( ) << std::endl;
-- exit( 1 );
-- }//hctac
++ << "ButtonContainerSettings::AddButton( BCPSettingsStruct* info )"
++ << "exception: " << e.what() << std::endl;
++ exit(1);
++ } //hctac
}
--
++
// ----------------------------------------------------------------------------------
-- void
-- ButtonContainerSettings::AddButtons( BCStructVectorType infoList, int type )
++ void ButtonContainerSettings::InitModel(BCStructVectorType infoList, int type)
{
-- std::cout<< "MLER | ButtonContainerSettings:: AddButtons( BCStructVectorType infoList, int type )" << std::endl;
try
{
-- for( BCStructVectorType::iterator it = infoList.begin( ); it
-- != infoList.end( ); ++it )
++ for (BCStructVectorType::iterator it = infoList.begin();
++ it != infoList.end(); ++it)
{
-- if( type == 0 )
-- this->AddButton( *it );
- // else if( type == 1 )
- // this->AddItems(*it);
- }//rof
- }//yrt
- catch ( std::exception& e )
- else if( type == 1 || type == 2)
++ if (type == 0)
++ this->AddButton(*it);
++ else if (type == 1 || type == 2 || type == 3)
+ this->AddItems(*it);
+
- }//rof
- }//yrt
- catch ( std::exception& e )
++
++ } //rof
++ } //yrt
++ catch (std::exception& e)
{
std::cerr
-- << "ButtonContainerSettings::AddButtons( BCStructVectorType infoList )"
-- << "exception: " << e.what( ) << std::endl;
-- }//hctac
++ << "ButtonContainerSettings::AddButtons( BCStructVectorType infoList )"
++ << "exception: " << e.what() << std::endl;
++ } //hctac
}
-
- //EED-MLER
- /*
-- void
-- ButtonContainerSettings::AddItems(BCPSettingsStruct* info)
++ // ----------------------------------------------------------------------------------
++ //MLER
++ void ButtonContainerSettings::AddItems(BCPSettingsStruct* info)
{
try
{
-- std::cout<< "MLER | ButtonContainerSettings:: AddItems(BCPSettingsStruct* info)" << std::endl;
-- //builds the button information
++ //build the button information
//I don't know the try catch doesn't work!!
-- if ( info->panel == NULL )
++ if (info->panel == NULL)
{
- std::cerr << "ButtonContainerSettings::AddButton"
- << "exception: NULL Pointer in panel " << std::endl;
- exit( 1 );
+ std::cerr << "ButtonContainerSettings::AddItems"
- << "exception: NULL Pointer in panel " << std::endl;
- exit( 1 );
++ << "exception: NULL Pointer in panel " << std::endl;
++ exit(1);
}
++ info->panel->Show(false);
++ std::string key = info->groupName + ":" + info->buttonName;
++ m_ItemsVector.push_back(ListAction(key, info->panel));
-- info->panel->Show( false );
--
-- std::string mapKey = info->groupName + ":" + info->buttonName;
-- m_itemsMap[mapKey] = info->panel;
-
- }//yrt
- catch ( const std::exception& e )
++ } //yrt
++ catch (const std::exception& e)
+ {
+ std::cerr
- << "ButtonContainerSettings::AddButton( BCPSettingsStruct* info )"
- << "exception: " << e.what( ) << std::endl;
- exit( 1 );
- }//hctac
++ << "ButtonContainerSettings::AddButton( BCPSettingsStruct* info )"
++ << "exception: " << e.what() << std::endl;
++ exit(1);
++ } //hctac
++ }
++ // ----------------------------------------------------------------------------------
++ ButtonContainerSettings::ItemsVector ButtonContainerSettings::GetItemsVector()
++ {
++ return this->m_ItemsVector;
+ }
- }//yrt
- catch ( const std::exception& e )
- ButtonContainerSettings::ItemsMap
- ButtonContainerSettings::GetItemsMap()
++ // ----------------------------------------------------------------------------------
++ wxPanel*
++ ButtonContainerSettings::GetPanelList(const StringType &buttonName)
+ {
- std::cout<< "MLER | ButtonContainerSettings:: GetItemsMap()" << std::endl;
++ try
+ {
- <<<<<<< HEAD
- try
- {
- for( BCStructVectorType::iterator it = infoList.begin( ); it
- != infoList.end( ); ++it )
- {
- this->AddItem(*it);
- }//rof
- }//yrt
- catch ( const std::exception& e )
++ for (ItemsVector::iterator it = this->m_ItemsVector.begin();
++ it != this->m_ItemsVector.end(); ++it)
+ {
- std::cerr
- << "ContainerSettings::AddButtons( BCStructVectorType infoList ) "
- << "exception: " << e.what( ) << std::endl;
- }//hctac
- }
- */
++ if ((*it).first.compare(buttonName) == 0)
++ return ((*it).second);
+
- return m_itemsMap;
- }
++ }
+
++ } catch (std::exception& e)
++ {
++ std::cerr
++ << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) "
++ << "exception: " << e.what() << std::endl;
++ } //hctac
++ return (NULL);
+
++ }
+
++//MLER
// ----------------------------------------------------------------------------------
}//ecapseman
-
/*# ---------------------------------------------------------------------
--#
--# 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
#include <wx/panel.h>
#include <wx/bitmap.h>
- //EED-MLER #include <wx/listctrl.h>
-#include <wx/listctrl.h>
++//#include <wx/listctrl.h>
#include <list>
#include <map>
#include "containerSettings.h"
#include "functor.h"
--
/*! @namespace <creaPanelButtonContainer>
* @brief Contains the creaPanelButtonContainer library included in creaMaracasVisu.
*/
// ----------------------------------------------------------------------------------
/*! @typedef std::pair< std::string, PanelButton > ActionButton;
* @brief Defines the ActionButton type.
-- * First is the button description, Second FunctionEventType
++ * First is the button name, Second FunctionEventType
*/
-- typedef std::pair< std::string, PanelButton > ActionButton;
--
++ typedef std::pair<std::string, PanelButton> ActionButton;
++
// ----------------------------------------------------------------------------------
/*! @typedef std::pair< std::string, wxBitmap > ButtonInfo;
* @brief Defines the ButtonInfo type.
* First is the ButtonName, Second is the ImageIcon
*/
-- typedef std::pair< std::string, wxBitmap > ButtonInfo;
--
++ typedef std::pair<std::string, wxBitmap> ButtonInfo;
++
// ----------------------------------------------------------------------------------
/*! @typedef std::pair< ButtonInfo*, ActionButton* > ButtonPair;
* @brief Defines the ButtonPair type.
*/
-- typedef std::pair< ButtonInfo*, ActionButton* > ButtonPair;
++ typedef std::pair<ButtonInfo*, ActionButton*> ButtonPair;
// ----------------------------------------------------------------------------------
/*! @typedef std::list< std::string > KeyMapList;
* @brief Defines the KeyMapList type.
*/
-- typedef std::list< std::string > KeyMapList;
--
++ typedef std::list<std::string> KeyMapList;
++
// ----------------------------------------------------------------------------------
/*! @typedef std::list< ButtonPair* > ButtonList;
* @brief Defines the ButtonList type.
*/
-- typedef std::list< ButtonPair* > ButtonList;
--
++ typedef std::list<ButtonPair*> ButtonList;
++
// ----------------------------------------------------------------------------------
/*! @typedef std::map< std::string, ButtonList > ButtonGroupMap;
* @brief Defines the ButtonGroupMap type.
*/
-- typedef std::map< std::string, ButtonList > ButtonGroupMap;
++ typedef std::map<std::string, ButtonList> ButtonGroupMap;
// ----------------------------------------------------------------------------------
/*! @typedef std::vector< BCPSettingsStruct* > BCStructVectorType;
* @brief Defines the BCStructVectorType type.
*/
-- typedef std::vector< BCPSettingsStruct* > BCStructVectorType;
-- //end typedef definition
++ typedef std::vector<BCPSettingsStruct*> BCStructVectorType;
++ //MLER
// ----------------------------------------------------------------------------------
-- /*! @class ButtonContainerSettings buttonContainerSettings.h "buttonContainerSettings.h"
-- * @brief This class contains the settings of the button container.
++ /*! @typedef std::pair<std::string, wxPanel*> ListAction;
++ * @brief Defines the ListAction type.
++ * First is the button name(item list), Second FunctionEventType
*/
-
-
- typedef std::map< std::string, wxPanel* > ItemsMap;
++ typedef std::pair<std::string, wxPanel*> ListAction;
++ // ----------------------------------------------------------------------------------
++ /*! @typedef std::vector<ListAction> ItemsVector;
++ * @brief Defines the Items Vector type.
++ */
++ typedef std::vector<ListAction> ItemsVector;
++ //MLER
++ //end typedef definition
++ // ----------------------------------------------------------------------------------
- typedef std::map< std::string, wxPanel* > ItemsMap;
-
- public:
+ public:
// ----------------------------------------------------------------------------------
/*! @fn ButtonContainerSettings( );
* @brief This is the default constructor.
*/
-- ButtonContainerSettings( );
++ ButtonContainerSettings();
// ----------------------------------------------------------------------------------
/*! @fn virtual ~ButtonContainerSettings( );
* @brief This is the destructor.
*/
virtual
-- ~ButtonContainerSettings( );
--
++ ~ButtonContainerSettings();
++
// ----------------------------------------------------------------------------------
/*! @fn ButtonGroupMap GetButtonGroupContainer( );
* @brief This method returns ButtonGroupMap with all buttons.
* @return
*/
ButtonGroupMap
-- GetButtonGroupContainer( );
++ GetButtonGroupContainer();
// ----------------------------------------------------------------------------------
/*! @fn KeyMapList GetGroupNameList( );
* @brief This method returns a KeyMapsList with the name of the groups.
* @return
*/
KeyMapList
-- GetGroupNameList( );
++ GetGroupNameList();
// ----------------------------------------------------------------------------------
/*! @fn PanelButton GetPanelButton( const std::string &buttonName );
* @brief This method returns the panel of a button.
* @return
*/
PanelButton
-- GetPanelButton( const std::string &buttonName );
++ GetPanelButton(const std::string &buttonName);
// ----------------------------------------------------------------------------------
/*! @fn ButtonGroupSettings* GetButtonGroupSettings( TFunctor* functor );
* @brief this method return the settings the generic settings for creaButtonContainer.
* @return
*/
ButtonGroupSettings*
-- GetButtonGroupSettings( TFunctor* functor );
++ GetButtonGroupSettings(TFunctor* functor);
// ----------------------------------------------------------------------------------
/*! @fn void SetButtonGroupContainer( ButtonGroupMap bGroupContainer );
* @brief This method sets the button group container.
* @param bGroupContainer
*/
-
- // ----------------------------------------------------------------------------------
-
- ButtonGroupSettings*
- GetListGroupSettings();
--
// ----------------------------------------------------------------------------------
-
- ButtonGroupSettings*
- GetListGroupSettings();
-
- // ----------------------------------------------------------------------------------
--
--
--
void
-- SetButtonGroupContainer( ButtonGroupMap bGroupContainer );
++ SetButtonGroupContainer(ButtonGroupMap bGroupContainer);
// ----------------------------------------------------------------------------------
/*! @fn void SetGroupNameList( KeyMapList gNameList );
* @brief this method sets the groupName list
* @param gNameList
*/
void
-- SetGroupNameList( KeyMapList gNameList );
--
++ SetGroupNameList(KeyMapList gNameList);
// ----------------------------------------------------------------------------------
/*! @fn void AddButton( const std::string &groupName, const std::string &buttonName,
const std::string &iconpath, const std::string &buttonDescription,
* @exception std::bad_alloc
*/
void
-- AddButton( const std::string &groupName, const std::string &buttonName,
-- const wxBitmap &icon, const std::string &buttonDescription,
-- PanelButton panel );
--
++ AddButton(const std::string &groupName, const std::string &buttonName,
++ const wxBitmap &icon, const std::string &buttonDescription,
++ PanelButton panel);
// ----------------------------------------------------------------------------------
/*! @fn void AddButton( BCPSettingsStruct* info );
* @brief This method adds a new button into a group of buttons.
* @exception std::bad_alloc
*/
void
-- AddButton( BCPSettingsStruct* info );
--
++ AddButton(BCPSettingsStruct* info);
// ----------------------------------------------------------------------------------
-- /*! @fn void AddButtons( BCStructVectorType infoList );
-- * @brief This method adds new buttons into the container.
++ /*! @fn void InitModel( BCStructVectorType infoList, int type );
++ * @brief This method adds new buttons or items into the container (Depends type).
* @param infoList The BCStructVectorType
++ * @param type If 1:Buttons 2:List 3:Configurable List
* @exception std::bad_alloc
*/
void
-- AddButtons( BCStructVectorType infoList, int type );
--
++ InitModel(BCStructVectorType infoList, int type);
++ // ----------------------------------------------------------------------------------
++ //MLER
++ /*! @fn void AddItems( BCPSettingsStruct* info );
++ * @brief This method adds a new item into a list.
++ * @param info The pointer to BCPSettingsStruct.
++ * @exception std::bad_alloc
++ */
+ void
+ AddItems(BCPSettingsStruct* info);
-
- ItemsMap
- GetItemsMap();
-
- PanelButton
- GetPanelList( const StringType &buttonName );
-
-
++ // ----------------------------------------------------------------------------------
++ /*! @fn PanelButton GetPanelList( const std::string &buttonName );
++ * @brief This method returns the panel of a list.
++ * @param buttonName (item element)
++ * @exception std::bad_alloc
++ * @return
++ */
++ ItemsVector
++ GetItemsVector();
++ // ----------------------------------------------------------------------------------
++ /*! @fn PanelButton GetPanelList( const std::string &buttonName );
++ * @brief This method returns the panel of a list.
++ * @param buttonName (item element)
++ * @exception std::bad_alloc
++ * @return
++ */
++ wxPanel*
++ GetPanelList(const StringType &buttonName);
++ //MLER
// ----------------------------------------------------------------------------------
private:
ButtonGroupMap m_ButtonGroupContainer; //!<This is the map with the groups of buttons.
KeyMapList m_GroupNameList; //!<This is a container with the name of the groups.
-
//MLER
-- ItemsMap m_itemsMap; //This is the map with the name and the wPanel
-- };
-}//ecapseman
++ ItemsVector m_ItemsVector; //!<This is the vector containing a pair of each item name and its wxPanel.
+
- }//ecapseman
++ };
++} //ecapseman
#endif /* BUTTONCONTAINERSETTINGS_H_ */
/*# ---------------------------------------------------------------------
--#
--# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
--# pour la Sant�)
--# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
--# Previous Authors : Laurent Guigues, Jean-Pierre Roux
--# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
--#
--# This software is governed by the CeCILL-B license under French law and
--# abiding by the rules of distribution of free software. You can use,
--# modify and/ or redistribute the software under the terms of the CeCILL-B
--# license as circulated by CEA, CNRS and INRIA at the following URL
--# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
--# or in the file LICENSE.txt.
--#
--# As a counterpart to the access to the source code and rights to copy,
--# modify and redistribute granted by the license, users are provided only
--# with a limited warranty and the software's author, the holder of the
--# economic rights, and the successive licensors have only limited
--# liability.
--#
--# The fact that you are presently reading this means that you have had
--# knowledge of the CeCILL-B license and that you accept its terms.
--# ------------------------------------------------------------------------ */
++ #
++ # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
++ # pour la Sant�)
++ # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
++ # Previous Authors : Laurent Guigues, Jean-Pierre Roux
++ # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
++ #
++ # This software is governed by the CeCILL-B license under French law and
++ # abiding by the rules of distribution of free software. You can use,
++ # modify and/ or redistribute the software under the terms of the CeCILL-B
++ # license as circulated by CEA, CNRS and INRIA at the following URL
++ # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
++ # or in the file LICENSE.txt.
++ #
++ # As a counterpart to the access to the source code and rights to copy,
++ # modify and redistribute granted by the license, users are provided only
++ # with a limited warranty and the software's author, the holder of the
++ # economic rights, and the successive licensors have only limited
++ # liability.
++ #
++ # The fact that you are presently reading this means that you have had
++ # knowledge of the CeCILL-B license and that you accept its terms.
++ # ------------------------------------------------------------------------ */
/*!
* @file creaPanelButtonContainer.h
#include "creaPanelButtonContainer.h"
--
namespace creaPanelButtonContainer
{
BEGIN_EVENT_TABLE(PanelButtonContainer,wxPanel)
-- //EVT_LIST_ITEM_SELECTED(-1, ListWx::ListEvent)
++//EVT_LIST_ITEM_SELECTED(-1, ListWx::ListEvent)
-- //(*EventTable(ButtonContainerPanel)
-- //*)
-- END_EVENT_TABLE()
-- // ----------------------------------------------------------------------------------
-- typedef creaButtonContainer::model::TConcreteFunctor< PanelButtonContainer > TConcreteFunctor;
-- // ----------------------------------------------------------------------------------
-- PanelButtonContainer::PanelButtonContainer( wxWindow* parent, ButtonContainerSettings* bcSettings, int type )
-- : wxPanel( parent, -1, wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE, _T("creaPanelButtonContainer") )
++//(*EventTable(ButtonContainerPanel)
++//*)
++ END_EVENT_TABLE ()
++// ----------------------------------------------------------------------------------
++ typedef creaButtonContainer::model::TConcreteFunctor<PanelButtonContainer> TConcreteFunctor;
++// ----------------------------------------------------------------------------------
++ PanelButtonContainer::PanelButtonContainer(wxWindow* parent,
++ ButtonContainerSettings* bcSettings, int type)
++ : wxPanel(parent, -1, wxDefaultPosition, wxDefaultSize,
++ wxDEFAULT_FRAME_STYLE, _T("creaPanelButtonContainer"))
{
-- std::cout<< "MLER | creaPanelButtonContainer:: PanelButtonContainer() " << std::endl;
--
this->m_ButtonContainerSettings = bcSettings;
- this->m_ButtonPanel = new wxPanel( this );
-
-- //Class that manages the event!!!
-- //EED 20/01/2012
-- TConcreteFunctor* functor = new TConcreteFunctor( this, &PanelButtonContainer::GenericButtonEvent );
--// TConcreteFunctor* functor = new TConcreteFunctor( this->m_ButtonPanel, &PanelButtonContainer::GenericButtonEvent );
-- //end of the event definition
-
- TConcreteFunctor* lFunctor = new TConcreteFunctor( this, &PanelButtonContainer::GenericListEvent );
- //MLER
-
+ //Using AuiManager to Manage the Panels
- this->m_AuiManager = new wxAuiManager( this, wxAUI_MGR_DEFAULT );
-
++ this->m_AuiManager = new wxAuiManager(this,
++ wxAUI_MGR_DEFAULT | wxFULL_REPAINT_ON_RESIZE);
- TConcreteFunctor* lFunctor = new TConcreteFunctor( this, &PanelButtonContainer::GenericListEvent );
- //MLER
- if(type == 0)
++ if (type == 0)
+ {
- this->m_ButtonPanel = new wxPanel( this );
- std::cout << "tipo 0; new ButtonContainerPanel"<<std::endl;
- this->m_ButtonContainerPanel = new ButtonContainerPanel( this, this->m_ButtonContainerSettings->GetButtonGroupSettings( functor ) );
-
- this->m_AuiManager->AddPane( this->m_ButtonContainerPanel,wxAuiPaneInfo( ).Name( _T("ButtonContainerPanel") ).Caption(_("ButtonContainerPanel") ). CaptionVisible( true ).CloseButton(false ).Center( ).Resizable( true ) );
- this->m_AuiManager->AddPane(this->m_ButtonPanel, wxAuiPaneInfo( ).Name( _T("ButtonPanel") ).Caption( _("ButtonPanel") ). CaptionVisible(true ).CloseButton( false ).Bottom( ).Resizable( true ) );
++ //Class that manages the event!!!
++ //EED 20/01/2012
++ TConcreteFunctor* functor = new TConcreteFunctor(this,
++ &PanelButtonContainer::GenericButtonEvent);
++ //end of the event definition
++ this->m_EventPanel = new wxPanel(this);
++ this->m_ButtonContainerPanel = new ButtonContainerPanel(this,
++ this->m_ButtonContainerSettings->GetButtonGroupSettings(functor));
++ //Bottom Panel
++ this->m_AuiManager->AddPane(this->m_EventPanel,
++ wxAuiPaneInfo().Name(_T("EventPanel")).Caption(_("EventPanel")).CaptionVisible(
++ true).MinimizeButton().MaximizeButton().CloseButton(false).Center().Resizable(
++ true));
++ //Top Panel
++ this->m_AuiManager->AddPane(this->m_ButtonContainerPanel,
++ wxAuiPaneInfo().Name(_T("ButtonContainerPanel")).DefaultPane().Caption(
++ _("ButtonContainerPanel")).PinButton().CaptionVisible(true).CloseButton(
++ false).Center().Resizable(true));
+ }
- else if( type == 1)
++ else if (type == 1)
+ {
- this->m_ListPanel = new wxPanel(this);
- std::cout << "tipo 1; new LIstWx"<<std::endl;
- this->mylist = new ListWx(this, -1,this->m_ButtonContainerSettings->GetItemsMap(), lFunctor);
- mylist->FillList();
- this->m_AuiManager->AddPane( this->mylist,wxAuiPaneInfo( ).Name( _T("ListContainerPanel") ).Caption(_("ListContainerPanel") ). CaptionVisible( true ).CloseButton(false ).Center( ).Resizable( true ) );
- this->m_AuiManager->AddPane(this->m_ListPanel, wxAuiPaneInfo( ).Name( _T("ListPanel") ).Caption( _("ListPanel") ). CaptionVisible(true ).CloseButton( false ).Bottom( ).Resizable( true ) );
++ //MLER
++ TConcreteFunctor* lFunctor = new TConcreteFunctor(this,
++ &PanelButtonContainer::GenericListEvent);
+
- this->m_ListPanel = new wxPanel(this);
++ this->m_EventPanel = new wxPanel(this);
++ std::cout << "tipo 1; new LIstWx" << std::endl;
+
- if(type == 0)
++ this->m_ListWxPanel = new ListWx(this, -1,
++ this->m_ButtonContainerSettings->GetItemsVector(), lFunctor);
++
++ //Bottom Panel
++ this->m_AuiManager->AddPane(this->m_EventPanel,
++ wxAuiPaneInfo().Name(_T("EventPanel")).Caption(_("EventPanel")).CaptionVisible(
++ true).MinimizeButton().MaximizeButton().CloseButton(false).Center().Resizable(
++ true));
++ //Top Panel
++ this->m_AuiManager->AddPane(this->m_ListWxPanel,
++ wxAuiPaneInfo().Name(_T("ListContainerPanel")).DefaultPane().Caption(
++ _("ListContainerPanel")).PinButton().CaptionVisible(true).CloseButton(
++ false).Center().Resizable(true));
+ }
- else if( type == 2)
++ else if (type == 2)
{
- std::cout << "tipo 0; new ButtonContainerPanel"<<std::endl;
- this->m_ButtonContainerPanel = new ButtonContainerPanel( this, this->m_ButtonContainerSettings->GetButtonGroupSettings( functor ),type );
++ TConcreteFunctor* lFunctor = new TConcreteFunctor(this,
++ &PanelButtonContainer::GenericListEvent);
++
++ this->m_EmptyPanel = new wxPanel(this);
++ this->m_EventPanel = this->m_EmptyPanel;
++
++ this->m_PanelUp = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize,
++ wxTAB_TRAVERSAL, _T("ListConfigContainerPanel"));
++ wxGridBagSizer* mainSizer = new wxGridBagSizer(0, 0);
++ mainSizer->AddGrowableCol(1);
++ mainSizer->AddGrowableRow(0);
++
++ //=======
++ //Original List
++ this->m_ListWxPanel = new ListWx(this->m_PanelUp, -1,
++ this->m_ButtonContainerSettings->GetItemsVector(), lFunctor);
++ this->m_ListWxPanel->Show(false);
++ //Configurable list
++ this->m_CurrentWxPanel = new ListWx(this->m_PanelUp, -1, lFunctor);
++
++ mainSizer->Add(this->m_ListWxPanel, wxGBPosition(0, 0), wxDefaultSpan,
++ wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL
++ | wxALIGN_CENTER_VERTICAL, 5);
++ mainSizer->Add(this->m_CurrentWxPanel, wxGBPosition(0, 1), wxDefaultSpan,
++ wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL
++ | wxALIGN_CENTER_VERTICAL, 5);
++
++ wxBitmap btmSettings(Settings_xpm); //Icon of Button
++
++ this->m_ConfigButton = new wxBitmapButton(this->m_PanelUp, -1,
++ btmSettings, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW,
++ wxDefaultValidator, _T("Config"));
++
++ mainSizer->Add(this->m_ConfigButton, wxGBPosition(1, 2), wxDefaultSpan,
++ wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL, 5);
++
++ //=======
++
++ this->m_PanelUp->SetSizer(mainSizer);
++ mainSizer->Fit(this->m_PanelUp);
++ mainSizer->SetSizeHints(this->m_PanelUp);
++
++ //Bottom Panel
++ this->m_AuiManager->AddPane(this->m_EventPanel,
++ wxAuiPaneInfo().Name(_T("EventPanel")).Caption(_("EventPanel")).CaptionVisible(
++ true).MinimizeButton().MaximizeButton().CloseButton(false).Center().Resizable(
++ true));
++ //Top Panel
++ this->m_AuiManager->AddPane(this->m_PanelUp,
++ wxAuiPaneInfo().Name(_T("ListContainerPanel")).DefaultPane().Caption(
++ _("ListContainerPanel")).PinButton().CaptionVisible(true).CloseButton(
++ false).Center().Resizable(true));
++
++ this->Connect(wxEVT_COMMAND_BUTTON_CLICKED,
++ wxCommandEventHandler(PanelButtonContainer::OnConfigButton));
+
- this->m_ListPanel = new wxPanel(this);
-
- panelUp = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("ListConfigContainerPanel"));
- wxBoxSizer* mainSizer = new wxBoxSizer(wxHORIZONTAL);
-
- //=======
- wxBoxSizer* listSizer = new wxBoxSizer(wxVERTICAL);
-
- this->mylist = new ListWx(panelUp,-1,this->m_ButtonContainerSettings->GetItemsMap(),lFunctor);
- this->mylist->Show(false);
- ItemsMap empty;
- this->myConfiglist = new ListWx(panelUp,-1, empty,lFunctor);
- listSizer->Add(this->myConfiglist,0,wxEXPAND);
- listSizer->Add(this->mylist,0,wxEXPAND);
- mainSizer->Add(listSizer,0,wxEXPAND|wxALL,7);
-
- //=======
- wxBoxSizer* buttonSizer = new wxBoxSizer(wxVERTICAL);
-
- button = new wxButton(panelUp, -1, _("Configurar"),
- wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _("Configurar"));
-
- buttonSizer->Add(button,0,wxEXPAND);
- mainSizer->Add(buttonSizer,0,wxEXPAND|wxALL,14);
- //=======
-
- panelUp->SetSizer(mainSizer);
-
- this->m_AuiManager->AddPane( panelUp,wxAuiPaneInfo( ).Name( _T("ListConfigContainerPanel") ).Caption(_("ListConfigContainerPanel") ). CaptionVisible( true ).CloseButton(false ).Center( ).Resizable( true ) );
- this->m_AuiManager->AddPane(this->m_ListPanel, wxAuiPaneInfo( ).Name( _T("ListPanel") ).Caption( _("ListPanel") ). CaptionVisible(true ).CloseButton( false ).Bottom( ).Resizable( true ) );
}
- // else if( type == 1)
- // {
- // std::cout << "tipo 1; new LIstWx"<<std::endl;
- // this->mylist = new ListWx(this->m_ListPanel, -1,this->m_ButtonContainerSettings->GetItemsMap(), lFunctor);
- // }//MLER
++ else if (type == 3)
++ {
++ //MLER
++ TConcreteFunctor* lFunctor = new TConcreteFunctor(this,
++ &PanelButtonContainer::GenericListEvent);
+
++ this->m_EventPanel = new wxPanel(this);
++ std::cout << "MLER Type 3; new ComboBox" << std::endl;
+
- //Using AuiManager to Manage the Panels
- this->m_AuiManager = new wxAuiManager( this, wxAUI_MGR_DEFAULT );
-
- if(type == 0)
- this->m_AuiManager->AddPane(this->m_ButtonContainerPanel, wxAuiPaneInfo( ).Name( _T("ButtonPanel") ).Caption( _("Panel") ). CaptionVisible(true ).CloseButton( false ).Bottom( ).Resizable( true ) );
- else if(type == 1)
- this->m_AuiManager->AddPane(this->m_ListPanel, wxAuiPaneInfo( ).Name( _T("ListPanel") ).Caption( _("Panel") ). CaptionVisible(true ).CloseButton( false ).Bottom( ).Resizable( true ) );
-
- //CartoButtonPanel Management
- if(type == 0)
- this->m_AuiManager->AddPane( this->m_ButtonContainerPanel,wxAuiPaneInfo( ).Name( _T("ButtonPanel") ).Caption(_("ListPanel") ). CaptionVisible( false ).CloseButton(false ).Center( ).Resizable( true ) );
- else if(type ==1)
- {this->m_AuiManager->AddPane( this->m_ListPanel,wxAuiPaneInfo( ).Name( _T("ListPanel") ).Caption(_("ListPanel") ). CaptionVisible( false ).CloseButton(false ).Center( ).Resizable( true ) );}
- this->m_AuiManager->Update( );
++ this->m_ComboBoxPanel = new ComboBox(this, -1,
++ this->m_ButtonContainerSettings->GetItemsVector(), lFunctor);
++
++ //Bottom Panel
++ this->m_AuiManager->AddPane(this->m_EventPanel,
++ wxAuiPaneInfo().Name(_T("EventPanel")).Caption(_("EventPanel")).CaptionVisible(
++ true).MinimizeButton().MaximizeButton().CloseButton(false).Center().Resizable(
++ true));
++ //Top Panel
++ this->m_AuiManager->AddPane(this->m_ComboBoxPanel,
++ wxAuiPaneInfo().Name(_T("ComboBoxContainerPanel")).DefaultPane().Caption(
++ _("ComboBoxContainerPanel")).PinButton().CaptionVisible(true).CloseButton(
++ false).Center().Resizable(true));
++ }
++ //End MLER
+
-
- //MLER
-
- this->m_AuiManager->Update( );
- //m_listConfigPanel = new ListConfigPanel(this,1,_("Configuracion"),mylist);
-
- this->Connect(wxEVT_COMMAND_BUTTON_CLICKED,
- wxCommandEventHandler(PanelButtonContainer::ButtonEvent));
-
++ this->m_AuiManager->Update();
}
-- // ----------------------------------------------------------------------------------
-- PanelButtonContainer::~PanelButtonContainer( )
++// ----------------------------------------------------------------------------------
++ PanelButtonContainer::~PanelButtonContainer()
{
}
-- // ----------------------------------------------------------------------------------
-- void
-- PanelButtonContainer::UpdatePanel( const std::string &buttonName )
++// ----------------------------------------------------------------------------------
++ void PanelButtonContainer::UpdatePanel(const std::string &buttonName)
{
try
{
-- std::cout<< "MLER | creaPanelButtonContainer:: UpdatePanel() " << std::endl;
--
//Hiding the last CartoSettingsPanel
-- this->m_ButtonPanel->Show( false );
++ this->m_EventPanel->Show(false);
//Finding the CartoSettingsPanel of the ButtonClicket
-- this->m_ButtonPanel = this->m_ButtonContainerSettings->GetPanelButton(buttonName );
-- std::cout<< buttonName << "---testEvento 2 "<<std::endl;
++ this->m_EventPanel = this->m_ButtonContainerSettings->GetPanelButton(
++ buttonName);
//changing the parent of the panel!
-- if ( this->m_ButtonPanel->GetParent( ) != this )
++ if (this->m_EventPanel->GetParent() != this)
{
-- this->m_ButtonPanel->Reparent( this );
-- }//fi
-- //Panel Management
-- this->m_AuiManager->GetPane( _T("ButtonPanel") ).window = this->m_ButtonPanel;
++ this->m_EventPanel->Reparent(this);
++ } //fi
++ //Panel Management
++ this->m_AuiManager->GetPane(_T("EventPanel")).window = this->m_EventPanel;
//Updating the manager
-- this->m_AuiManager->Update( );
-- }//yrt
-- catch ( const std::exception& e )
++ this->m_AuiManager->Update();
++ } //yrt
++ catch (const std::exception& e)
{
std::cerr
-- << "PanelButtonContainer::UpdatePanel( const std::string &buttonName )"
-- << "exception: " << e.what( ) << std::endl;
++ << "PanelButtonContainer::UpdatePanel( const std::string &buttonName )"
++ << "exception: " << e.what() << std::endl;
std::cout << "Maybe the panel of the button is NULL" << std::endl;
-- exit( 1 );
-- }//hctac
++ exit(1);
++ } //hctac
}
-- // ----------------------------------------------------------------------------------
-- void
-- PanelButtonContainer::GenericButtonEvent( const std::string &buttonName )
++// ----------------------------------------------------------------------------------
++ void PanelButtonContainer::GenericButtonEvent(const std::string &buttonName)
{
-- std::cout<< "MLER | creaPanelButtonContainer:: GenericButtonEvent() " << std::endl;
-- std::cout<< buttonName << "---testEvento 1 "<<std::endl;
-- this->UpdatePanel( buttonName );
++ this->UpdatePanel(buttonName);
}
--// ----------------------------------------------------------------------------------
- /*
-- void
-- PanelButtonContainer::UpdateListPanel( const std::string &buttonName )
++ // ----------------------------------------------------------------------------------
++ //MLER
++ void PanelButtonContainer::GenericListEvent(const std::string &buttonName)
{
-- try{
--
-- std::cout<< "MLER | creaPanelButtonContainer:: UpdateListPanel() " << std::endl;
-- std::cout<< buttonName << " --- test 2 "<<std::endl;
--
-- this->m_ListPanel->Show( false );
++ this->UpdateListPanel(buttonName);
++ }
-- this->m_ListPanel = this->m_ButtonContainerSettings->GetPanelList(buttonName );
++ // ----------------------------------------------------------------------------------
++ void PanelButtonContainer::UpdateListPanel(const std::string &buttonName)
++ {
++ try
++ {
++ this->m_EventPanel->Show(false);
++ this->m_EventPanel = this->m_ButtonContainerSettings->GetPanelList(
++ buttonName);
-- if ( this->m_ListPanel->GetParent( ) != this )
++ if (this->m_EventPanel->GetParent() != this)
{
-- this->m_ListPanel->Reparent( this );
-- }//fi
-- //Panel Management
-- this->m_AuiManager->GetPane( _T("ListPanel") ).window = this->m_ListPanel;
-- //Updating the manager
-- this->m_AuiManager->Update( );
--
-- }catch( const std::exception& e )
++ this->m_EventPanel->Reparent(this);
++ } //fi
++ //Panel Management
++ this->m_AuiManager->GetPane(_T("EventPanel")).window = this->m_EventPanel;
++ //Updating the manager
++ this->m_AuiManager->Update();
++
++ } catch (const std::exception& e)
{
std::cerr
-- << "PanelButtonContainer::UpdatePanel( const std::string &buttonName )"
-- << "exception: " << e.what( ) << std::endl;
++ << "PanelButtonContainer::UpdatePanel( const std::string &buttonName )"
++ << "exception: " << e.what() << std::endl;
std::cout << "Maybe the panel of the list is NULL" << std::endl;
-- exit( 1 );
-- }//hctac
++ exit(1);
++ } //hctac
}
- */
- void
- PanelButtonContainer::GenericListEvent( const std::string &buttonName )
+
- void
- PanelButtonContainer::GenericListEvent( const std::string &buttonName )
++// ----------------------------------------------------------------------------------
++ void PanelButtonContainer::OnConfigButton(wxCommandEvent& event)
{
-- std::cout<< "MLER | creaPanelButtonContainer:: GenericListEvent() " << std::endl;
-- std::cout<< buttonName << " --- test 3 "<<std::endl;
- //EED this->UpdateListPanel( buttonName );
- this->UpdateListPanel( buttonName );
-- }
- void
- PanelButtonContainer::ButtonEvent ( wxCommandEvent& event )
- {
++ this->m_ListConfigDialog = new ListConfigDialog(this, -1, _("Settings"),
++ this->m_ListWxPanel, this->m_CurrentWxPanel);
- }//ecapseman
- m_listConfigPanel = new ListConfigPanel(this,-1,_("Configuracion"), mylist, myConfiglist);
++ std::cout << "Button Event" << std::endl;
+
- std::cout<< "BUtton Event"<<std::endl;
++ this->m_EventPanel->Show(false);
- m_listConfigPanel->ShowModal();
- this->myConfiglist->Reparent(panelUp);
- this->myConfiglist->Show(true);
- this->myConfiglist->SetFunctorEnabled(true);
- this->myConfiglist->Update();
- this->m_AuiManager->Update( );
- this->m_ListPanel->Show(false);
- }
++ this->m_ListConfigDialog->ShowModal(); //Show Dialog
++ this->m_CurrentWxPanel->Reparent(this->m_PanelUp);
++ this->m_CurrentWxPanel->Show(true);
++ this->m_CurrentWxPanel->SetFunctorEnabled(true);
+
++ this->m_CurrentWxPanel->GetListBox()->Deselect(
++ this->m_CurrentWxPanel->GetListBox()->GetSelection()); //Deselected item
++ this->m_CurrentWxPanel->Update();
++ this->m_ListWxPanel->Show(false);
++ this->m_EventPanel->Show(false);
++ this->m_EventPanel = this->m_EmptyPanel; //Management Empty Panel
+
++ this->m_AuiManager->GetPane(_T("EventPanel")).window = this->m_EventPanel;
++ this->m_AuiManager->Update();
+
++ }
++ //End MLER
++// ----------------------------------------------------------------------------------
+
+ }//ecapseman
-
/*# ---------------------------------------------------------------------
--#
--# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
--# pour la Sant�)
--# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
--# Previous Authors : Laurent Guigues, Jean-Pierre Roux
--# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
--#
--# This software is governed by the CeCILL-B license under French law and
--# abiding by the rules of distribution of free software. You can use,
--# modify and/ or redistribute the software under the terms of the CeCILL-B
--# license as circulated by CEA, CNRS and INRIA at the following URL
--# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
--# or in the file LICENSE.txt.
--#
--# As a counterpart to the access to the source code and rights to copy,
--# modify and redistribute granted by the license, users are provided only
--# with a limited warranty and the software's author, the holder of the
--# economic rights, and the successive licensors have only limited
--# liability.
--#
--# The fact that you are presently reading this means that you have had
--# knowledge of the CeCILL-B license and that you accept its terms.
--# ------------------------------------------------------------------------ */
++ #
++ # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
++ # pour la Sant�)
++ # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
++ # Previous Authors : Laurent Guigues, Jean-Pierre Roux
++ # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
++ #
++ # This software is governed by the CeCILL-B license under French law and
++ # abiding by the rules of distribution of free software. You can use,
++ # modify and/ or redistribute the software under the terms of the CeCILL-B
++ # license as circulated by CEA, CNRS and INRIA at the following URL
++ # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
++ # or in the file LICENSE.txt.
++ #
++ # As a counterpart to the access to the source code and rights to copy,
++ # modify and redistribute granted by the license, users are provided only
++ # with a limited warranty and the software's author, the holder of the
++ # economic rights, and the successive licensors have only limited
++ # liability.
++ #
++ # The fact that you are presently reading this means that you have had
++ # knowledge of the CeCILL-B license and that you accept its terms.
++ # ------------------------------------------------------------------------ */
/*!
* @file PanelButtonContainer
#include <wx/aui/aui.h>
#include <string>
#include <wx/gdicmn.h>
++#include <wx/gbsizer.h>
++#include <wx/bmpbuttn.h>
++#include "listConfigDialog.h"
#include "containerSettings.h"
#include "buttonContainerPanel.h"
#include "buttonContainerSettings.h"
#include "functor.h"
#include "listWx.h"
-#include "listConfigPanel.h"
++#include "Settings.xpm"
++#include "comboBox.h"
/*! @namespace <creaPanelButtonContainer>
* @brief Contains the creaPanelButtonContainer library included in creaMaracasVisu.
* @brief This class contains the PanelButtonContainer. It derives from wxPanel.
* @see <a href="http://docs.wxwidgets.org/stable/wx_wxpanel.html">wxPanel</a>
*/
-- class PanelButtonContainer : public wxPanel
++ class PanelButtonContainer: public wxPanel
{
public:
//typedef definition.
/*! typedef creaPanelButtonContainer::ButtonContainerSettings ButtonContainerSettings;
* @brief Defines the ButtonContainerSettings type.
*/
-- typedef creaPanelButtonContainer::ButtonContainerSettings
-- ButtonContainerSettings;
++ typedef creaPanelButtonContainer::ButtonContainerSettings ButtonContainerSettings;
/*! typedef creaButtonContainer::view::ButtonContainerPanel ButtonContainerPanel;
* @brief Defines the ButtonContainerPanel type.
*/
-- typedef creaButtonContainer::view::ButtonContainerPanel
-- ButtonContainerPanel;
++ typedef creaButtonContainer::view::ButtonContainerPanel ButtonContainerPanel;
++
++ //MLER
++ /*! typedef creaButtonContainer::view::ListWx ListWx;
++ * @brief Defines a ListWx for (Configurable) List Container.
++ * This class inherits from wxPanel and contains a wxListBox.
++ */
typedef creaButtonContainer::view::ListWx ListWx;
- typedef creaPanelButtonContainer::ListConfigPanel
- ListConfigPanel;
- typedef std::map<std::string, wxPanel*> ItemsMap;
++ /*! typedef creaPanelButtonContainer::ListConfigDialog ListConfigDialog;
++ * @brief Defines a ListConfigPanel to configure.
++ * This class inherits from wxDialog and contains the wxListBox and wxButton.
++ */
++ typedef creaButtonContainer::view::ListConfigDialog ListConfigDialog;
++
++ typedef creaButtonContainer::view::ComboBox ComboBox;
+
// ----------------------------------------------------------------------------------
-- //end of typedef definition.
++ //End MLER
++ //end of typedef definition.
public:
// ----------------------------------------------------------------------------------
/*! @fn PanelButtonContainer( wxWindow* parent, ButtonContainerSettings* bcSettings );
* @param parent The wxWindow pointer to parent
* @param bcSettings //The buttonContainerSettings
*/
-- PanelButtonContainer( wxWindow* parent,
-- ButtonContainerSettings* bcSettings, int type );
++ PanelButtonContainer(wxWindow* parent,
++ ButtonContainerSettings* bcSettings, int type);
// ----------------------------------------------------------------------------------
/*! @fn virtual PanelButtonContainer( );
* @brief This is the destructor.
*/
virtual
-- ~PanelButtonContainer( );
++ ~PanelButtonContainer();
// ----------------------------------------------------------------------------------
/*! @fn void UpdatePanel( const std::string &buttonName );
-- * @brief This method Updates the m_ButtonPanel to a panel
++ * @brief This method Updates the m_EventPanel to a panel
* of the clicked button in creaButtonContainer.
* @param buttonName
*/
void
-- UpdatePanel( const std::string &buttonName );
++ UpdatePanel(const std::string &buttonName);
// ----------------------------------------------------------------------------------
/*! @fn void GenericButtonEvent( const std::string &buttonName );
-- * @brief This method is the function that calls the panels contained in the buttons
++ * @brief This method is the function that calls the panels contained in the buttons.
* (in creaButtonContainer is the function contained in the functors to be called back.
* @param buttonName The name of the button
*/
void
-- GenericButtonEvent( const std::string &buttonName );
--
++ GenericButtonEvent(const std::string &buttonName);
// ----------------------------------------------------------------------------------
- void
- UpdateListPanel( const std::string &buttonName );
-
- void
- GenericListEvent( const std::string &buttonName );
-
+ //MLER
-
++ /*! @fn void GenericListEvent( const std::string &buttonName );
++ * @brief This method is the function that calls the panels contained in the items list.
++ * (in creaButtonContainer is the function contained in the functors to be called back.
++ * @param buttonName The name of the button (item list)
++ */
void
- UpdateListPanel( const std::string &buttonName );
- ButtonEvent ( wxCommandEvent& event );
--
++ GenericListEvent(const std::string &buttonName);
++ // ----------------------------------------------------------------------------------
++ /*! @fn void UpdateListPanel( const std::string &buttonName );
++ * @brief This method Updates the m_EventPanel to a panel
++ * of the clicked an item in creaButtonContainer.
++ * @param buttonName The name of the button (item list)
++ */
void
- GenericListEvent( const std::string &buttonName );
- //MLER
- ListEvent( wxCommandEvent& event );
--
++ UpdateListPanel(const std::string &buttonName);
++ // ----------------------------------------------------------------------------------
++ /*! @fn void OnConfigButton( wxCommandEvent& event );
++ * @brief This method calls the wxDialog when
++ * the config button is clicked.
++ * @param event
++ */
++ void
++ OnConfigButton(wxCommandEvent& event);
++ //End MLER
// ----------------------------------------------------------------------------------
private:
//Settings
ButtonContainerSettings* m_ButtonContainerSettings; //!<This is the buttonContainer settings.
++
//Panel
-- ButtonContainerPanel* m_ButtonContainerPanel; //!<This is the panel with de buttons (creaButtonContainer)
++ ButtonContainerPanel* m_ButtonContainerPanel; //!<This is the panel with of buttons (creaButtonContainer)
wxAuiManager* m_AuiManager; //!<The AUI Manager for the panels.
-- wxPanel* m_ButtonPanel; //!<This is the panel used to contain the panels of the buttons. (it changes with the buttonAction)
-- wxPanel* m_ListPanel;
++ wxPanel* m_EventPanel; //!<This is the panel used to contain the panels of the buttons. (it changes with the buttonAction)
++
++ //MLER
++ ListWx* m_ListWxPanel;//!<This panel contains the list of the elements.
++ ListConfigDialog* m_ListConfigDialog;//!<This wxDialog shows the list of the elements and allows modifications.
++
++ wxPanel* m_PanelUp;//!<This panel contains the list of the elements empty,full and the config button.
++ wxPanel* m_EmptyPanel; //!<This panel is empty.
++ ListWx* m_CurrentWxPanel;//!<This panel contains the final list of the elements .
+
- ListWx* mylist; //MLER
- ListWx* myConfiglist; //MLER
- wxButton* button;
- ListConfigPanel* m_listConfigPanel;
- wxPanel* panelUp;
++ wxBitmapButton* m_ConfigButton;//!< "Config" Settings button.
- ListWx* mylist; //MLER
++ ComboBox* m_ComboBoxPanel;//!<This panel contains the list of the comboBox elements.
++ //End MLER
-- DECLARE_EVENT_TABLE() //!<Event Table declaration.
++ DECLARE_EVENT_TABLE()
++ //!<Event Table declaration.
};
--}//ecapseman
++} //ecapseman
#endif // PANELBUTTONCONTAINER_H_