]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/creaPanelButtonContainer/buttonContainerSettings.cxx
Diego Caceres: creaButtonContainer & creaPanelButtonContainer changes
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / creaPanelButtonContainer / buttonContainerSettings.cxx
index 056158ad6a16658a0f92e228698a708b40f4205f..044e6e0562bae1c05e57a3195714c1b1d8cca77d 100644 (file)
@@ -79,14 +79,46 @@ namespace creaPanelButtonContainer
 
        void
        ButtonContainerSettings::AddButton( const std::string & groupName,
-           const std::string buttonName, const std::string iconpath,
-           const std::string buttonDescription, PanelButton panel )
+           const std::string &buttonName, const std::string &iconpath,
+           const std::string &buttonDescription, PanelButton panel )
        {
                //builds the button information
+               panel->Show( false );
                ButtonPair* pair = new ButtonPair( new ButtonInfo( buttonName, iconpath ),
                    new ActionButton( buttonDescription, panel ) );
-               panel->Show( false );
+               for( KeyMapList::iterator it = this->m_GroupNameList.begin( ); it
+                   != this->m_GroupNameList.end( ); ++it )
+               {
+                       if ( ( *it ).compare( groupName ) == 0 )
+                       {
+                               this->m_ButtonGroupContainer[ groupName ].push_back( pair );
+                               return;
+                       }//fi
+               }//rof
+               this->m_GroupNameList.push_back( groupName );
                this->m_ButtonGroupContainer[ groupName ].push_back( pair );
        }
+
+       void
+       ButtonContainerSettings::AddButton( const BCSettingsStruct &info )
+       {
+               //builds the button information
+               info.panel->Show( false );
+               ButtonPair* pair = new ButtonPair(
+                   new ButtonInfo( info.buttonName, info.iconpath ),
+                   new ActionButton( info.buttonDescription, info.panel ) );
+               for( KeyMapList::iterator it = this->m_GroupNameList.begin( ); it
+                   != this->m_GroupNameList.end( ); ++it )
+               {
+                       if ( ( *it ).compare( info.groupName ) == 0 )
+                       {
+                               this->m_ButtonGroupContainer[ info.groupName ].push_back( pair );
+                               return;
+                       }//fi
+               }//rof
+               this->m_GroupNameList.push_back( info.groupName );
+               this->m_ButtonGroupContainer[ info.groupName ].push_back( pair );
+       }
+
 }//ecapseman