]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/groupManager.h
creaButtonContainer & creaPanelButtonContainer: Deep errors have been solved!! ready...
[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-24
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 <exception>
18 #include "buttonManager.h"
19 #include "buttonGroup.h"
20 #include <wx/event.h>
21
22 /*!     @namespace <creaButtonContainer>
23  *      @brief Contains the creaButtonContainer library included in creaMaracasVisu.
24  */
25 namespace creaButtonContainer
26 {
27         /*! @namespace <creaButtonContainer::view>
28          *      @brief Contains the implementation of the view in creaButtonContainer library.
29          *      @see <a href="http://en.wikipedia.org/wiki/Model-view-controller">MVC Software Architecture</a>
30          */
31         namespace view
32         {
33                 /*! @class GroupManager groupManager.h "groupManager.h"
34                  *      @brief This class contains the GroupManager.
35                  *  @details This class describes a wxFlexGridSizer with the group manager.
36                  *  @see <a href="http://docs.wxwidgets.org/stable/wx_wxflexGridSizer.html">wxFlexGridSizer</a>
37                  */
38                 class GroupManager : public wxFlexGridSizer
39                 {
40                         public:
41                                 //typedef definition
42                                 /*!     @typedef creaButtonContainer::view::ButtonGroup ButtonGroup;
43                                  *      @brief Defines the ButtonGroup type.
44                                  */
45                                 typedef creaButtonContainer::view::ButtonGroup ButtonGroup;
46                                 // ----------------------------------------------------------------------------------
47                                 /*!     @typedef wxButton ExpansionButton;
48                                  *      @brief Defines the ExpansionButton type.
49                                  */
50                                 typedef wxButton ExpansionButton;
51                                 // ----------------------------------------------------------------------------------
52                                 //end of typedef definition.
53                         public:
54                                 // ----------------------------------------------------------------------------------
55                                 /*! @fn GroupManager( wxWindow* parent, ButtonGroup* buttonGroup );
56                                  *      @brief This is the parameterized constructor.
57                                  *      @param parent The wxWindow* parent
58                                  *      @param buttonGroup The pointer to the ButtonGroup.
59                                  */
60                                 GroupManager( wxWindow* parent, ButtonGroup* buttonGroup );
61                                 // ----------------------------------------------------------------------------------
62                                 /*! @fn ~GroupManager( );
63                                  *  @brief This is the destructor.
64                                  */
65                                 virtual
66                                 ~GroupManager( );
67                                 // ----------------------------------------------------------------------------------
68                                 /*! @fn GetButtonID( );
69                                  *  @brief This method returns the Button ID.
70                                  *  @return
71                                  */
72                                 long
73                                 GetButtonID( );
74                                 // ----------------------------------------------------------------------------------
75                                 /*! @fn GetButton( );
76                                  *      @brief This method returns the expansion button.
77                                  * @return
78                                  */
79                                 ExpansionButton*
80                                 GetButton( );
81                                 // ----------------------------------------------------------------------------------
82                                 /*! @fn GetButtonManager( );
83                                  *      @brief This method returns the manager of the buttons.
84                                  *      @return
85                                  */
86                                 ButtonManager*
87                                 GetButtonManager( );
88                                 // ----------------------------------------------------------------------------------
89                                 /*! @fn SetButtonID( long id );
90                                  *      @brief This method sets the ID of the expansion button.
91                                  * @param id
92                                  */
93                                 void
94                                 SetButtonID( long id );
95                                 // ----------------------------------------------------------------------------------
96                                 /*! @fn SetButton( ExpansionButton* button );
97                                  *      @brief This method sets the expansion button.
98                                  * @param button
99                                  */
100                                 void
101                                 SetButton( ExpansionButton* button );
102                                 // ----------------------------------------------------------------------------------
103                                 /*! @fn SetButtonManager( ButtonManager* manager );
104                                  *      @brief This method Sets the ButtonManager
105                                  * @param manager A pointer with the manager.
106                                  */
107                                 void
108                                 SetButtonManager( ButtonManager* manager );
109                                 // ----------------------------------------------------------------------------------
110                                 /*! @fn HideSubPanel( bool hide );
111                                  *      @brief This method hides the subPanel (Hides the buttons).
112                                  * @param hide True if you need to hide the buttons.
113                                  */
114                                 void
115                                 HideSubPanel( bool hide );
116
117                         private:
118                                 long m_IDExpButton; //!<ID of "+""-" expansion button.
119                                 ExpansionButton* m_ExpansionButton; //!<The expansion button.
120                                 ButtonManager* m_ButtonManager; //!<The button manager.
121                 };
122         }//ecapseman
123 }//ecapseman
124
125 #endif // GROUPMANAGER_H