/*************************************************************** * Name: @file buttonContainerController.h * Purpose: @brief This fhile contains the ButtonContainerController Class * Author: @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) * Modified: 2011-05-09 * Copyright: Diego CACERES (http://www.creatis.insa-lyon.fr/~caceres/) * License: **************************************************************/ #ifndef BUTTONCONTAINERCONTROLLER_H_ #define BUTTONCONTAINERCONTROLLER_H_ #include #include "buttonContainerPanel.h" ///@namespace namespace creaButtonContainer { ///@namespace namespace view { //Predefinition of ButtonContainerPanel FriendClass!! ///@class ButtonContainerPanel buttonContainerPanel.h "buttonContainerPanel.h" class ButtonContainerPanel; } ///@namespace namespace controller { /*!@class ButtonContainerController buttonContainerController.h "buttonContainerController.h" * @brief This class contains the ButtonContainerPanel controller * This class describes the panel and button events. */ class ButtonContainerController : public wxEvtHandler { public: ///@typedef creaButtonContainer::view::ButtonGroup ButtonGroup ///@typedef typedef creaButtonContainer::view::GroupManager GroupManager; ///@typedef std::list< ButtonGroup* > ButtonGroupList; ///@typedef std::map< long, GroupManager* > GroupManagerList; ///@typedef wxFlexGridSizer Sizer; ///@typedef std::list< long > KeyList; ///@typedef creaButtonContainer::model::ContainerSettings ButtonGroupSettings; ///@typedef creaButtonContainer::view::ButtonContainerPanel BCPanel; //typedef definition typedef creaButtonContainer::view::ButtonGroup ButtonGroup; typedef creaButtonContainer::view::GroupManager GroupManager; typedef std::list< ButtonGroup* > ButtonGroupList; typedef std::map< long, GroupManager* > GroupManagerList; typedef wxFlexGridSizer Sizer; typedef std::list< long > KeyList; typedef creaButtonContainer::model::ContainerSettings ButtonGroupSettings; typedef creaButtonContainer::view::ButtonContainerPanel BCPanel; //end of typedef definition public: ///!The Parameterized Constructor ButtonContainerController( BCPanel* ); virtual ~ButtonContainerController( ); void AddEvents( ); void ButtonExpEvent( wxCommandEvent& event ); void ButtonEvent( wxCommandEvent& event ); private: BCPanel* m_BCPanel; }; }//ecapsename }//ecapsename #endif //BUTTONCONTAINERCONTROLLER_H_