/*! * @file PanelButtonContainer * @brief This contains the ButtonContainerSettings class. * @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) * @date 2011-05-28 */ #ifndef PANELBUTTONCONTAINER_H_ #define PANELBUTTONCONTAINER_H_ #include #include #include #include "containerSettings.h" #include "buttonContainerPanel.h" #include "buttonContainerSettings.h" #include "functor.h" /*! @namespace * @brief Contains the creaPanelButtonContainer library included in creaMaracasVisu. */ namespace creaPanelButtonContainer { /*! @class PanelButtonContainer panelButtonContainer.h "panelButtonContainer.h" * @brief This class contains the PanelButtonContainer. It derives from wxPanel. * @see wxPanel */ class PanelButtonContainer : public wxPanel { public: //typedef definition. /*! typedef creaButtonContainer::model::TFunctor TFunctor; * @brief Defines the TFunctor type. */ typedef creaPanelButtonContainer::ButtonContainerSettings ButtonContainerSettings; /*! typedef creaButtonContainer::model::TFunctor TFunctor; * @brief Defines the TFunctor type. */ typedef creaButtonContainer::view::ButtonContainerPanel ButtonContainerPanel; // ---------------------------------------------------------------------------------- //end of typedef definition. public: // ---------------------------------------------------------------------------------- /*! @fn PanelButtonContainer( wxWindow* parent, ButtonContainerSettings* bcSettings ); * @brief This is the parameterized constructor. * @param parent * @param bcSettings */ PanelButtonContainer( wxWindow* parent, ButtonContainerSettings* bcSettings ); // ---------------------------------------------------------------------------------- /*! @fn virtual PanelButtonContainer( ); * @brief This is the destructor. */ virtual ~PanelButtonContainer( ); // ---------------------------------------------------------------------------------- /*! @fn void UpdatePanel( const std::string &buttonName ); * @brief This method Updates the m_ButtonPanel for a panel * of the clicked button in creaButtonContainer. * @param buttonName */ void UpdatePanel( const std::string &buttonName ); // ---------------------------------------------------------------------------------- /*! @fn void GenericButtonEvent( const std::string &buttonName ); * @brief This method is the function that calls the panels contained in the buttons * (in creaButtonContainer is the function contained in the functors to be called back. * @param buttonName */ void GenericButtonEvent( const std::string &buttonName ); // ---------------------------------------------------------------------------------- private: //Settings ButtonContainerSettings* m_ButtonContainerSettings; //!