-/***************************************************************
+/************************************************************************************//*!
* Name: @file containerSettings.h
- * Purpose: @brief This contains ContainerSettings class
+ * Purpose: @brief This contains the ContainerSettings 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/)
+ * Modified: 2011-05-18
+ * Copyright:
* License:
- **************************************************************/
+ ***************************************************************************************/
#ifndef BUTTONGROUPSETTINGS_H_
#define BUTTONGROUPSETTINGS_H_
+//! @include <list>
#include <list>
+//! @include <map>
#include <map>
+//! @include <iostream>
#include <iostream>
+//! @include "system.h"
#include "system.h"
-
+//! @include "functor"
#include "functor.h"
-///@namespace <creaButtonContainer>
+//! @namespace <creaButtonContainer>
namespace creaButtonContainer
{
- ///@namespace <model>
+ //! @namespace <model>
namespace model
{
- /*!
- * @class ContainerSettings
- * @brief This class contains all information of groups and its buttons
+ /*! @class ContainerSettings containerSettings.h "containerSettings.h"
+ * @brief This class contains the settings of the button container.
+ * This class describes how to add new buttons to the container.
*/
class ContainerSettings
{
public:
- /*!
- * @brief This is the default constructor
+ // ----------------------------------------------------------------------------------
+ /*! @fn void ContainerSettings::ContainerSettings( )
+ * @brief This is the constructor.
*/
ContainerSettings( );
+ // ----------------------------------------------------------------------------------
+ /*! @fn ContainerSettings::~ContainerSettings( )
+ * @brief This is the destructor.
+ */
virtual
~ContainerSettings( );
- /*!
- * @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.
+ // ----------------------------------------------------------------------------------
+ /*! @fn ButtonGroupMap ContainerSettings::GetButtonGroupContainer( )
+ * @brief This function returns a container of buttons ordered by group.
+ * @return ButtonGroupMap A container with buttons
*/
ButtonGroupMap
GetButtonGroupContainer( );
- /*!
- * @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.
+ // ----------------------------------------------------------------------------------
+ /*! @fn KeyMapList ContainerSettings::GetGroupNameList( )
+ * @brief This function returns a container with the name of the groups.
+ * @return KeyMapList A list with the name of the button groups.
*/
KeyMapList
GetGroupNameList( );
- /*!
- * @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.
+ // ----------------------------------------------------------------------------------
+ /*! void ContainerSettings::SetButtonGroupContainer( ButtonGroupMap m_ButtonGroupContainer )
+ * @brief This function allows to create the ButtonGroupContainer.
+ * @param bgContainer The ButtonGroupMap with all buttons.
*/
void
- SetButtonGroupContainer( ButtonGroupMap m_ButtonGroupContainer );
- /*!
- * @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.
+ SetButtonGroupContainer( ButtonGroupMap bgContainer );
+ // ----------------------------------------------------------------------------------
+ /*! void ContainerSettings::SetGroupNameList( KeyMapList gNameList )
+ * @brief This function sets a container with the name of the groups.
+ * @param gNameList the KeyMapList with all groupNames.
*/
void
- SetGroupNameList( KeyMapList m_GroupNameList );
+ SetGroupNameList( KeyMapList gNameList );
+ // ----------------------------------------------------------------------------------
/*!
- * @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.
+ * @fn ContainerSettings::AddButton( const std::string & groupName, const std::string buttonName,
+ const std::string iconpath, const std::string buttonDescription,
+ FunctionEventType event )
+ * @brief This function adds a new button to the container.
+ * @param groupName The name of the group of buttons.
+ * @param buttonName The ID of the button.
+ * @param iconpath The path of the button icon.
+ * @param buttonDescription The description of the button.
+ * @param event The event associated to the button.
+ * @see class Functor, ConcreteFunctor for add an event for a button.
+ * @exception std::bad_alloc
*/
void
AddButton( const std::string & groupName, const std::string buttonName,
const std::string iconpath, const std::string buttonDescription,
FunctionEventType event );
+ // ----------------------------------------------------------------------------------
private:
- ButtonGroupMap m_ButtonGroupContainer;
- KeyMapList m_GroupNameList;
+ ButtonGroupMap m_ButtonGroupContainer; //! <std::map< std::string, ButtonList > View pointer.
+ KeyMapList m_GroupNameList; //! <ButtonContainerPanel View pointer.
};
}
}