X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FcreaButtonContainer%2Fview%2FbuttonContainerPanel.h;h=5a194cc1bcf1e0e2028c7eacd3ec2e681130ff4e;hb=65c158dc171f8d3114ee3544b2a94a1f41880df0;hp=b953ceef14e0ad296ca8916799f77da5941df1ec;hpb=4b092ee0b1bcda4d298e5ffc3b58b599e273db20;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonContainerPanel.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonContainerPanel.h index b953cee..5a194cc 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonContainerPanel.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonContainerPanel.h @@ -1,11 +1,9 @@ -/*************************************************************** - * Name: ButtonContainerPanel.h - * Purpose: Defines the main panel of the button container - * 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: - **************************************************************/ +/*! + * @file buttonContainerController.h + * @brief This contains the ButtonContainerController class + * @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) + * @date 2011-06-02 + */ #ifndef BUTTONCONTAINERPANEL_H #define BUTTONCONTAINERPANEL_H @@ -13,8 +11,10 @@ #include #include #include + #include #include +#include #include "buttonGroup.h" #include "groupManager.h" @@ -22,51 +22,133 @@ #include "containerSettings.h" #include "buttonContainerController.h" +/*! @namespace + * @brief Contains the creaButtonContainer library included in creaMaracasVisu. + */ namespace creaButtonContainer { + /*! @namespace + * @brief Contains the implementation of the controller in creaButtonContainer library. + * @see MVC Software Architecture + */ namespace controller { + /*! @class ButtonContainerController buttonContainerController.h "buttonContainerController.h" + * @brief This class contains the ButtonContainerPanel controller. + * @details This class describes the button events, it derives from wxEvtHandler. + * @see wxEvtHandler + */ class ButtonContainerController; } + + /*! @namespace + * @brief Contains the implementation of the view in creaButtonContainer library. + * @see MVC Software Architecture + */ namespace view { - /** - Class Description: - **/ + /*! @class ButtonContainerPanel buttonContainerPanel.h "buttonContainerPanel.h" + * @brief This class is the container of the creaButtonContainer. + * @details This class derives from wxScrolledWindow and manages the view of the buttonContainer. + * @bug The scrolled it doesn't work! (to be changed soon) + * @see wxScrolledWindow + */ class ButtonContainerPanel : public wxScrolledWindow { public: //typedef definition + // ---------------------------------------------------------------------------------- + /*! @typedef creaButtonContainer::view::ButtonGroup ButtonGroup; + * @brief Defines the ButtonGroup type. + */ typedef creaButtonContainer::view::ButtonGroup ButtonGroup; + // ---------------------------------------------------------------------------------- + /*! @typedef creaButtonContainer::view::GroupManager GroupManager; + * @brief Defines the GroupManager type. + */ typedef creaButtonContainer::view::GroupManager GroupManager; + // ---------------------------------------------------------------------------------- + /*! @typedef std::list< ButtonGroup* > ButtonGroupList; + * @brief Defines the ButtonGroupList type. + */ typedef std::list< ButtonGroup* > ButtonGroupList; + // ---------------------------------------------------------------------------------- + /*! @typedef std::map< long, GroupManager* > GroupManagerList; + * @brief Defines the GroupManagerList type. + */ typedef std::map< long, GroupManager* > GroupManagerList; + // ---------------------------------------------------------------------------------- + /*! @typedef wxFlexGridSizer Sizer; + * @brief Defines the Sizer type. + */ typedef wxFlexGridSizer Sizer; + // ---------------------------------------------------------------------------------- + /*! @typedef std::list< long > KeyList; + * @brief Defines the KeyList type. + */ typedef std::list< long > KeyList; + // ---------------------------------------------------------------------------------- + /*! @typedef creaButtonContainer::model::ContainerSettings ButtonGroupSettings; + * @brief Defines the ButtonGroupSettings type. + */ typedef creaButtonContainer::model::ContainerSettings ButtonGroupSettings; + // ---------------------------------------------------------------------------------- + /*! @typedef creaButtonContainer::model::ButtonGroupFactory ButtonGroupFactory; + * @brief Defines the ButtonGroupFactory type. + */ typedef creaButtonContainer::model::ButtonGroupFactory ButtonGroupFactory; + // ---------------------------------------------------------------------------------- + /*! creaButtonContainer::controller::ButtonContainerController BCController; + * @brief Defines the BCController type. + */ typedef creaButtonContainer::controller::ButtonContainerController BCController; + // ---------------------------------------------------------------------------------- //end of typedef definition public: + /*! @fn ButtonContainerPanel( wxWindow* parent, ButtonGroupSettings* settings ); + * @brief This is the parameterized constructor. + * @param parent wxWindow pointer to parent. + * @param settings ButtonGroupSettings Pointer to button container settings. + */ ButtonContainerPanel( wxWindow* parent, ButtonGroupSettings* settings ); + // ---------------------------------------------------------------------------------- + /*! @fn ~ButtonContainerPanel( ); + * @brief This is the destructor. + */ virtual ~ButtonContainerPanel( ); + // ---------------------------------------------------------------------------------- + /*! @fn SetGroupContainer( ButtonGroupList groupContainer ); + * @brief This method sets the settings to the container. + * @param groupContainer + */ void SetGroupContainer( ButtonGroupList groupContainer ); + // ---------------------------------------------------------------------------------- + /*! @fn PanelInit( ); + * This method initializes the panel. + * @exception std::bad_alloc + */ void PanelInit( ); + // ---------------------------------------------------------------------------------- + /*! @fn FitSizer( ); + * This method fits and organizes the sizer. + */ void FitSizer( ); + // ---------------------------------------------------------------------------------- public: friend class creaButtonContainer::controller::ButtonContainerController; private: - GroupManagerList m_GroupManagerList; - ButtonGroupList m_ButtonGroupList; - BCController* m_ButtonCController; - Sizer* m_Sizer; + GroupManagerList m_GroupManagerList; //!