]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/containerSettings.cxx
creaButtonContainer: Updates in documentation, adding try catch clauses and cleaning...
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / creaButtonContainer / model / containerSettings.cxx
1 /************************************************************************************//*!
2  * Name:      @file buttonContainerController.cxx
3  * Purpose:   @brief This contains the ButtonContainerController class implementation
4  * Author:    @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr)
5  * Modified:  2011-05-18
6  * Copyright:
7  * License:
8  ***************************************************************************************/
9
10 //! @include "containerSettings.h"
11 #include "containerSettings.h"
12
13 //!     @namespace<creaButtonContainer>
14 namespace creaButtonContainer
15 {
16         //!     @namespace<model>
17         namespace model
18         {
19                 // ----------------------------------------------------------------------------------
20                 ContainerSettings::ContainerSettings( )
21                 {
22                 }
23                 // ----------------------------------------------------------------------------------
24                 ContainerSettings::~ContainerSettings( )
25                 {
26                 }
27                 // ----------------------------------------------------------------------------------
28                 ButtonGroupMap
29                 ContainerSettings::GetButtonGroupContainer( )
30                 {
31                         return this->m_ButtonGroupContainer;
32                 }
33                 // ----------------------------------------------------------------------------------
34                 KeyMapList
35                 ContainerSettings::GetGroupNameList( )
36                 {
37                         return this->m_GroupNameList;
38                 }
39                 // ----------------------------------------------------------------------------------
40                 void
41                 ContainerSettings::SetButtonGroupContainer(
42                     ButtonGroupMap bgContainer )
43                 {
44                         this->m_ButtonGroupContainer = bgContainer;
45                 }
46                 // ----------------------------------------------------------------------------------
47                 void
48                 ContainerSettings::SetGroupNameList( KeyMapList gNameList )
49                 {
50                         this->m_GroupNameList = gNameList;
51                 }
52                 // ----------------------------------------------------------------------------------
53                 void
54                 ContainerSettings::AddButton( const std::string & groupName,
55                     const std::string buttonName, const std::string iconpath,
56                     const std::string buttonDescription, FunctionEventType event )
57                 {
58                         ButtonPair* pair = new ButtonPair(
59                             new ButtonInfo( buttonName, iconpath ),
60                             new ButtonAction( buttonDescription, event ) );
61                         try
62                         {
63                                 for( KeyMapList::iterator it = this->m_GroupNameList.begin( ); it
64                                     != this->m_GroupNameList.end( ); ++it )
65                                 {
66                                         if ( ( *it ).compare( groupName ) == 0 )
67                                         {
68                                                 this->m_ButtonGroupContainer[ groupName ].push_back( pair );
69                                                 return;
70                                         }//fi
71                                 }//rof
72                                 this->m_GroupNameList.push_back( groupName );
73                                 this->m_ButtonGroupContainer[ groupName ].push_back( pair );
74                         }//yrt
75                         catch ( std::exception& e )
76                         {
77                                 std::cerr
78                                     << "ContainerSettings::AddButton( const std::string & groupName,"
79                                     << "const std::string buttonName, const std::string iconpath,"
80                                     << "const std::string buttonDescription, FunctionEventType event ) exception: "
81                                     << e.what( ) << std::endl;
82                         }//hctac
83                 }
84         // ----------------------------------------------------------------------------------
85         }//ecapseman
86 }//ecapseman