-/***************************************************************
- * 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-05-19
+ */
#ifndef BUTTONCONTAINERPANEL_H
#define BUTTONCONTAINERPANEL_H
#include "containerSettings.h"
#include "buttonContainerController.h"
+/*! @namespace <creaButtonContainer>
+ * @brief Contains the creaButtonContainer library included in creaMaracasVisu.
+ */
namespace creaButtonContainer
{
+ /*! @namespace<creaButtonContainer::controller>
+ * @brief Contains the implementation of the controller in creaButtonContainer library.
+ * @see <a href="http://en.wikipedia.org/wiki/Model-view-controller">MVC Software Architecture</a>
+ */
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 and it is the
+ * controller in the MVC.
+ * @see <a href="http://docs.wxwidgets.org/stable/wx_wxevthandler.html">wxEvtHandler</a>
+ */
class ButtonContainerController;
}
+
+ /*! @namespace <creaButtonContainer::view>
+ * @brief Contains the implementation of the view in creaButtonContainer library.
+ * @see <a href="http://en.wikipedia.org/wiki/Model-view-controller">MVC Software Architecture</a>
+ */
namespace view
{
- /**
- Class Description:
- **/
class ButtonContainerPanel : public wxScrolledWindow
{
public:
//typedef definition
+ /*! @typedef creaButtonContainer::model::TFunctor TFunctor;
+ * @brief Defines the TFunctor type.
+ */
typedef creaButtonContainer::view::ButtonGroup ButtonGroup;
+ /*! @typedef creaButtonContainer::model::TFunctor TFunctor;
+ * @brief Defines the TFunctor type.
+ */
typedef creaButtonContainer::view::GroupManager GroupManager;
+ /*! @typedef creaButtonContainer::model::TFunctor TFunctor;
+ * @brief Defines the TFunctor type.
+ */
typedef std::list< ButtonGroup* > ButtonGroupList;
+ /*! @typedef creaButtonContainer::model::TFunctor TFunctor;
+ * @brief Defines the TFunctor type.
+ */
typedef std::map< long, GroupManager* > GroupManagerList;
+ /*! @typedef creaButtonContainer::model::TFunctor TFunctor;
+ * @brief Defines the TFunctor type.
+ */
typedef wxFlexGridSizer Sizer;
+ /*! @typedef creaButtonContainer::model::TFunctor TFunctor;
+ * @brief Defines the TFunctor type.
+ */
typedef std::list< long > KeyList;
+ /*! @typedef creaButtonContainer::model::TFunctor TFunctor;
+ * @brief Defines the TFunctor type.
+ */
typedef creaButtonContainer::model::ContainerSettings
ButtonGroupSettings;
+ /*! @typedef creaButtonContainer::model::TFunctor TFunctor;
+ * @brief Defines the TFunctor type.
+ */
typedef creaButtonContainer::model::ButtonGroupFactory
ButtonGroupFactory;
+ /*! @typedef creaButtonContainer::model::TFunctor TFunctor;
+ * @brief Defines the TFunctor type.
+ */
typedef creaButtonContainer::controller::ButtonContainerController
BCController;
//end of typedef definition
public:
+ /*! @fn ButtonContainerPanel( wxWindow* parent, ButtonGroupSettings* settings );
+ *
+ * @param parent
+ * @param settings
+ */
ButtonContainerPanel( wxWindow* parent, ButtonGroupSettings* settings );
+ // ----------------------------------------------------------------------------------
+ /*! @fn ~ButtonContainerPanel( );
+ *
+ */
virtual
~ButtonContainerPanel( );
+ // ----------------------------------------------------------------------------------
+ /*! @fn SetGroupContainer( ButtonGroupList groupContainer );
+ *
+ * @param groupContainer
+ */
void
SetGroupContainer( ButtonGroupList groupContainer );
+ // ----------------------------------------------------------------------------------
+ /*! @fn PanelInit( );
+ *
+ */
void
PanelInit( );
+ // ----------------------------------------------------------------------------------
+ /*! @fn FitSizer( );
+ *
+ */
void
FitSizer( );
+ // ----------------------------------------------------------------------------------
public:
friend class creaButtonContainer::controller::ButtonContainerController;
private: