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>
18 #include "buttonGroup.h"
20 /*! @namespace <creaButtonContainer>
21 * @brief Contains the creaButtonContainer library included in creaMaracasVisu.
23 namespace creaButtonContainer
25 /*! @namespace <creaButtonContainer::view>
26 * @brief Contains the implementation of the view in creaButtonContainer library.
27 * @see <a href="http://en.wikipedia.org/wiki/Model-view-controller">MVC Software Architecture</a>
31 /*! @class ButtonManager buttonManager.h "buttonManager.h"
32 * @brief This class contains the ButtonManager view.
33 * @details This class describes a wxFlexGridSizer with the button manager.
34 * @see <a href="http://docs.wxwidgets.org/stable/wx_wxflexGridSizer.html">wxFlexGridSizer</a>
36 class ButtonManager : public wxFlexGridSizer
40 /*! @typedef creaButtonContainer::view::Button Button;
41 * @brief Defines the Button type.
43 typedef creaButtonContainer::view::Button Button;
44 // ----------------------------------------------------------------------------------
45 /*! @typedef creaButtonContainer::view::ButtonGroup ButtonGroup;
46 * @brief Defines the ButtonGroup type.
48 typedef creaButtonContainer::view::ButtonGroup ButtonGroup;
49 // ----------------------------------------------------------------------------------
50 /*! @typedef std::map< long, Button* > ButtonContainer;
51 * @brief Defines the ButtonContainer type.
53 typedef std::map< long, Button* > ButtonContainer;
54 // ----------------------------------------------------------------------------------
55 //end of typedef definition.
57 // ----------------------------------------------------------------------------------
58 /*! @fn ButtonManager( );
59 * @brief This is the default constructor.
60 * @exception std::bad_alloc
63 // ----------------------------------------------------------------------------------
64 /*! @fn ButtonManager( ButtonGroup* buttonGroup );
65 * @brief This is the parameterized constructor
66 * @param buttonGroup The group of buttons.
68 ButtonManager( ButtonGroup* buttonGroup );
69 // ----------------------------------------------------------------------------------
70 /*! @fn ~ButtonManager( );
71 * @brief This is the destructor.
75 // ----------------------------------------------------------------------------------
76 /*! @fn SetGroupName( wxStaticText* groupName );
77 * @details Sets the groupName.
81 SetGroupName( wxStaticText* groupName );
82 // ----------------------------------------------------------------------------------
83 /*! @fn ShowButtonManager( );
84 * @brief This method shows the ButtonManager
88 // ----------------------------------------------------------------------------------
89 /*! @fn HideButtonManager( );
90 * @brief This method hides the ButtonManager.
91 * @exception std::bad_alloc
95 // ----------------------------------------------------------------------------------
97 // ----------------------------------------------------------------------------------
98 /*! @fn SetButtonManager( ButtonContainer buttonContainer );
99 * @brief This method set the buttons and it is private.
100 * @param buttonContainer
103 SetButtonManager( ButtonContainer buttonContainer );
104 // ----------------------------------------------------------------------------------
106 wxStaticText* m_GroupName; //!<The name of the group.
107 wxGridSizer* m_GridSizer; //!<The sizer that contains the buttons.
112 #endif // CARTOBUTTONCONTAINER_H