]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonGroup.h
creaButtonContainer: Documentation updates :) :). If you turns on the documentation...
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / creaButtonContainer / view / buttonGroup.h
1 /*!
2  * @file buttonGroup.h
3  * @brief This contains the ButtonGroup class.
4  * @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr)
5  * @date  2011-05-19
6  */
7
8 #ifndef BUTTONGROUP_H
9 #define BUTTONGROUP_H
10
11 //Library Definition
12 #include <map>
13 #include <list>
14 #include <wx/stattext.h>
15
16 #include "button.h"
17
18 /*!     @namespace <creaButtonContainer>
19  *      @brief Contains the creaButtonContainer library included in creaMaracasVisu.
20  */
21 namespace creaButtonContainer
22 {
23         /*! @namespace <creaButtonContainer::view>
24          *      @brief Contains the implementation of the view in creaButtonContainer library.
25          *      @see <a href="http://en.wikipedia.org/wiki/Model-view-controller">MVC Software Architecture</a>
26          */
27         namespace view
28         {
29                 class ButtonGroup
30                 {
31                         public:
32                                 //Typedef definition
33                                 /*!     @typedef creaButtonContainer::model::TFunctor TFunctor;
34                                  *      @brief Defines the TFunctor type.
35                                  */
36                                 typedef creaButtonContainer::view::Button Button;
37                                 /*!     @typedef creaButtonContainer::model::TFunctor TFunctor;
38                                  *      @brief Defines the TFunctor type.
39                                  */
40                                 typedef std::map< long, Button* > ButtonContainer;
41                                 /*!     @typedef creaButtonContainer::model::TFunctor TFunctor;
42                                  *      @brief Defines the TFunctor type.
43                                  */
44                                 typedef std::list< long > IdButtonContainer;
45                         public:
46                                 // ----------------------------------------------------------------------------------
47                                 /*! @fn ButtonGroup( wxStaticText* groupName, ButtonContainer buttons );
48                                  *
49                                  * @param groupName
50                                  * @param buttons
51                                  */
52                                 ButtonGroup( wxStaticText* groupName, ButtonContainer buttons );
53                                 // ----------------------------------------------------------------------------------
54                                 /*! @fn ~ButtonGroup( );
55                                  *
56                                  */
57                                 virtual
58                                 ~ButtonGroup( );
59                                 // ----------------------------------------------------------------------------------
60                                 /*! @fn GetButton( long id );
61                                  *
62                                  * @param id
63                                  * @return
64                                  */
65                                 Button*
66                                 GetButton( long id );
67                                 // ----------------------------------------------------------------------------------
68                                 /*! @fn GetButtonContainer( );
69                                  *
70                                  * @return
71                                  */
72                                 ButtonContainer
73                                 GetButtonContainer( );
74                                 // ----------------------------------------------------------------------------------
75                                 /*! @fn GetButtonIdContainer( );
76                                  *
77                                  * @return
78                                  */
79                                 IdButtonContainer
80                                 GetButtonIdContainer( );
81                                 // ----------------------------------------------------------------------------------
82                                 /*! @fn GetGroupName( );
83                                  *
84                                  * @return
85                                  */
86                                 wxStaticText*
87                                 GetGroupName( );
88                                 // ----------------------------------------------------------------------------------
89                         private:
90                                 wxStaticText* m_GroupName;
91                                 ButtonContainer m_Buttons;
92                 };
93         }//ecapseman
94 }//ecapseman
95
96 #endif // BUTTONGROUP_H