* @file buttonContainerController.h
* @brief This contains the ButtonContainerController class
* @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr)
- * @date 2011-05-19
+ * @date 2011-06-02
*/
#ifndef BUTTONCONTAINERPANEL_H
#include <wx/scrolwin.h>
#include <wx/button.h>
#include <wx/sizer.h>
+
#include <list>
#include <map>
+#include <exception>
#include "buttonGroup.h"
#include "groupManager.h"
{
/*! @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.
+ * @details This class describes the button events, it derives from wxEvtHandler.
* @see <a href="http://docs.wxwidgets.org/stable/wx_wxevthandler.html">wxEvtHandler</a>
*/
class ButtonContainerController;
*/
namespace view
{
+ /*! @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 <a href="http://docs.wxwidgets.org/stable/wx_wxscrolledwindow.html">wxScrolledWindow</a>
+ */
class ButtonContainerPanel : public wxScrolledWindow
{
public:
//typedef definition
- /*! @typedef creaButtonContainer::model::TFunctor TFunctor;
- * @brief Defines the TFunctor type.
+ // ----------------------------------------------------------------------------------
+ /*! @typedef creaButtonContainer::view::ButtonGroup ButtonGroup;
+ * @brief Defines the ButtonGroup type.
*/
typedef creaButtonContainer::view::ButtonGroup ButtonGroup;
- /*! @typedef creaButtonContainer::model::TFunctor TFunctor;
- * @brief Defines the TFunctor type.
+ // ----------------------------------------------------------------------------------
+ /*! @typedef creaButtonContainer::view::GroupManager GroupManager;
+ * @brief Defines the GroupManager type.
*/
typedef creaButtonContainer::view::GroupManager GroupManager;
- /*! @typedef creaButtonContainer::model::TFunctor TFunctor;
- * @brief Defines the TFunctor type.
+ // ----------------------------------------------------------------------------------
+ /*! @typedef std::list< ButtonGroup* > ButtonGroupList;
+ * @brief Defines the ButtonGroupList type.
*/
typedef std::list< ButtonGroup* > ButtonGroupList;
- /*! @typedef creaButtonContainer::model::TFunctor TFunctor;
- * @brief Defines the TFunctor type.
+ // ----------------------------------------------------------------------------------
+ /*! @typedef std::map< long, GroupManager* > GroupManagerList;
+ * @brief Defines the GroupManagerList type.
*/
typedef std::map< long, GroupManager* > GroupManagerList;
- /*! @typedef creaButtonContainer::model::TFunctor TFunctor;
- * @brief Defines the TFunctor type.
+ // ----------------------------------------------------------------------------------
+ /*! @typedef wxFlexGridSizer Sizer;
+ * @brief Defines the Sizer type.
*/
typedef wxFlexGridSizer Sizer;
- /*! @typedef creaButtonContainer::model::TFunctor TFunctor;
- * @brief Defines the TFunctor type.
+ // ----------------------------------------------------------------------------------
+ /*! @typedef std::list< long > KeyList;
+ * @brief Defines the KeyList type.
*/
typedef std::list< long > KeyList;
- /*! @typedef creaButtonContainer::model::TFunctor TFunctor;
- * @brief Defines the TFunctor type.
+ // ----------------------------------------------------------------------------------
+ /*! @typedef creaButtonContainer::model::ContainerSettings ButtonGroupSettings;
+ * @brief Defines the ButtonGroupSettings type.
*/
typedef creaButtonContainer::model::ContainerSettings
ButtonGroupSettings;
- /*! @typedef creaButtonContainer::model::TFunctor TFunctor;
- * @brief Defines the TFunctor type.
+ // ----------------------------------------------------------------------------------
+ /*! @typedef creaButtonContainer::model::ButtonGroupFactory ButtonGroupFactory;
+ * @brief Defines the ButtonGroupFactory type.
*/
typedef creaButtonContainer::model::ButtonGroupFactory
ButtonGroupFactory;
- /*! @typedef creaButtonContainer::model::TFunctor TFunctor;
- * @brief Defines the TFunctor type.
+ // ----------------------------------------------------------------------------------
+ /*! 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 );
- *
- * @param parent
- * @param 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; //!<The container of managers.
+ ButtonGroupList m_ButtonGroupList; //!<The list of button groups.
+ BCController* m_ButtonCController; //!<Pontier to controller.
+ Sizer* m_Sizer; //!<Pointer to wxSizer
+ DECLARE_EVENT_TABLE() //!<Event Table declaration.
};
}//ecapseman
}//ecapseman