]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/containerSettings.h
6d10f7a1c7db94b43f4d014245c0bdaaa12912fe
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / creaButtonContainer / model / containerSettings.h
1 /***************************************************************
2  * Name:      @file containerSettings.h
3  * Purpose:   @brief This contains ContainerSettings class
4  * Author:    @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 #ifndef BUTTONGROUPSETTINGS_H_
11 #define BUTTONGROUPSETTINGS_H_
12
13 #include <list>
14 #include <map>
15 #include <iostream>
16 #include "system.h"
17
18 #include "functor.h"
19
20 ///@namespace <creaButtonContainer>
21 namespace creaButtonContainer
22 {
23         ///@namespace <model>
24         namespace model
25         {
26                 /*!
27                  * @class ContainerSettings
28                  * @brief This class contains all information of groups and its buttons
29                  */
30                 class ContainerSettings
31                 {
32                         public:
33                                 /*!
34                                  * @brief This is the default constructor
35                                  */
36                                 ContainerSettings( );
37                                 virtual
38                                 ~ContainerSettings( );
39                                 /*!
40                                  * @brief This function allows to create the ButtonGroupContainer.
41                                  * @param the wxWindow* parent to be attached.
42                                  * @param The Container settings.
43                                  * @return The wx button group container.
44                                  */
45                                 ButtonGroupMap
46                                 GetButtonGroupContainer( );
47                                 /*!
48                                  * @brief This function allows to create the ButtonGroupContainer.
49                                  * @param the wxWindow* parent to be attached.
50                                  * @param The Container settings.
51                                  * @return The wx button group container.
52                                  */
53                                 KeyMapList
54                                 GetGroupNameList( );
55                                 /*!
56                                  * @brief This function allows to create the ButtonGroupContainer.
57                                  * @param the wxWindow* parent to be attached.
58                                  * @param The Container settings.
59                                  * @return The wx button group container.
60                                  */
61                                 void
62                                 SetButtonGroupContainer( ButtonGroupMap m_ButtonGroupContainer );
63                                 /*!
64                                  * @brief This function allows to create the ButtonGroupContainer.
65                                  * @param the wxWindow* parent to be attached.
66                                  * @param The Container settings.
67                                  * @return The wx button group container.
68                                  */
69                                 void
70                                 SetGroupNameList( KeyMapList m_GroupNameList );
71                                 /*!
72                                  * @brief This function allows to create the ButtonGroupContainer.
73                                  * @param the wxWindow* parent to be attached.
74                                  * @param The Container settings.
75                                  * @return The wx button group container.
76                                  */
77                                 void
78                                 AddButton( const std::string & groupName, const std::string buttonName,
79                                     const std::string iconpath, const std::string buttonDescription,
80                                     FunctionEventType event );
81
82                         private:
83                                 ButtonGroupMap m_ButtonGroupContainer;
84                                 KeyMapList m_GroupNameList;
85                 };
86         }
87 }
88
89 #endif /* BUTTONGROUPSETTINGS_H_ */