]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/buttonGroupFactory.cxx
Diego Caceres: creaButtonContainer & creaPanelButtonContainer
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / creaButtonContainer / model / buttonGroupFactory.cxx
1 /***************************************************************
2  * Name:      ButtonGroupFactory
3  * Purpose:   Implements ButtonGroupFactory
4  * Author:    Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr)
5  * Modified:  2011-05-09
6  * Copyright: Diego CACERES (http://www.creatis.insa-lyon.fr/~caceres/)
7  * License:
8  **************************************************************/
9
10 #include "buttonGroupFactory.h"
11
12 namespace creaButtonContainer
13 {
14         namespace model
15         {
16                 ButtonGroupFactory::ButtonGroupFactory( )
17                 {
18                 }
19                 ButtonGroupFactory::~ButtonGroupFactory( )
20                 {
21                 }
22                 ButtonGroupContainer
23                 ButtonGroupFactory::CreateButtonGroupContainer( wxWindow* parent,
24                     ButtonGroupModel* settings )
25                 {
26                         ButtonGroupContainer groupView;
27                         ButtonGroupMap map = settings->GetButtonGroupContainer( );
28                         for( ButtonGroupMap::iterator it = map.begin( ); it != map.end( ); ++it )
29                         {
30                                 wxString groupNameAux( ( *it ).first.c_str( ), wxConvUTF8 );
31                                 wxStaticText* wxGroupName = new wxStaticText( parent, -1, groupNameAux,
32                                     wxDefaultPosition, wxDefaultSize, 0, _T("GroupText") );
33                                 ButtonGroup* group = new ButtonGroup( wxGroupName,
34                                     this->GetButtons( parent, ( *it ).second ) );
35                                 groupView.push_back( group );
36                         }
37                         return ( groupView );
38                 }
39                 ButtonContainer
40                 ButtonGroupFactory::GetButtons( wxWindow* parent, ButtonList buttonModel )
41                 {
42                         ButtonContainer buttonList;
43                         for( ButtonList::iterator it = buttonModel.begin( ); it
44                             != buttonModel.end( ); ++it )
45                         {
46                                 long id = wxNewId( );
47                                 buttonList[ id ] = new Button( parent, id, *it );
48                         }
49                         return ( buttonList );
50                 }
51         }//ecapseman
52 }//ecapseman
53