2 * @file buttonGroupFactory.cxx
3 * @brief Implements the ButtonGroupFactory class.
4 * @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr)
8 #include "buttonGroupFactory.h"
10 namespace creaButtonContainer
14 // ----------------------------------------------------------------------------------
15 ButtonGroupFactory::ButtonGroupFactory( )
18 // ----------------------------------------------------------------------------------
19 ButtonGroupFactory::~ButtonGroupFactory( )
22 // ----------------------------------------------------------------------------------
23 ButtonGroupFactory::ButtonGroupContainer
24 ButtonGroupFactory::CreateButtonGroupContainer( wxWindow* parent,
25 ButtonGroupModel* settings )
27 ButtonGroupContainer groupView;
30 ButtonGroupMap map = settings->GetButtonGroupContainer( );
31 for( ButtonGroupMap::iterator it = map.begin( ); it != map.end( ); ++it )
34 wxString groupNameAux( ( *it ).first.c_str( ), wxConvUTF8 );
35 wxStaticText* wxGroupName = new wxStaticText( parent, -1,
36 groupNameAux, wxDefaultPosition, wxDefaultSize, 0,
38 //creating a wxButtonGroup.
39 ButtonGroup* group = new ButtonGroup( wxGroupName,
40 this->GetButtons( parent, ( *it ).second ) );
41 //adding the group to the container.
42 groupView.push_back( group );
45 catch ( std::exception& e )
48 << "ButtonContainerController::ButtonExpEvent( wxCommandEvent& event ) exception: "
49 << e.what( ) << std::endl;
53 // ----------------------------------------------------------------------------------
54 ButtonGroupFactory::ButtonContainer
55 ButtonGroupFactory::GetButtons( wxWindow* parent, ButtonList buttonModel )
57 ButtonContainer buttonList;
60 for( ButtonList::iterator it = buttonModel.begin( ); it
61 != buttonModel.end( ); ++it )
64 buttonList[ id ] = new Button( parent, id, *it );
66 return ( buttonList );
68 catch ( std::exception& e )
71 << "ButtonContainerController::ButtonExpEvent( wxCommandEvent& event ) exception: "
72 << e.what( ) << std::endl;
75 // ----------------------------------------------------------------------------------