/*# ---------------------------------------------------------------------
-#
-# 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"
void
AddButtons( BCStructVectorType infoList );
- // ----------------------------------------------------------------------------------
-// AddItems( BCStructVectorType infoList );
-
// ----------------------------------------------------------------------------------
// ----------------------------------------------------------------------------------
private:
ButtonGroupMap m_ButtonGroupContainer; //! <The container with the group of buttons.
KeyMapList m_GroupNameList; //! <The container with the name of the groups of buttons.
- //ListGroupMap m_ListGroupContainer; // contenedor del grupo de listas
};
}
}
/*# ---------------------------------------------------------------------
-#
-# 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
END_EVENT_TABLE()
// ----------------------------------------------------------------------------------
- ButtonContainerPanel::ButtonContainerPanel( wxWindow* parent, ButtonGroupSettings* settings, int type )
+ ButtonContainerPanel::ButtonContainerPanel( wxWindow* parent, ButtonGroupSettings* settings )
: wxScrolledWindow(parent,-1, wxDefaultPosition,wxDefaultSize, wxTAB_TRAVERSAL | wxVSCROLL | wxHSCROLL | wxFULL_REPAINT_ON_RESIZE, _T("creaButtonContainer") )
{
- std::cout<< "MLER | ButtonContainerPanel::ButtonContainerPanel( )" << std::endl;
-
ButtonGroupFactory factory;
- //ListGroupFactory listFactory;
-
- //MLER this->SetButtonGroupContainer( factory.CreateButtonGroupContainer( this, settings ) );
- std::cout<< std::endl << " MLER buttonContainerPanel.cxx / ButtonContainerPanel() :: type " << type<<std::endl;
- switch (type)
- {
- case 0:
- this->SetButtonGroupContainer( factory.CreateButtonGroupContainer( this, settings ) );
- break;
- //case 1:
- //this->SetListGroupContainer(listFactory.CreateButtonGroupContainer( this, settings ) );
- // MLER Verificar ButtonGroupList contra ListGroupList
- //break;
- default:
- this->SetButtonGroupContainer(factory.CreateButtonGroupContainer( this, settings ) );
- }
+ this->SetButtonGroupContainer( factory.CreateButtonGroupContainer( this, settings ) );
- this->PanelInit(type );
+ this->PanelInit( );
this->m_ButtonCController = new BCController( this );
this->m_ButtonCController->AddEvents( );
this->SetEventHandler( this->m_ButtonCController );
}
-
+
// ----------------------------------------------------------------------------------
- ButtonContainerPanel::~ButtonContainerPanel( )
+ ButtonContainerPanel::~ButtonContainerPanel()
{
}
-
+
// ----------------------------------------------------------------------------------
- void ButtonContainerPanel::SetButtonGroupContainer(ButtonGroupList groupContainer )
+ void ButtonContainerPanel::SetButtonGroupContainer(
+ ButtonGroupList groupContainer)
{
- std::cout<< "MLER | ButtonContainerPanel::SetButtonGroupContainer()" << std::endl;
+
this->m_ButtonGroupList = groupContainer;
}
+
// ----------------------------------------------------------------------------------
- /*void ButtonContainerPanel::SetListGroupContainer(ListGroupList groupContainer )
- {
- this->m_ListGroupList = groupContainer;
- }*/
-
- // ----------------------------------------------------------------------------------
- void ButtonContainerPanel::PanelInit( int type )
+ void ButtonContainerPanel::PanelInit()
{
- std::cout<< "MLER | ButtonContainerPanel::PanelInit( int type )" << std::endl;
try
{
-
+
// EED 20/01/2012 flag 01
- this->m_Sizer = new Sizer( 0, 1, 0, 0 );
- std::cout << " MLER buttonContainerPanel.cxx / Panel Init() :: type " << type << std::endl;
+ this->m_Sizer = new Sizer(0, 1, 0, 0);
- if(type == 0)
+ for (ButtonGroupList::iterator it = this->m_ButtonGroupList.begin();
+ it != this->m_ButtonGroupList.end(); ++it)
{
- for( ButtonGroupList::iterator it = this->m_ButtonGroupList.begin( ); it != this->m_ButtonGroupList.end( ); ++it )
- {
- GroupManager* manager = new GroupManager( this, *it );
- this->m_GroupManagerList[ manager->GetButtonID( ) ] = manager;
- this->m_Sizer->Add( manager, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 );
- }
+ GroupManager* manager = new GroupManager(this, *it);
+ this->m_GroupManagerList[manager->GetButtonID()] = manager;
+ this->m_Sizer->Add(manager, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5);
}
- /*else
- {
- for(ListGroupList::iterator it1 = this->m_ListGroupList.begin(); it1 != this->m_ListGroupList.end(); ++it1)
- {
- GroupManager* manager = new GroupManager( this, *it1);
- this->m_GroupManagerList[ manager->GetButtonID( ) ] = manager;
- this->m_Sizer->Add( manager, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 );
- }
- }//MLER*/
- this->SetSizer( this->m_Sizer );
- this->Layout( );
- this->FitSizer( );
- }//yrt
- catch ( const std::exception& e )
+ this->SetSizer(this->m_Sizer);
+ this->Layout();
+ this->FitSizer();
+ } //yrt
+ catch (const std::exception& e)
{
std::cerr << "ButtonContainerPanel::PanelInit( ) " << "exception: "
- << e.what( ) << std::endl;
- }//hctac
+ << e.what() << std::endl;
+ } //hctac
}
-
+
// ----------------------------------------------------------------------------------
- void ButtonContainerPanel::FitSizer( )
+ void ButtonContainerPanel::FitSizer()
{
- std::cout<< "MLER | ButtonContainerPanel::FitSizer( )" << std::endl;
- this->m_Sizer->Fit( this );
- this->m_Sizer->FitInside( this );
- this->SetScrollRate( 20, 20 );
- this->m_Sizer->SetSizeHints( this );
+ this->m_Sizer->Fit(this);
+ this->m_Sizer->FitInside(this);
+ this->SetScrollRate(20, 20);
+ this->m_Sizer->SetSizeHints(this);
}
// ----------------------------------------------------------------------------------
}//ecapseman
-}//ecapseman
+} //ecapseman
/*# ---------------------------------------------------------------------
-#
-# 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);
// ----------------------------------------------------------------------------------
/*! @fn ~ButtonContainerPanel( );
* @brief This is the destructor.
*/
virtual
- ~ButtonContainerPanel( );
+ ~ButtonContainerPanel();
// ----------------------------------------------------------------------------------
/*! @fn SetGroupContainer( ButtonGroupList groupContainer );
* @brief This method sets the settings to the container.
* @param groupContainer
*/
void
- SetButtonGroupContainer( ButtonGroupList groupContainer );
+ SetButtonGroupContainer(ButtonGroupList groupContainer);
// ----------------------------------------------------------------------------------
/*! @fn PanelInit( );
* This method initializes the panel.
* @exception std::bad_alloc
*/
void
- PanelInit( int type);
+ PanelInit();
// ----------------------------------------------------------------------------------
//void
* 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, ItemsVector iVector,
+ TFunctor* functor)
+ : wxPanel(parent, id)
{
- std::cout<< "MLER | ListWx::ListWx()" << std::endl;
- this->m_itemsMap = iMap;
+ this->m_Functor = functor;
- this->functor = functor;
- int i = 0;
- for (ItemsMap::iterator it=this->m_itemsMap.begin(); it!=this->m_itemsMap.end(); ++it)
- {
+ wxBoxSizer* sizer = new wxBoxSizer(wxHORIZONTAL);
- std::string key = it->first;
- long index = this->InsertItem(i, wxString(key.c_str(), wxConvUTF8));
+ this->SetSizer(sizer);
- std::cout << "index" << index << std::endl;
- this->Connect( -1, wxEVT_COMMAND_LIST_ITEM_SELECTED,
- wxListEventHandler(ListWx::ListEvent) );
- i++;
+ this->m_ListBox = new wxListBox(this, -1);
+ this->m_FunctorEnabled = true;
+
+ this->Connect(wxEVT_COMMAND_LISTBOX_SELECTED,
+ wxCommandEventHandler(ListWx::OnListEvent));
+
+ if (!iVector.empty())
+ {
+ for (ItemsVector::iterator it = iVector.begin(); it != iVector.end();
+ ++it)
+ {
+ std::string key = it->first;
+ this->m_ListBox->Append(wxString(key.c_str(), wxConvUTF8));
+ }
}
- }
+ sizer->Add(this->m_ListBox, 1, wxGROW);
+
+ }
// ----------------------------------------------------------------------------------
- ListWx::~ListWx( )
+
+ ListWx::ListWx(wxWindow* parent, wxWindowID id, TFunctor* functor)
+ : wxPanel(parent, id)
{
+ this->m_Functor = functor;
+
+ wxBoxSizer* sizer = new wxBoxSizer(wxHORIZONTAL);
+
+ this->SetSizer(sizer);
+
+ this->m_ListBox = new wxListBox(this, -1);
+ this->m_FunctorEnabled = true;
+
+ this->Connect(wxEVT_COMMAND_LISTBOX_SELECTED,
+ wxCommandEventHandler(ListWx::OnListEvent));
+
+ sizer->Add(this->m_ListBox, 1, wxGROW);
+
}
+ // ----------------------------------------------------------------------------------
- void
- ListWx::ListEvent( wxListEvent& event )
+ ListWx::~ListWx()
{
- try
- {
- std::cout<< "MLER | ListWx::ListEvent( wxListEvent& event )" << std::endl;
-
- wxString itemNom = event.GetItem().GetText();
- std::string itemNomC = std::string(itemNom.mb_str());
+ }
- this->functor->Call(itemNomC);
- std::cout<<"mmmmmmmmmmmmmmmmmmmmmmm"<<std::endl;
+ // ----------------------------------------------------------------------------------
- }//yrt
- catch ( const std::exception& e )
+ void ListWx::OnListEvent(wxCommandEvent& event)
+ {
+ if (!this->IsFunctorEnabled())
+ return;
+ else
{
- std::cerr
- << "ButtonContainerController::ButtonEvent( wxCommandEvent& event ) exception: "
- << e.what( ) << std::endl;
- }//hctac
+ try
+ {
+ std::cout << "MLER | ListWx::OnListEvent( wxListEvent& event )"
+ << std::endl;
+
+ int iSelection;
+ iSelection = this->m_ListBox->GetSelection();
+
+ wxString itemNom = this->m_ListBox->GetString(iSelection);
+ std::string itemNomC = std::string(itemNom.mb_str());
+
+ this->m_Functor->Call(itemNomC);
+
+ } //yrt
+ catch (const std::exception& e)
+ {
+ std::cerr
+ << "ButtonContainerController::ButtonEvent( wxCommandEvent& event ) exception: "
+ << e.what() << std::endl;
+ } //hctac
+ }
+ }
+ // ----------------------------------------------------------------------------------
+
+ void ListWx::SetFunctorEnabled(const bool& enabled)
+ {
+ this->m_FunctorEnabled = enabled;
+ }
+ // ----------------------------------------------------------------------------------
+ bool ListWx::IsFunctorEnabled() const
+ {
+ return this->m_FunctorEnabled;
}
- // ----------------------------------------------------------------------------------
- }//ecapseman
-}//ecapseman
+ // ----------------------------------------------------------------------------------
+ wxListBox*
+ ListWx::GetListBox() const
+ {
+ return this->m_ListBox;
+ }
+
+ } //ecapseman
+} //ecapseman
/*# ---------------------------------------------------------------------
-#
-# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
-# pour la Sant�)
-# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
-# Previous Authors : Laurent Guigues, Jean-Pierre Roux
-# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
-#
-# This software is governed by the CeCILL-B license under French law and
-# abiding by the rules of distribution of free software. You can use,
-# modify and/ or redistribute the software under the terms of the CeCILL-B
-# license as circulated by CEA, CNRS and INRIA at the following URL
-# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
-# or in the file LICENSE.txt.
-#
-# As a counterpart to the access to the source code and rights to copy,
-# modify and redistribute granted by the license, users are provided only
-# with a limited warranty and the software's author, the holder of the
-# economic rights, and the successive licensors have only limited
-# liability.
-#
-# The fact that you are presently reading this means that you have had
-# knowledge of the CeCILL-B license and that you accept its terms.
-# ------------------------------------------------------------------------ */
-
+ #
+ # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
+ # pour la Sant�)
+ # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+ # Previous Authors : Laurent Guigues, Jean-Pierre Roux
+ # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
+ #
+ # This software is governed by the CeCILL-B license under French law and
+ # abiding by the rules of distribution of free software. You can use,
+ # modify and/ or redistribute the software under the terms of the CeCILL-B
+ # license as circulated by CEA, CNRS and INRIA at the following URL
+ # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
+ # or in the file LICENSE.txt.
+ #
+ # As a counterpart to the access to the source code and rights to copy,
+ # modify and redistribute granted by the license, users are provided only
+ # with a limited warranty and the software's author, the holder of the
+ # economic rights, and the successive licensors have only limited
+ # liability.
+ #
+ # The fact that you are presently reading this means that you have had
+ # knowledge of the CeCILL-B license and that you accept its terms.
+ # ------------------------------------------------------------------------ */
+
+/*!
+ * @file listWx.h
+ * @brief This contains the ListWx class.
+ * @author Monica ESPINOSA (espinosa[AT]creatis.insa-lyon.fr)
+ * @date 2015-01-02
+ */
#ifndef LISTWX_H
#define LISTWX_H
//#include <wx/bmpbuttn.h>
#include <wx/panel.h>
-#include <wx/image.h>
#include <wx/string.h>
-#include <wx/bitmap.h>
-#include <wx/listctrl.h>
+#include <wx/listbox.h>
#include <wx/wx.h>
+#include <wx/event.h>
-
-#include <map>
#include <string>
-#include "functor.h"
-#include <wx/event.h>
+#include <vector>
+#include <utility>
+#include "functor.h"
#include "system.h"
+/*! @namespace <creaButtonContainer>
+ * @brief Contains the creaButtonContainer library included in creaMaracasVisu.
+ */
namespace creaButtonContainer
{
-
+ /*! @namespace <creaButtonContainer::view>
+ * @brief Contains the implementation of the view in creaButtonContainer library.
+ * @see <a href="http://en.wikipedia.org/wiki/Model-view-controller">MVC Software Architecture</a>
+ */
namespace view
{
-
- class ListWx : public wxListCtrl
+ /*! @class ListWx listWx.h "listWx.h"
+ * @brief This class contains the list in the panel.
+ * @details This class contains the information of a list, it derives from wxPanel.
+ * @see <a href="http://docs.wxwidgets.org/stable/wx_wxpanel.html">wxPanel</a>
+ */
+ class ListWx: public wxPanel
{
public:
-
+ //typedef definition.
+ // ----------------------------------------------------------------------------------
+ /*! typedef creaButtonContainer::model::TFunctor TFunctor;
+ * @brief Defines the TFunctor type.
+ */
typedef creaButtonContainer::model::TFunctor TFunctor;
- typedef std::map<std::string, wxPanel*> ItemsMap;
+ // ----------------------------------------------------------------------------------
+ /*! @typedef std::pair<std::string, wxPanel*> ListAction;
+ * @brief Defines the ListAction type.
+ * First is the button name(item list), Second FunctionEventType
+ */
+ typedef std::pair<std::string, wxPanel*> ListAction;
+ // ----------------------------------------------------------------------------------
+ /*! @typedef std::vector<ListAction> ItemsVector;
+ * @brief Defines the Items Vector type.
+ */
+ typedef std::vector<ListAction> ItemsVector;
+ // ----------------------------------------------------------------------------------
+ //end of typedef definition.
public:
-
- ListWx( wxWindow* parent, wxWindowID id,ItemsMap iMap , TFunctor* functor );
// ----------------------------------------------------------------------------------
-
+ /*! @fn ListWx( wxWindow* parent, wxWindowID id, ItemsVector iVector,
+ TFunctor* functor );
+ * @brief This is the parameterized constructor.
+ * @param parent The wxWindow pointer to parent.
+ * @param id The wxID of the button.
+ * @param ItemsVector //The items Vector (name, wxPanel).
+ * @param TFunctor //The functor of items list.
+ */
+ ListWx(wxWindow* parent, wxWindowID id, ItemsVector iVector,
+ TFunctor* functor);
+ // ----------------------------------------------------------------------------------
+ /*! @fn ListWx( wxWindow* parent, wxWindowID id, TFunctor* functor );
+ * @brief This is the parameterized constructor.
+ * @param parent The wxWindow pointer to parent.
+ * @param id The wxID of the button.
+ * @param TFunctor //The functor of items list.
+ */
+ ListWx(wxWindow* parent, wxWindowID id, TFunctor* functor);
+ // ----------------------------------------------------------------------------------
+ /*! @fn virtual ~Button( );
+ * @brief This is the destructor.
+ */
virtual
- ~ListWx( );
+ ~ListWx();
// ----------------------------------------------------------------------------------
-
- long
- GetID( );
-
+ /*! @fn void OnListEvent( wxCommandEvent& event );
+ * @brief This method calls the functor when
+ * an item of list is clicked.
+ * @param event
+ */
void
- ListEvent( wxListEvent& event );
+ OnListEvent(wxCommandEvent& event);
// ----------------------------------------------------------------------------------
+ /*! @fn void SetFunctorEnabled( wxCommandEvent& event );
+ * @brief This method set the state of Functor (enable or disable)
+ * @param enabled
+ */
+ void
+ SetFunctorEnabled(const bool& enabled);
+ // ----------------------------------------------------------------------------------
+ /*! @fn bool OnListEvent( wxCommandEvent& event );
+ * @brief This method ask the state of functor.
+ * @return
+ */
+ bool
+ IsFunctorEnabled() const;
+ // ----------------------------------------------------------------------------------
+ /*! @fn wxListBox* GetListBox() const;
+ * @brief This method returns the wxlistBox.
+ * @exception std::bad_alloc
+ * @return wxListBox
+ */
+ wxListBox*
+ GetListBox() const;
+ // ----------------------------------------------------------------------------------
+
private:
- ItemsMap m_itemsMap; //! <The pair with the button information.
- TFunctor* functor;
+
+ wxListBox* m_ListBox; //!< This is the Items List.
+ TFunctor* m_Functor; //!< This is the functor.
+ bool m_FunctorEnabled; //!< Disable or Enable Functor.
};
- }//ecapseman
-}//ecapseman
+ } //ecapseman
+} //ecapseman
#endif // LISTWX_H
/*# ---------------------------------------------------------------------
-#
-# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
-# pour la Sant�)
-# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
-# Previous Authors : Laurent Guigues, Jean-Pierre Roux
-# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
-#
-# This software is governed by the CeCILL-B license under French law and
-# abiding by the rules of distribution of free software. You can use,
-# modify and/ or redistribute the software under the terms of the CeCILL-B
-# license as circulated by CEA, CNRS and INRIA at the following URL
-# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
-# or in the file LICENSE.txt.
-#
-# As a counterpart to the access to the source code and rights to copy,
-# modify and redistribute granted by the license, users are provided only
-# with a limited warranty and the software's author, the holder of the
-# economic rights, and the successive licensors have only limited
-# liability.
-#
-# The fact that you are presently reading this means that you have had
-# knowledge of the CeCILL-B license and that you accept its terms.
-# ------------------------------------------------------------------------ */
+ #
+ # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
+ # pour la Sant�)
+ # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+ # Previous Authors : Laurent Guigues, Jean-Pierre Roux
+ # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
+ #
+ # This software is governed by the CeCILL-B license under French law and
+ # abiding by the rules of distribution of free software. You can use,
+ # modify and/ or redistribute the software under the terms of the CeCILL-B
+ # license as circulated by CEA, CNRS and INRIA at the following URL
+ # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
+ # or in the file LICENSE.txt.
+ #
+ # As a counterpart to the access to the source code and rights to copy,
+ # modify and redistribute granted by the license, users are provided only
+ # with a limited warranty and the software's author, the holder of the
+ # economic rights, and the successive licensors have only limited
+ # liability.
+ #
+ # The fact that you are presently reading this means that you have had
+ # knowledge of the CeCILL-B license and that you accept its terms.
+ # ------------------------------------------------------------------------ */
/*!
* @file buttonContainerSettings.cxx
namespace creaPanelButtonContainer
{
// ----------------------------------------------------------------------------------
- ButtonContainerSettings::ButtonContainerSettings( )
+ ButtonContainerSettings::ButtonContainerSettings()
{
}
// ----------------------------------------------------------------------------------
- ButtonContainerSettings::~ButtonContainerSettings( )
+ ButtonContainerSettings::~ButtonContainerSettings()
{
}
-
+
// ----------------------------------------------------------------------------------
- ButtonContainerSettings::ButtonGroupMap
- ButtonContainerSettings::GetButtonGroupContainer( )
+ ButtonContainerSettings::ButtonGroupMap ButtonContainerSettings::GetButtonGroupContainer()
{
- std::cout<< "MLER | ButtonContainerSettings:: GetButtonGroupContainer( ) " << std::endl;
return m_ButtonGroupContainer;
}
// ----------------------------------------------------------------------------------
- ButtonContainerSettings::KeyMapList
- ButtonContainerSettings::GetGroupNameList( )
+ ButtonContainerSettings::KeyMapList ButtonContainerSettings::GetGroupNameList()
{
- std::cout<< "MLER | ButtonContainerSettings:: GetGroupNameList( ) " << std::endl;
return m_GroupNameList;
}
// ----------------------------------------------------------------------------------
//GetButtonPanel returns the panel associated to the buttonAction
- ButtonContainerSettings::PanelButton
- ButtonContainerSettings::GetPanelButton( const StringType &buttonName )
+ ButtonContainerSettings::PanelButton ButtonContainerSettings::GetPanelButton(
+ const StringType &buttonName)
{
try
{
- std::cout<< "MLER | ButtonContainerSettings:: GetPanelButton " << std::endl;
-
- for( KeyMapList::iterator it = this->m_GroupNameList.begin( ); it
- != this->m_GroupNameList.end( ); ++it )
+ for (KeyMapList::iterator it = this->m_GroupNameList.begin();
+ it != this->m_GroupNameList.end(); ++it)
{
-
- //std::cout<< std::endl<<"MLER ButtonContainerSettings // GetPanelButton :: it "<< *it<<std::endl;
-
- ButtonList list = this->m_ButtonGroupContainer[ ( *it ) ];
- for( ButtonList::iterator it1 = list.begin( ); it1 != list.end( ); ++it1 )
+ ButtonList list = this->m_ButtonGroupContainer[(*it)];
+ for (ButtonList::iterator it1 = list.begin(); it1 != list.end(); ++it1)
{
- if ( ( *it1 )->first->first.compare( buttonName ) == 0 )
- {
- return ( ( *it1 )->second->second );
- }//fi
- }//rof
- }//rof
- }//yrt
- catch ( std::exception& e )
+ if ((*it1)->first->first.compare(buttonName) == 0)
+ return ((*it1)->second->second);
+ } //rof
+ } //rof
+ } //yrt
+ catch (std::exception& e)
{
std::cerr
- << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) "
- << "exception: " << e.what( ) << std::endl;
- }//hctac
- return ( NULL );
- }
-/*
- // ----------------------------------------------------------------------------------
- ButtonContainerSettings::PanelButton
- ButtonContainerSettings::GetPanelList( const StringType &buttonName )
- {
- std::cout<< "MLER | ButtonContainerSettings:: GetPanelList " << std::endl;
-
-
- try {
- if(m_itemsMap.empty())
- std::cout<< "no tengo nada "<< std::endl;
-
- for( ItemsMap::iterator it= this->m_itemsMap.begin(); it!=this->m_itemsMap.end(); ++it )
- {
- if( (*it).first.compare(buttonName) == 0 )
- return ( (*it).second );
- }
-
-
- }catch ( std::exception& e )
- {
- std::cerr
- << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) "
- << "exception: " << e.what( ) << std::endl;
- }//hctac
+ << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) "
+ << "exception: " << e.what() << std::endl;
+ } //hctac
return (NULL);
-
}
-*/
// ----------------------------------------------------------------------------------
ButtonContainerSettings::ButtonGroupSettings*
- ButtonContainerSettings::GetButtonGroupSettings( TFunctor* functor )
+ ButtonContainerSettings::GetButtonGroupSettings(TFunctor* functor)
{
ButtonGroupSettings* settings = NULL;
try
{
- std::cout<< "MLER | ButtonContainerSettings:: GetButtonGroupSettings() " << std::endl;
- settings = new ButtonGroupSettings( );
+ settings = new ButtonGroupSettings();
- for( KeyMapList::iterator it = this->m_GroupNameList.begin( ); it
- != this->m_GroupNameList.end( ); ++it )
+ for (KeyMapList::iterator it = this->m_GroupNameList.begin();
+ it != this->m_GroupNameList.end(); ++it)
{
- ButtonList list = this->m_ButtonGroupContainer[ ( *it ) ];
+ ButtonList list = this->m_ButtonGroupContainer[(*it)];
- for( ButtonList::iterator it1 = list.begin( ); it1 != list.end( ); ++it1 )
+ for (ButtonList::iterator it1 = list.begin(); it1 != list.end(); ++it1)
{
- std::cout<<"MLER ButtonContainerSettings // GetButtonGroupSettings :: groupName "<< *it<<std::endl;
- std::cout<<"MLER ButtonContainerSettings // GetButtonGroupSettings :: buttonName "<< ( *it1 )->first->first <<std::endl;
- settings->AddButton( ( *it ), ( *it1 )->first->first, ( *it1 )->first->second, ( *it1 )->second->first, functor );
- }//rof
- }//rof
- }//yrt
- catch ( std::exception& e )
+ settings->AddButton((*it), (*it1)->first->first,
+ (*it1)->first->second, (*it1)->second->first, functor);
+ } //rof
+ } //rof
+ } //yrt
+ catch (std::exception& e)
{
std::cerr
- << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) "
- << "exception: " << e.what( ) << std::endl;
- }//hctac
- return ( settings );
+ << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) "
+ << "exception: " << e.what() << std::endl;
+ } //hctac
+ return (settings);
}
// ----------------------------------------------------------------------------------
- void
- ButtonContainerSettings::SetButtonGroupContainer(
- ButtonGroupMap m_ButtonGroupContainer )
+ void ButtonContainerSettings::SetButtonGroupContainer(
+ ButtonGroupMap m_ButtonGroupContainer)
{
- std::cout<< "MLER | ButtonContainerSettings:: SetButtonGroupContainer() " << std::endl;
this->m_ButtonGroupContainer = m_ButtonGroupContainer;
}
// ----------------------------------------------------------------------------------
- void
- ButtonContainerSettings::SetGroupNameList( KeyMapList m_GroupNameList )
+ void ButtonContainerSettings::SetGroupNameList(KeyMapList m_GroupNameList)
{
- std::cout<< "MLER | ButtonContainerSettings:: SetGroupNameList() " << std::endl;
this->m_GroupNameList = m_GroupNameList;
}
-
+
// ----------------------------------------------------------------------------------
- void
- ButtonContainerSettings::AddButton( const StringType & groupName,
- const StringType &buttonName, const wxBitmap &icon,
- const StringType &buttonDescription, PanelButton panel )
+ void ButtonContainerSettings::AddButton(const StringType & groupName,
+ const StringType &buttonName, const wxBitmap &icon,
+ const StringType &buttonDescription, PanelButton panel)
{
try
{
- std::cout<< "MLER | ButtonContainerSettings:: AddButton( const StringType & groupName ..) " << std::endl;
-
//builds the button information
//I don't know the try catch doesn't work!!
- if ( panel == NULL )
+ if (panel == NULL)
{
std::cerr << "ButtonContainerSettings::AddButton"
- << "exception: NULL Pointer in panel " << std::endl;
- exit( 1 );
+ << "exception: NULL Pointer in panel " << std::endl;
+ exit(1);
}
- panel->Show( false );
+ panel->Show(false);
- ButtonPair* pair = new ButtonPair(
- new ButtonInfo( buttonName, icon ),
- new ActionButton( buttonDescription, panel ) );
+ ButtonPair* pair = new ButtonPair(new ButtonInfo(buttonName, icon),
+ new ActionButton(buttonDescription, panel));
- for( KeyMapList::iterator it = this->m_GroupNameList.begin( ); it
- != this->m_GroupNameList.end( ); ++it )
+ for (KeyMapList::iterator it = this->m_GroupNameList.begin();
+ it != this->m_GroupNameList.end(); ++it)
{
- if ( ( *it ).compare( groupName ) == 0 )
+ if ((*it).compare(groupName) == 0)
{
- this->m_ButtonGroupContainer[ groupName ].push_back( pair );
+ this->m_ButtonGroupContainer[groupName].push_back(pair);
return;
- }//fi
- }//rof
- this->m_GroupNameList.push_back( groupName );
- this->m_ButtonGroupContainer[ groupName ].push_back( pair );
- }//yrt
- catch ( const std::exception& e )
+ } //fi
+ } //rof
+ this->m_GroupNameList.push_back(groupName);
+ this->m_ButtonGroupContainer[groupName].push_back(pair);
+ } //yrt
+ catch (const std::exception& e)
{
std::cerr
- << "ButtonContainerSettings::AddButton( const StringType & groupName,"
- << "const StringType &buttonName, const StringType &iconpath,"
- << "const StringType &buttonDescription, PanelButton panel ) "
- << "exception: " << e.what( ) << std::endl;
- }//hctac
+ << "ButtonContainerSettings::AddButton( const StringType & groupName,"
+ << "const StringType &buttonName, const StringType &iconpath,"
+ << "const StringType &buttonDescription, PanelButton panel ) "
+ << "exception: " << e.what() << std::endl;
+ } //hctac
}
-
+
// ----------------------------------------------------------------------------------
- void
- ButtonContainerSettings::AddButton( BCPSettingsStruct* info )
+ void ButtonContainerSettings::AddButton(BCPSettingsStruct* info)
{
try
{
- std::cout<< "MLER | ButtonContainerSettings:: AddButton( BCPSettingsStruct* info )" << std::endl;
-
//builds the button information
//I don't know the try catch doesn't work!!
- if ( info->panel == NULL )
+ if (info->panel == NULL)
{
std::cerr << "ButtonContainerSettings::AddButton"
- << "exception: NULL Pointer in panel " << std::endl;
- exit( 1 );
+ << "exception: NULL Pointer in panel " << std::endl;
+ exit(1);
}
- info->panel->Show( false );
+ info->panel->Show(false);
ButtonPair* pair = new ButtonPair(
- new ButtonInfo( info->buttonName, info->icon ),
- new ActionButton( info->buttonDescription, info->panel ) );
- for( KeyMapList::iterator it = this->m_GroupNameList.begin( ); it
- != this->m_GroupNameList.end( ); ++it )
+ new ButtonInfo(info->buttonName, info->icon),
+ new ActionButton(info->buttonDescription, info->panel));
+ for (KeyMapList::iterator it = this->m_GroupNameList.begin();
+ it != this->m_GroupNameList.end(); ++it)
{
- if ( ( *it ).compare( info->groupName ) == 0 )
+ if ((*it).compare(info->groupName) == 0)
{
- this->m_ButtonGroupContainer[ info->groupName ].push_back( pair );
+ this->m_ButtonGroupContainer[info->groupName].push_back(pair);
return;
- }//fi
- }//rof
- this->m_GroupNameList.push_back( info->groupName );
- this->m_ButtonGroupContainer[ info->groupName ].push_back( pair );
- }//yrt
- catch ( const std::exception& e )
+ } //fi
+ } //rof
+ this->m_GroupNameList.push_back(info->groupName);
+ this->m_ButtonGroupContainer[info->groupName].push_back(pair);
+ } //yrt
+ catch (const std::exception& e)
{
std::cerr
- << "ButtonContainerSettings::AddButton( BCPSettingsStruct* info )"
- << "exception: " << e.what( ) << std::endl;
- exit( 1 );
- }//hctac
+ << "ButtonContainerSettings::AddButton( BCPSettingsStruct* info )"
+ << "exception: " << e.what() << std::endl;
+ exit(1);
+ } //hctac
}
-
+
// ----------------------------------------------------------------------------------
- void
- ButtonContainerSettings::AddButtons( BCStructVectorType infoList, int type )
+ void ButtonContainerSettings::InitModel(BCStructVectorType infoList, int type)
{
- std::cout<< "MLER | ButtonContainerSettings:: AddButtons( BCStructVectorType infoList, int type )" << std::endl;
try
{
- for( BCStructVectorType::iterator it = infoList.begin( ); it
- != infoList.end( ); ++it )
+ for (BCStructVectorType::iterator it = infoList.begin();
+ it != infoList.end(); ++it)
{
- if( type == 0 )
- this->AddButton( *it );
-// else if( type == 1 )
-// this->AddItems(*it);
- }//rof
- }//yrt
- catch ( std::exception& e )
+ if (type == 0)
+ this->AddButton(*it);
+ else if (type == 1 || type == 2 || type == 3)
+ this->AddItems(*it);
+
+
+ } //rof
+ } //yrt
+ catch (std::exception& e)
{
std::cerr
- << "ButtonContainerSettings::AddButtons( BCStructVectorType infoList )"
- << "exception: " << e.what( ) << std::endl;
- }//hctac
+ << "ButtonContainerSettings::AddButtons( BCStructVectorType infoList )"
+ << "exception: " << e.what() << std::endl;
+ } //hctac
}
-
-//EED-MLER
-/*
- void
- ButtonContainerSettings::AddItems(BCPSettingsStruct* info)
+ // ----------------------------------------------------------------------------------
+ //MLER
+ void ButtonContainerSettings::AddItems(BCPSettingsStruct* info)
{
try
{
- std::cout<< "MLER | ButtonContainerSettings:: AddItems(BCPSettingsStruct* info)" << std::endl;
- //builds the button information
+ //build the button information
//I don't know the try catch doesn't work!!
- if ( info->panel == NULL )
+ if (info->panel == NULL)
{
- std::cerr << "ButtonContainerSettings::AddButton"
- << "exception: NULL Pointer in panel " << std::endl;
- exit( 1 );
+ std::cerr << "ButtonContainerSettings::AddItems"
+ << "exception: NULL Pointer in panel " << std::endl;
+ exit(1);
}
+ info->panel->Show(false);
+ std::string key = info->groupName + ":" + info->buttonName;
+ m_ItemsVector.push_back(ListAction(key, info->panel));
- info->panel->Show( false );
-
- std::string mapKey = info->groupName + ":" + info->buttonName;
- m_itemsMap[mapKey] = info->panel;
+ } //yrt
+ catch (const std::exception& e)
+ {
+ std::cerr
+ << "ButtonContainerSettings::AddButton( BCPSettingsStruct* info )"
+ << "exception: " << e.what() << std::endl;
+ exit(1);
+ } //hctac
+ }
+ // ----------------------------------------------------------------------------------
+ ButtonContainerSettings::ItemsVector ButtonContainerSettings::GetItemsVector()
+ {
+ return this->m_ItemsVector;
+ }
- }//yrt
- catch ( const std::exception& e )
+ // ----------------------------------------------------------------------------------
+ wxPanel*
+ ButtonContainerSettings::GetPanelList(const StringType &buttonName)
+ {
+ try
{
-<<<<<<< HEAD
- try
- {
- for( BCStructVectorType::iterator it = infoList.begin( ); it
- != infoList.end( ); ++it )
- {
- this->AddItem(*it);
- }//rof
- }//yrt
- catch ( const std::exception& e )
+ for (ItemsVector::iterator it = this->m_ItemsVector.begin();
+ it != this->m_ItemsVector.end(); ++it)
{
- std::cerr
- << "ContainerSettings::AddButtons( BCStructVectorType infoList ) "
- << "exception: " << e.what( ) << std::endl;
- }//hctac
- }
-*/
+ if ((*it).first.compare(buttonName) == 0)
+ return ((*it).second);
+
+ }
+
+ } catch (std::exception& e)
+ {
+ std::cerr
+ << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) "
+ << "exception: " << e.what() << std::endl;
+ } //hctac
+ return (NULL);
+ }
+
+//MLER
// ----------------------------------------------------------------------------------
}//ecapseman
-
/*# ---------------------------------------------------------------------
-#
-# 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 <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
+ // ----------------------------------------------------------------------------------
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();
-
// ----------------------------------------------------------------------------------
-
-
-
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);
+ // ----------------------------------------------------------------------------------
+ /*! @fn PanelButton GetPanelList( const std::string &buttonName );
+ * @brief This method returns the panel of a list.
+ * @param buttonName (item element)
+ * @exception std::bad_alloc
+ * @return
+ */
+ ItemsVector
+ GetItemsVector();
+ // ----------------------------------------------------------------------------------
+ /*! @fn PanelButton GetPanelList( const std::string &buttonName );
+ * @brief This method returns the panel of a list.
+ * @param buttonName (item element)
+ * @exception std::bad_alloc
+ * @return
+ */
+ wxPanel*
+ GetPanelList(const StringType &buttonName);
+ //MLER
// ----------------------------------------------------------------------------------
private:
ButtonGroupMap m_ButtonGroupContainer; //!<This is the map with the groups of buttons.
KeyMapList m_GroupNameList; //!<This is a container with the name of the groups.
-
//MLER
- ItemsMap m_itemsMap; //This is the map with the name and the wPanel
- };
+ ItemsVector m_ItemsVector; //!<This is the vector containing a pair of each item name and its wxPanel.
-}//ecapseman
+ };
+} //ecapseman
#endif /* BUTTONCONTAINERSETTINGS_H_ */
/*# ---------------------------------------------------------------------
-#
-# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
-# pour la Sant�)
-# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
-# Previous Authors : Laurent Guigues, Jean-Pierre Roux
-# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
-#
-# This software is governed by the CeCILL-B license under French law and
-# abiding by the rules of distribution of free software. You can use,
-# modify and/ or redistribute the software under the terms of the CeCILL-B
-# license as circulated by CEA, CNRS and INRIA at the following URL
-# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
-# or in the file LICENSE.txt.
-#
-# As a counterpart to the access to the source code and rights to copy,
-# modify and redistribute granted by the license, users are provided only
-# with a limited warranty and the software's author, the holder of the
-# economic rights, and the successive licensors have only limited
-# liability.
-#
-# The fact that you are presently reading this means that you have had
-# knowledge of the CeCILL-B license and that you accept its terms.
-# ------------------------------------------------------------------------ */
+ #
+ # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
+ # pour la Sant�)
+ # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+ # Previous Authors : Laurent Guigues, Jean-Pierre Roux
+ # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
+ #
+ # This software is governed by the CeCILL-B license under French law and
+ # abiding by the rules of distribution of free software. You can use,
+ # modify and/ or redistribute the software under the terms of the CeCILL-B
+ # license as circulated by CEA, CNRS and INRIA at the following URL
+ # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
+ # or in the file LICENSE.txt.
+ #
+ # As a counterpart to the access to the source code and rights to copy,
+ # modify and redistribute granted by the license, users are provided only
+ # with a limited warranty and the software's author, the holder of the
+ # economic rights, and the successive licensors have only limited
+ # liability.
+ #
+ # The fact that you are presently reading this means that you have had
+ # knowledge of the CeCILL-B license and that you accept its terms.
+ # ------------------------------------------------------------------------ */
/*!
* @file creaPanelButtonContainer.h
#include "creaPanelButtonContainer.h"
-
namespace creaPanelButtonContainer
{
BEGIN_EVENT_TABLE(PanelButtonContainer,wxPanel)
- //EVT_LIST_ITEM_SELECTED(-1, ListWx::ListEvent)
+//EVT_LIST_ITEM_SELECTED(-1, ListWx::ListEvent)
- //(*EventTable(ButtonContainerPanel)
- //*)
- END_EVENT_TABLE()
- // ----------------------------------------------------------------------------------
- typedef creaButtonContainer::model::TConcreteFunctor< PanelButtonContainer > TConcreteFunctor;
- // ----------------------------------------------------------------------------------
- PanelButtonContainer::PanelButtonContainer( wxWindow* parent, ButtonContainerSettings* bcSettings, int type )
- : wxPanel( parent, -1, wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE, _T("creaPanelButtonContainer") )
+//(*EventTable(ButtonContainerPanel)
+//*)
+ END_EVENT_TABLE ()
+// ----------------------------------------------------------------------------------
+ typedef creaButtonContainer::model::TConcreteFunctor<PanelButtonContainer> TConcreteFunctor;
+// ----------------------------------------------------------------------------------
+ PanelButtonContainer::PanelButtonContainer(wxWindow* parent,
+ ButtonContainerSettings* bcSettings, int type)
+ : wxPanel(parent, -1, wxDefaultPosition, wxDefaultSize,
+ wxDEFAULT_FRAME_STYLE, _T("creaPanelButtonContainer"))
{
- std::cout<< "MLER | creaPanelButtonContainer:: PanelButtonContainer() " << std::endl;
-
this->m_ButtonContainerSettings = bcSettings;
- this->m_ButtonPanel = new wxPanel( this );
- //Class that manages the event!!!
- //EED 20/01/2012
- TConcreteFunctor* functor = new TConcreteFunctor( this, &PanelButtonContainer::GenericButtonEvent );
-// TConcreteFunctor* functor = new TConcreteFunctor( this->m_ButtonPanel, &PanelButtonContainer::GenericButtonEvent );
- //end of the event definition
+ //Using AuiManager to Manage the Panels
+ this->m_AuiManager = new wxAuiManager(this,
+ wxAUI_MGR_DEFAULT | wxFULL_REPAINT_ON_RESIZE);
- TConcreteFunctor* lFunctor = new TConcreteFunctor( this, &PanelButtonContainer::GenericListEvent );
- //MLER
+ if (type == 0)
+ {
+ //Class that manages the event!!!
+ //EED 20/01/2012
+ TConcreteFunctor* functor = new TConcreteFunctor(this,
+ &PanelButtonContainer::GenericButtonEvent);
+ //end of the event definition
+ this->m_EventPanel = new wxPanel(this);
+ this->m_ButtonContainerPanel = new ButtonContainerPanel(this,
+ this->m_ButtonContainerSettings->GetButtonGroupSettings(functor));
+ //Bottom Panel
+ this->m_AuiManager->AddPane(this->m_EventPanel,
+ wxAuiPaneInfo().Name(_T("EventPanel")).Caption(_("EventPanel")).CaptionVisible(
+ true).MinimizeButton().MaximizeButton().CloseButton(false).Center().Resizable(
+ true));
+ //Top Panel
+ this->m_AuiManager->AddPane(this->m_ButtonContainerPanel,
+ wxAuiPaneInfo().Name(_T("ButtonContainerPanel")).DefaultPane().Caption(
+ _("ButtonContainerPanel")).PinButton().CaptionVisible(true).CloseButton(
+ false).Center().Resizable(true));
+ }
+ else if (type == 1)
+ {
+ //MLER
+ TConcreteFunctor* lFunctor = new TConcreteFunctor(this,
+ &PanelButtonContainer::GenericListEvent);
- this->m_ListPanel = new wxPanel(this);
+ this->m_EventPanel = new wxPanel(this);
+ std::cout << "tipo 1; new LIstWx" << std::endl;
- if(type == 0)
+ this->m_ListWxPanel = new ListWx(this, -1,
+ this->m_ButtonContainerSettings->GetItemsVector(), lFunctor);
+
+ //Bottom Panel
+ this->m_AuiManager->AddPane(this->m_EventPanel,
+ wxAuiPaneInfo().Name(_T("EventPanel")).Caption(_("EventPanel")).CaptionVisible(
+ true).MinimizeButton().MaximizeButton().CloseButton(false).Center().Resizable(
+ true));
+ //Top Panel
+ this->m_AuiManager->AddPane(this->m_ListWxPanel,
+ wxAuiPaneInfo().Name(_T("ListContainerPanel")).DefaultPane().Caption(
+ _("ListContainerPanel")).PinButton().CaptionVisible(true).CloseButton(
+ false).Center().Resizable(true));
+ }
+ else if (type == 2)
{
- std::cout << "tipo 0; new ButtonContainerPanel"<<std::endl;
- this->m_ButtonContainerPanel = new ButtonContainerPanel( this, this->m_ButtonContainerSettings->GetButtonGroupSettings( functor ),type );
+ TConcreteFunctor* lFunctor = new TConcreteFunctor(this,
+ &PanelButtonContainer::GenericListEvent);
+
+ this->m_EmptyPanel = new wxPanel(this);
+ this->m_EventPanel = this->m_EmptyPanel;
+
+ this->m_PanelUp = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize,
+ wxTAB_TRAVERSAL, _T("ListConfigContainerPanel"));
+ wxGridBagSizer* mainSizer = new wxGridBagSizer(0, 0);
+ mainSizer->AddGrowableCol(1);
+ mainSizer->AddGrowableRow(0);
+
+ //=======
+ //Original List
+ this->m_ListWxPanel = new ListWx(this->m_PanelUp, -1,
+ this->m_ButtonContainerSettings->GetItemsVector(), lFunctor);
+ this->m_ListWxPanel->Show(false);
+ //Configurable list
+ this->m_CurrentWxPanel = new ListWx(this->m_PanelUp, -1, lFunctor);
+
+ mainSizer->Add(this->m_ListWxPanel, wxGBPosition(0, 0), wxDefaultSpan,
+ wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL
+ | wxALIGN_CENTER_VERTICAL, 5);
+ mainSizer->Add(this->m_CurrentWxPanel, wxGBPosition(0, 1), wxDefaultSpan,
+ wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL
+ | wxALIGN_CENTER_VERTICAL, 5);
+
+ wxBitmap btmSettings(Settings_xpm); //Icon of Button
+
+ this->m_ConfigButton = new wxBitmapButton(this->m_PanelUp, -1,
+ btmSettings, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW,
+ wxDefaultValidator, _T("Config"));
+
+ mainSizer->Add(this->m_ConfigButton, wxGBPosition(1, 2), wxDefaultSpan,
+ wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL, 5);
+
+ //=======
+
+ this->m_PanelUp->SetSizer(mainSizer);
+ mainSizer->Fit(this->m_PanelUp);
+ mainSizer->SetSizeHints(this->m_PanelUp);
+
+ //Bottom Panel
+ this->m_AuiManager->AddPane(this->m_EventPanel,
+ wxAuiPaneInfo().Name(_T("EventPanel")).Caption(_("EventPanel")).CaptionVisible(
+ true).MinimizeButton().MaximizeButton().CloseButton(false).Center().Resizable(
+ true));
+ //Top Panel
+ this->m_AuiManager->AddPane(this->m_PanelUp,
+ wxAuiPaneInfo().Name(_T("ListContainerPanel")).DefaultPane().Caption(
+ _("ListContainerPanel")).PinButton().CaptionVisible(true).CloseButton(
+ false).Center().Resizable(true));
+
+ this->Connect(wxEVT_COMMAND_BUTTON_CLICKED,
+ wxCommandEventHandler(PanelButtonContainer::OnConfigButton));
+
}
-// else if( type == 1)
-// {
-// std::cout << "tipo 1; new LIstWx"<<std::endl;
-// this->mylist = new ListWx(this->m_ListPanel, -1,this->m_ButtonContainerSettings->GetItemsMap(), lFunctor);
-// }//MLER
+ else if (type == 3)
+ {
+ //MLER
+ TConcreteFunctor* lFunctor = new TConcreteFunctor(this,
+ &PanelButtonContainer::GenericListEvent);
+ this->m_EventPanel = new wxPanel(this);
+ std::cout << "MLER Type 3; new ComboBox" << std::endl;
- //Using AuiManager to Manage the Panels
- this->m_AuiManager = new wxAuiManager( this, wxAUI_MGR_DEFAULT );
-
- if(type == 0)
- this->m_AuiManager->AddPane(this->m_ButtonContainerPanel, wxAuiPaneInfo( ).Name( _T("ButtonPanel") ).Caption( _("Panel") ). CaptionVisible(true ).CloseButton( false ).Bottom( ).Resizable( true ) );
- else if(type == 1)
- this->m_AuiManager->AddPane(this->m_ListPanel, wxAuiPaneInfo( ).Name( _T("ListPanel") ).Caption( _("Panel") ). CaptionVisible(true ).CloseButton( false ).Bottom( ).Resizable( true ) );
-
- //CartoButtonPanel Management
- if(type == 0)
- this->m_AuiManager->AddPane( this->m_ButtonContainerPanel,wxAuiPaneInfo( ).Name( _T("ButtonPanel") ).Caption(_("ListPanel") ). CaptionVisible( false ).CloseButton(false ).Center( ).Resizable( true ) );
- else if(type ==1)
- {this->m_AuiManager->AddPane( this->m_ListPanel,wxAuiPaneInfo( ).Name( _T("ListPanel") ).Caption(_("ListPanel") ). CaptionVisible( false ).CloseButton(false ).Center( ).Resizable( true ) );}
- this->m_AuiManager->Update( );
+ this->m_ComboBoxPanel = new ComboBox(this, -1,
+ this->m_ButtonContainerSettings->GetItemsVector(), lFunctor);
+
+ //Bottom Panel
+ this->m_AuiManager->AddPane(this->m_EventPanel,
+ wxAuiPaneInfo().Name(_T("EventPanel")).Caption(_("EventPanel")).CaptionVisible(
+ true).MinimizeButton().MaximizeButton().CloseButton(false).Center().Resizable(
+ true));
+ //Top Panel
+ this->m_AuiManager->AddPane(this->m_ComboBoxPanel,
+ wxAuiPaneInfo().Name(_T("ComboBoxContainerPanel")).DefaultPane().Caption(
+ _("ComboBoxContainerPanel")).PinButton().CaptionVisible(true).CloseButton(
+ false).Center().Resizable(true));
+ }
+ //End MLER
+
+ this->m_AuiManager->Update();
}
- // ----------------------------------------------------------------------------------
- PanelButtonContainer::~PanelButtonContainer( )
+// ----------------------------------------------------------------------------------
+ PanelButtonContainer::~PanelButtonContainer()
{
}
- // ----------------------------------------------------------------------------------
- void
- PanelButtonContainer::UpdatePanel( const std::string &buttonName )
+// ----------------------------------------------------------------------------------
+ void PanelButtonContainer::UpdatePanel(const std::string &buttonName)
{
try
{
- std::cout<< "MLER | creaPanelButtonContainer:: UpdatePanel() " << std::endl;
-
//Hiding the last CartoSettingsPanel
- this->m_ButtonPanel->Show( false );
+ this->m_EventPanel->Show(false);
//Finding the CartoSettingsPanel of the ButtonClicket
- this->m_ButtonPanel = this->m_ButtonContainerSettings->GetPanelButton(buttonName );
- std::cout<< buttonName << "---testEvento 2 "<<std::endl;
+ this->m_EventPanel = this->m_ButtonContainerSettings->GetPanelButton(
+ buttonName);
//changing the parent of the panel!
- if ( this->m_ButtonPanel->GetParent( ) != this )
+ if (this->m_EventPanel->GetParent() != this)
{
- this->m_ButtonPanel->Reparent( this );
- }//fi
- //Panel Management
- this->m_AuiManager->GetPane( _T("ButtonPanel") ).window = this->m_ButtonPanel;
+ this->m_EventPanel->Reparent(this);
+ } //fi
+ //Panel Management
+ this->m_AuiManager->GetPane(_T("EventPanel")).window = this->m_EventPanel;
//Updating the manager
- this->m_AuiManager->Update( );
- }//yrt
- catch ( const std::exception& e )
+ this->m_AuiManager->Update();
+ } //yrt
+ catch (const std::exception& e)
{
std::cerr
- << "PanelButtonContainer::UpdatePanel( const std::string &buttonName )"
- << "exception: " << e.what( ) << std::endl;
+ << "PanelButtonContainer::UpdatePanel( const std::string &buttonName )"
+ << "exception: " << e.what() << std::endl;
std::cout << "Maybe the panel of the button is NULL" << std::endl;
- exit( 1 );
- }//hctac
+ exit(1);
+ } //hctac
}
- // ----------------------------------------------------------------------------------
- void
- PanelButtonContainer::GenericButtonEvent( const std::string &buttonName )
+// ----------------------------------------------------------------------------------
+ void PanelButtonContainer::GenericButtonEvent(const std::string &buttonName)
{
- std::cout<< "MLER | creaPanelButtonContainer:: GenericButtonEvent() " << std::endl;
- std::cout<< buttonName << "---testEvento 1 "<<std::endl;
- this->UpdatePanel( buttonName );
+ this->UpdatePanel(buttonName);
}
-// ----------------------------------------------------------------------------------
-/*
- void
- PanelButtonContainer::UpdateListPanel( const std::string &buttonName )
+ // ----------------------------------------------------------------------------------
+ //MLER
+ void PanelButtonContainer::GenericListEvent(const std::string &buttonName)
{
- try{
-
- std::cout<< "MLER | creaPanelButtonContainer:: UpdateListPanel() " << std::endl;
- std::cout<< buttonName << " --- test 2 "<<std::endl;
-
- this->m_ListPanel->Show( false );
+ this->UpdateListPanel(buttonName);
+ }
- this->m_ListPanel = this->m_ButtonContainerSettings->GetPanelList(buttonName );
+ // ----------------------------------------------------------------------------------
+ void PanelButtonContainer::UpdateListPanel(const std::string &buttonName)
+ {
+ try
+ {
+ this->m_EventPanel->Show(false);
+ this->m_EventPanel = this->m_ButtonContainerSettings->GetPanelList(
+ buttonName);
- if ( this->m_ListPanel->GetParent( ) != this )
+ if (this->m_EventPanel->GetParent() != this)
{
- this->m_ListPanel->Reparent( this );
- }//fi
- //Panel Management
- this->m_AuiManager->GetPane( _T("ListPanel") ).window = this->m_ListPanel;
- //Updating the manager
- this->m_AuiManager->Update( );
-
- }catch( const std::exception& e )
+ this->m_EventPanel->Reparent(this);
+ } //fi
+ //Panel Management
+ this->m_AuiManager->GetPane(_T("EventPanel")).window = this->m_EventPanel;
+ //Updating the manager
+ this->m_AuiManager->Update();
+
+ } catch (const std::exception& e)
{
std::cerr
- << "PanelButtonContainer::UpdatePanel( const std::string &buttonName )"
- << "exception: " << e.what( ) << std::endl;
+ << "PanelButtonContainer::UpdatePanel( const std::string &buttonName )"
+ << "exception: " << e.what() << std::endl;
std::cout << "Maybe the panel of the list is NULL" << std::endl;
- exit( 1 );
- }//hctac
+ exit(1);
+ } //hctac
}
-*/
- void
- PanelButtonContainer::GenericListEvent( const std::string &buttonName )
+
+// ----------------------------------------------------------------------------------
+ void PanelButtonContainer::OnConfigButton(wxCommandEvent& event)
{
- std::cout<< "MLER | creaPanelButtonContainer:: GenericListEvent() " << std::endl;
- std::cout<< buttonName << " --- test 3 "<<std::endl;
-//EED this->UpdateListPanel( buttonName );
- }
+ this->m_ListConfigDialog = new ListConfigDialog(this, -1, _("Settings"),
+ this->m_ListWxPanel, this->m_CurrentWxPanel);
-}//ecapseman
+ std::cout << "Button Event" << std::endl;
+
+ this->m_EventPanel->Show(false);
+ this->m_ListConfigDialog->ShowModal(); //Show Dialog
+ this->m_CurrentWxPanel->Reparent(this->m_PanelUp);
+ this->m_CurrentWxPanel->Show(true);
+ this->m_CurrentWxPanel->SetFunctorEnabled(true);
+
+ this->m_CurrentWxPanel->GetListBox()->Deselect(
+ this->m_CurrentWxPanel->GetListBox()->GetSelection()); //Deselected item
+ this->m_CurrentWxPanel->Update();
+ this->m_ListWxPanel->Show(false);
+ this->m_EventPanel->Show(false);
+ this->m_EventPanel = this->m_EmptyPanel; //Management Empty Panel
+
+ this->m_AuiManager->GetPane(_T("EventPanel")).window = this->m_EventPanel;
+ this->m_AuiManager->Update();
+
+ }
+ //End MLER
+// ----------------------------------------------------------------------------------
+
+}//ecapseman
/*# ---------------------------------------------------------------------
-#
-# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
-# pour la Sant�)
-# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
-# Previous Authors : Laurent Guigues, Jean-Pierre Roux
-# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
-#
-# This software is governed by the CeCILL-B license under French law and
-# abiding by the rules of distribution of free software. You can use,
-# modify and/ or redistribute the software under the terms of the CeCILL-B
-# license as circulated by CEA, CNRS and INRIA at the following URL
-# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
-# or in the file LICENSE.txt.
-#
-# As a counterpart to the access to the source code and rights to copy,
-# modify and redistribute granted by the license, users are provided only
-# with a limited warranty and the software's author, the holder of the
-# economic rights, and the successive licensors have only limited
-# liability.
-#
-# The fact that you are presently reading this means that you have had
-# knowledge of the CeCILL-B license and that you accept its terms.
-# ------------------------------------------------------------------------ */
+ #
+ # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
+ # pour la Sant�)
+ # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+ # Previous Authors : Laurent Guigues, Jean-Pierre Roux
+ # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
+ #
+ # This software is governed by the CeCILL-B license under French law and
+ # abiding by the rules of distribution of free software. You can use,
+ # modify and/ or redistribute the software under the terms of the CeCILL-B
+ # license as circulated by CEA, CNRS and INRIA at the following URL
+ # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
+ # or in the file LICENSE.txt.
+ #
+ # As a counterpart to the access to the source code and rights to copy,
+ # modify and redistribute granted by the license, users are provided only
+ # with a limited warranty and the software's author, the holder of the
+ # economic rights, and the successive licensors have only limited
+ # liability.
+ #
+ # The fact that you are presently reading this means that you have had
+ # knowledge of the CeCILL-B license and that you accept its terms.
+ # ------------------------------------------------------------------------ */
/*!
* @file PanelButtonContainer
#include <wx/aui/aui.h>
#include <string>
#include <wx/gdicmn.h>
+#include <wx/gbsizer.h>
+#include <wx/bmpbuttn.h>
+#include "listConfigDialog.h"
#include "containerSettings.h"
#include "buttonContainerPanel.h"
#include "buttonContainerSettings.h"
#include "functor.h"
#include "listWx.h"
+#include "Settings.xpm"
+#include "comboBox.h"
/*! @namespace <creaPanelButtonContainer>
* @brief Contains the creaPanelButtonContainer library included in creaMaracasVisu.
* @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::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);
// ----------------------------------------------------------------------------------
+ //MLER
+ /*! @fn void GenericListEvent( const std::string &buttonName );
+ * @brief This method is the function that calls the panels contained in the items list.
+ * (in creaButtonContainer is the function contained in the functors to be called back.
+ * @param buttonName The name of the button (item list)
+ */
void
- UpdateListPanel( const std::string &buttonName );
-
+ GenericListEvent(const std::string &buttonName);
+ // ----------------------------------------------------------------------------------
+ /*! @fn void UpdateListPanel( const std::string &buttonName );
+ * @brief This method Updates the m_EventPanel to a panel
+ * of the clicked an item in creaButtonContainer.
+ * @param buttonName The name of the button (item list)
+ */
void
- GenericListEvent( const std::string &buttonName );
- //MLER
-
+ UpdateListPanel(const std::string &buttonName);
+ // ----------------------------------------------------------------------------------
+ /*! @fn void OnConfigButton( wxCommandEvent& event );
+ * @brief This method calls the wxDialog when
+ * the config button is clicked.
+ * @param event
+ */
+ void
+ OnConfigButton(wxCommandEvent& event);
+ //End MLER
// ----------------------------------------------------------------------------------
private:
//Settings
ButtonContainerSettings* m_ButtonContainerSettings; //!<This is the buttonContainer settings.
+
//Panel
- ButtonContainerPanel* m_ButtonContainerPanel; //!<This is the panel with de buttons (creaButtonContainer)
+ ButtonContainerPanel* m_ButtonContainerPanel; //!<This is the panel with of buttons (creaButtonContainer)
wxAuiManager* m_AuiManager; //!<The AUI Manager for the panels.
- wxPanel* m_ButtonPanel; //!<This is the panel used to contain the panels of the buttons. (it changes with the buttonAction)
- wxPanel* m_ListPanel;
+ wxPanel* m_EventPanel; //!<This is the panel used to contain the panels of the buttons. (it changes with the buttonAction)
+
+ //MLER
+ ListWx* m_ListWxPanel;//!<This panel contains the list of the elements.
+ ListConfigDialog* m_ListConfigDialog;//!<This wxDialog shows the list of the elements and allows modifications.
+
+ wxPanel* m_PanelUp;//!<This panel contains the list of the elements empty,full and the config button.
+ wxPanel* m_EmptyPanel; //!<This panel is empty.
+ ListWx* m_CurrentWxPanel;//!<This panel contains the final list of the elements .
+
+ wxBitmapButton* m_ConfigButton;//!< "Config" Settings button.
- ListWx* mylist; //MLER
+ ComboBox* m_ComboBoxPanel;//!<This panel contains the list of the comboBox elements.
+ //End MLER
- DECLARE_EVENT_TABLE() //!<Event Table declaration.
+ DECLARE_EVENT_TABLE()
+ //!<Event Table declaration.
};
-}//ecapseman
+} //ecapseman
#endif // PANELBUTTONCONTAINER_H_