]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/containerSettings.h
creaButtonContainer: new structure to make easy the button settings
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / creaButtonContainer / model / containerSettings.h
index 4e259b02239b5e57c41f299ae43219893e0e822c..7a84073a14b563757e8685d014e7ab9401df151a 100644 (file)
@@ -2,7 +2,7 @@
  * @file containerSettings.h
  * @brief Contains the ContainerSettings class
  * @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr)
- * @date  2011-05-19
+ * @date  2011-05-24
  */
 
 #ifndef BUTTONGROUPSETTINGS_H_
@@ -10,7 +10,9 @@
 
 #include <list>
 #include <map>
+#include <vector>
 #include <iostream>
+#include "structBCSettings.h"
 #include "system.h"
 #include "functor.h"
 
@@ -30,6 +32,20 @@ namespace creaButtonContainer
                 */
                class ContainerSettings
                {
+                       public:
+                               //typedef definition
+                               // ----------------------------------------------------------------------------------
+                               /*!     @typedef creaButtonContainer::model::BCSettingsStruct BCSettingsStruct;
+                                *      @brief Defines the BCSettingsStruct type.
+                                */
+                               typedef creaButtonContainer::model::BCSettingsStruct BCSettingsStruct;
+                               // ----------------------------------------------------------------------------------
+                               /*!     @typedef std::vector< BCPSettingsStruct* > BCStructVectorType;
+                                *      @brief Defines the BCStructVectorType type.
+                                */
+                               typedef std::vector< BCSettingsStruct* > BCStructVectorType;
+                               // ----------------------------------------------------------------------------------
+                               //end of typedef definition
                        public:
                                // ----------------------------------------------------------------------------------
                                /*! @fn ContainerSettings::ContainerSettings( )
@@ -44,28 +60,28 @@ namespace creaButtonContainer
                                ~ContainerSettings( );
                                // ----------------------------------------------------------------------------------
                                /*! @fn ButtonGroupMap ContainerSettings::GetButtonGroupContainer( )
-                                *      @brief This function returns a container of buttons ordered by group.
+                                *      @brief This method returns a container of buttons ordered by group.
                                 *      @return ButtonGroupMap A container with buttons
                                 */
                                ButtonGroupMap
                                GetButtonGroupContainer( );
                                // ----------------------------------------------------------------------------------
                                /*! @fn KeyMapList ContainerSettings::GetGroupNameList( )
-                                *      @brief This function returns a container with the name of the groups.
+                                *      @brief This method returns a container with the name of the groups.
                                 *      @return KeyMapList A list with the name of the button groups.
                                 */
                                KeyMapList
                                GetGroupNameList( );
                                // ----------------------------------------------------------------------------------
                                /*! void ContainerSettings::SetButtonGroupContainer( ButtonGroupMap m_ButtonGroupContainer )
-                                *      @brief This function allows to create the ButtonGroupContainer.
+                                *      @brief This method allows to create the ButtonGroupContainer.
                                 *      @param bgContainer The ButtonGroupMap with all buttons.
                                 */
                                void
                                SetButtonGroupContainer( ButtonGroupMap bgContainer );
                                // ----------------------------------------------------------------------------------
                                /*! void ContainerSettings::SetGroupNameList( KeyMapList gNameList )
-                                * @brief This function sets a container with the name of the groups.
+                                * @brief This method sets a container with the name of the groups.
                                 * @param gNameList the KeyMapList with all groupNames.
                                 */
                                void
@@ -75,7 +91,7 @@ namespace creaButtonContainer
                                 * @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.
+                                * @brief This method 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.
@@ -89,7 +105,22 @@ namespace creaButtonContainer
                                    const std::string iconpath, const std::string buttonDescription,
                                    FunctionEventType event );
                                // ----------------------------------------------------------------------------------
-
+                               /*! @fn void AddButton( BCSettingsStruct* info );
+                                *      @brief This method adds a new button to the container.
+                                *      @exception std::bad_alloc
+                                *      @param info
+                                */
+                               void
+                               AddButton( BCSettingsStruct* info );
+                               // ----------------------------------------------------------------------------------
+                               /*! @fn void AddButtons( BCStructVectorType infoList );
+                                *      @brief This method adds new buttons to the container.
+                                *      @exception std::bad_alloc
+                                *      @param infoList
+                                */
+                               void
+                               AddButtons( BCStructVectorType infoList );
+                               // ----------------------------------------------------------------------------------
                        private:
                                ButtonGroupMap m_ButtonGroupContainer; //! <std::map< std::string, ButtonList > View pointer.
                                KeyMapList m_GroupNameList; //! <ButtonContainerPanel View pointer.