2 * @file buttonManager.h
3 * @brief This contains the ButtonManager class.
4 * @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr)
8 #ifndef CARTOBUTTONCONTAINER_H
9 #define CARTOBUTTONCONTAINER_H
12 #include <wx/bmpbuttn.h>
13 #include <wx/stattext.h>
14 #include <wx/string.h>
20 #include "buttonGroup.h"
22 /*! @namespace <creaButtonContainer>
23 * @brief Contains the creaButtonContainer library included in creaMaracasVisu.
25 namespace creaButtonContainer
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>
33 /*! @class ButtonManager buttonManager.h "buttonManager.h"
34 * @brief This class contains the ButtonManager view.
35 * @details This class describes a wxFlexGridSizer with the button manager.
36 * @see <a href="http://docs.wxwidgets.org/stable/wx_wxflexGridSizer.html">wxFlexGridSizer</a>
38 class ButtonManager : public wxFlexGridSizer
42 // ----------------------------------------------------------------------------------
43 /*! @typedef creaButtonContainer::view::Button Button;
44 * @brief Defines the Button type.
46 typedef creaButtonContainer::view::Button Button;
47 // ----------------------------------------------------------------------------------
48 /*! @typedef creaButtonContainer::view::ButtonGroup ButtonGroup;
49 * @brief Defines the ButtonGroup type.
51 typedef creaButtonContainer::view::ButtonGroup ButtonGroup;
52 // ----------------------------------------------------------------------------------
53 /*! @typedef std::map< long, Button* > ButtonContainer;
54 * @brief Defines the ButtonContainer type.
56 typedef std::map< long, Button* > ButtonContainer;
57 // ----------------------------------------------------------------------------------
58 //end of typedef definition.
60 // ----------------------------------------------------------------------------------
61 /*! @fn ButtonManager( );
62 * @brief This is the default constructor.
63 * @exception std::bad_alloc
66 // ----------------------------------------------------------------------------------
67 /*! @fn ButtonManager( ButtonGroup* buttonGroup );
68 * @brief This is the parameterized constructor
69 * @param buttonGroup The group of buttons.
71 ButtonManager( ButtonGroup* buttonGroup );
72 // ----------------------------------------------------------------------------------
73 /*! @fn ~ButtonManager( );
74 * @brief This is the destructor.
78 // ----------------------------------------------------------------------------------
79 /*! @fn SetGroupName( wxStaticText* groupName );
80 * @details Sets the groupName.
84 SetGroupName( wxStaticText* groupName );
85 // ----------------------------------------------------------------------------------
86 /*! @fn ShowButtonManager( );
87 * @brief This method shows the ButtonManager
91 // ----------------------------------------------------------------------------------
92 /*! @fn HideButtonManager( );
93 * @brief This method hides the ButtonManager.
94 * @exception std::bad_alloc
98 // ----------------------------------------------------------------------------------
100 // ----------------------------------------------------------------------------------
101 /*! @fn SetButtonManager( ButtonContainer buttonContainer );
102 * @brief This method set the buttons and it is private.
103 * @param buttonContainer
106 SetButtonManager( ButtonContainer buttonContainer );
107 // ----------------------------------------------------------------------------------
109 wxStaticText* m_GroupName; //!<The name of the group.
110 wxGridSizer* m_GridSizer; //!<The sizer that contains the buttons.
115 #endif // CARTOBUTTONCONTAINER_H