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