/*************************************************************** * Name: @file ButtonGroupFactory.h * Purpose: @brief This contains ButtonGroupFactory 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 BUTTONGROUPFACTORY_H #define BUTTONGROUPFACTORY_H #include #include #include #include "system.h" #include "button.h" #include "buttonGroup.h" #include "containerSettings.h" #include "functor.h" ///@namespace namespace creaButtonContainer { ///@namespace namespace model { //typedef typedef creaButtonContainer::view::Button Button; typedef creaButtonContainer::view::ButtonGroup ButtonGroup; typedef creaButtonContainer::model::ContainerSettings ButtonGroupModel; typedef std::list< ButtonGroup* > ButtonGroupContainer; typedef std::map< long, Button* > ButtonContainer; /// @class ButtonGroupFactory /// @brief This class is the factory of a group of wxButtons class ButtonGroupFactory { public: //Constructors: /*! * @brief This is the default constructor. */ ButtonGroupFactory( ); //Destructors: /*! * @brief this is the destructor. */ virtual ~ButtonGroupFactory( ); //Functions: /*! * @brief This function allows to create the ButtonGroupContainer. * @param the wxWindow* parent to be attached. * @param The Container settings. * @return The wx button group container. */ ButtonGroupContainer CreateButtonGroupContainer( wxWindow* parent, ButtonGroupModel* settings ); private: /*! * @brief This function allows to create a wx button container for a group. * @param the wxWindow* parent to be attached. * @param The button list with its own information. * @return The wx button container. */ ButtonContainer GetButtons( wxWindow* parent, ButtonList buttonModel ); }; }//ecapseman }//ecapseman #endif // CARTOBUTTONFACTORY_H