/*! * @file buttonGroup.h * @brief This contains the ButtonGroup class. * @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) * @date 2011-05-24 */ #ifndef BUTTONGROUP_H #define BUTTONGROUP_H //Library Definition #include #include #include #include #include "button.h" /*! @namespace * @brief Contains the creaButtonContainer library included in creaMaracasVisu. */ namespace creaButtonContainer { /*! @namespace * @brief Contains the implementation of the view in creaButtonContainer library. * @see MVC Software Architecture */ namespace view { /*! @class ButtonGroup buttonGroup.h "buttonGroup.h" * @brief This class contains the group of buttons. */ class ButtonGroup { public: //Typedef definition /*! @typedef creaButtonContainer::view::Button Button; * @brief Defines the Button type. */ typedef creaButtonContainer::view::Button Button; // ---------------------------------------------------------------------------------- /*! @typedef std::map< long, Button* > ButtonContainer; * @brief Defines the ButtonContainer type. */ typedef std::map< long, Button* > ButtonContainer; // ---------------------------------------------------------------------------------- /*! typedef std::list< long > IdButtonContainer; * @brief Defines the IdButtonContainer type. */ typedef std::list< long > IdButtonContainer; public: // ---------------------------------------------------------------------------------- /*! @fn ButtonGroup( wxStaticText* groupName, ButtonContainer buttons ); * @brief This is the parameterized constructor. * @param groupName wxStatigText* with the name of the group. * @param buttons A container with buttons. */ ButtonGroup( wxStaticText* groupName, ButtonContainer buttons ); // ---------------------------------------------------------------------------------- /*! @fn ~ButtonGroup( ); * @brief This is the destructor. */ virtual ~ButtonGroup( ); // ---------------------------------------------------------------------------------- /*! @fn GetButton( long id ); * @brief This method returns a Button* * @param id The ID of the button. * @return Button* */ Button* GetButton( long id ); // ---------------------------------------------------------------------------------- /*! @fn GetButtonContainer( ); * @brief This method returns the button container. * @exception std::bad_alloc * @return ButtonContainer. */ ButtonContainer GetButtonContainer( ); // ---------------------------------------------------------------------------------- /*! @fn GetButtonIdContainer( ); * @brief This method returns a list of button IDs. * @exception std::bad_alloc * @return */ IdButtonContainer GetButtonIdContainer( ); // ---------------------------------------------------------------------------------- /*! @fn GetGroupName( ); * @brief This method returns the name of the group. * @return */ wxStaticText* GetGroupName( ); // ---------------------------------------------------------------------------------- private: wxStaticText* m_GroupName; //!