]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/groupManager.h
creaButtonContainer: doxygen 90%
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / creaButtonContainer / view / groupManager.h
1 /*!
2  * @file groupManager.h
3  * @brief This contains the GroupManager class
4  * @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr)
5  * @date  2011-05-19
6  */
7
8 #ifndef GROUPMANAGER_H
9 #define GROUPMANAGER_H
10
11 #include <wx/sizer.h>
12 #include <wx/button.h>
13 #include <wx/stattext.h>
14 #include <wx/event.h>
15 #include <list>
16 #include <iostream>
17 #include "buttonManager.h"
18 #include "buttonGroup.h"
19 #include <wx/event.h>
20
21 /*!     @namespace <creaButtonContainer>
22  *      @brief Contains the creaButtonContainer library included in creaMaracasVisu.
23  */
24 namespace creaButtonContainer
25 {
26         /*! @namespace <creaButtonContainer::view>
27          *      @brief Contains the implementation of the view in creaButtonContainer library.
28          *      @see <a href="http://en.wikipedia.org/wiki/Model-view-controller">MVC Software Architecture</a>
29          */
30         namespace view
31         {
32                 class GroupManager : public wxFlexGridSizer
33                 {
34                         public:
35                                 //typedef definition
36                                 /*!     @typedef creaButtonContainer::view::ButtonGroup ButtonGroup;
37                                  *      @brief Defines the ButtonGroup type.
38                                  */
39                                 typedef creaButtonContainer::view::ButtonGroup ButtonGroup;
40                                 // ----------------------------------------------------------------------------------
41                                 /*!     @typedef wxButton ExpansionButton;
42                                  *      @brief Defines the ExpansionButton type.
43                                  */
44                                 typedef wxButton ExpansionButton;
45                                 // ----------------------------------------------------------------------------------
46                                 //end of typedef definition.
47                         public:
48                                 // ----------------------------------------------------------------------------------
49                                 /*! @fn GroupManager( wxWindow* parent, ButtonGroup* buttonGroup );
50                                  *      @brief This is the parameterized constructor.
51                                  *      @param parent The wxWindow* parent
52                                  *      @param buttonGroup The pointer to the ButtonGroup.
53                                  */
54                                 GroupManager( wxWindow* parent, ButtonGroup* buttonGroup );
55                                 // ----------------------------------------------------------------------------------
56                                 /*! @fn ~GroupManager( );
57                                  *  @brief This is the destructor.
58                                  */
59                                 virtual
60                                 ~GroupManager( );
61                                 // ----------------------------------------------------------------------------------
62                                 /*! @fn GetButtonID( );
63                                  *  @brief This method returns the Button ID.
64                                  *  @return
65                                  */
66                                 long
67                                 GetButtonID( );
68                                 // ----------------------------------------------------------------------------------
69                                 /*! @fn GetButton( );
70                                  *      @brief This method returns the expansion button.
71                                  * @return
72                                  */
73                                 ExpansionButton*
74                                 GetButton( );
75                                 // ----------------------------------------------------------------------------------
76                                 /*! @fn GetButtonManager( );
77                                  *      @brief This method returns the manager of the buttons.
78                                  *      @return
79                                  */
80                                 ButtonManager*
81                                 GetButtonManager( );
82                                 // ----------------------------------------------------------------------------------
83                                 /*! @fn SetButtonID( long id );
84                                  *      @brief This method sets the ID of the expansion button.
85                                  * @param id
86                                  */
87                                 void
88                                 SetButtonID( long id );
89                                 // ----------------------------------------------------------------------------------
90                                 /*! @fn SetButton( ExpansionButton* button );
91                                  *      @brief This method sets the expansion button.
92                                  * @param button
93                                  */
94                                 void
95                                 SetButton( ExpansionButton* button );
96                                 // ----------------------------------------------------------------------------------
97                                 /*! @fn SetButtonManager( ButtonManager* manager );
98                                  *      @brief This method Sets the ButtonManager
99                                  * @param manager A pointer with the manager.
100                                  */
101                                 void
102                                 SetButtonManager( ButtonManager* manager );
103                                 // ----------------------------------------------------------------------------------
104                                 /*! @fn HideSubPanel( bool hide );
105                                  *      @brief This method hides the subPanel (Hides the buttons).
106                                  * @param hide True if you need to hide the buttons.
107                                  */
108                                 void
109                                 HideSubPanel( bool hide );
110
111                         private:
112                                 long m_IDExpButton; //!<ID of "+""-" expansion button.
113                                 ExpansionButton* m_ExpansionButton; //!<The expansion button.
114                                 ButtonManager* m_ButtonManager; //!<The button manager.
115                 };
116         }//ecapseman
117 }//ecapseman
118
119 #endif // GROUPMANAGER_H