]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/creaPanelButtonContainer/buttonContainerSettings.cxx
#2497 creaMaracasVisu Feature New Normal - In container button add the list option
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / creaPanelButtonContainer / buttonContainerSettings.cxx
index 9497e0d2e2e809223a0ef610046f4df362c59ed5..879be81aaddcb4dab32d4b01ff9cd0441abb9041 100644 (file)
@@ -42,6 +42,7 @@ namespace creaPanelButtonContainer
        ButtonContainerSettings::~ButtonContainerSettings( )
        {
        }
+       
        // ----------------------------------------------------------------------------------
        ButtonContainerSettings::ButtonGroupMap
        ButtonContainerSettings::GetButtonGroupContainer( )
@@ -61,9 +62,14 @@ namespace creaPanelButtonContainer
        {
                try
                {
+                       std::cout<<"MLER ButtonContainerSettings // GetPanelButton "<<std::endl;
+
                        for( KeyMapList::iterator it = this->m_GroupNameList.begin( ); it
                            != this->m_GroupNameList.end( ); ++it )
                        {
+
+                               std::cout<< std::endl<<"MLER ButtonContainerSettings // GetPanelButton :: it "<< *it<<std::endl;
+
                                ButtonList list = this->m_ButtonGroupContainer[ ( *it ) ];
                                for( ButtonList::iterator it1 = list.begin( ); it1 != list.end( ); ++it1 )
                                {
@@ -89,15 +95,20 @@ namespace creaPanelButtonContainer
                ButtonGroupSettings* settings = NULL;
                try
                {
+                       std::cout<< std::endl<<"MLER CLASS : ButtonContainerSettings" << std::endl;
+                       std::cout<< std::endl<<"MLER ButtonContainerSettings // GetButtonGroupSettings "<<std::endl;
+
                        settings = new ButtonGroupSettings( );
                        for( KeyMapList::iterator it = this->m_GroupNameList.begin( ); it
                            != this->m_GroupNameList.end( ); ++it )
                        {
                                ButtonList list = this->m_ButtonGroupContainer[ ( *it ) ];
+
+                               std::cout<<"MLER ButtonContainerSettings // GetButtonGroupSettings :: it "<< *it<<std::endl;
+
                                for( ButtonList::iterator it1 = list.begin( ); it1 != list.end( ); ++it1 )
                                {
-                                       settings->AddButton( ( *it ), ( *it1 )->first->first,
-                                           ( *it1 )->first->second, ( *it1 )->second->first, functor );
+                                       settings->AddButton( ( *it ), ( *it1 )->first->first, ( *it1 )->first->second, ( *it1 )->second->first, functor );
                                }//rof
                        }//rof
                }//yrt
@@ -122,14 +133,17 @@ namespace creaPanelButtonContainer
        {
                this->m_GroupNameList = m_GroupNameList;
        }
+       
        // ----------------------------------------------------------------------------------
        void
        ButtonContainerSettings::AddButton( const StringType & groupName,
-           const StringType &buttonName, const StringType &iconpath,
+           const StringType &buttonName, const wxBitmap &icon,
            const StringType &buttonDescription, PanelButton panel )
        {
                try
                {
+                       std::cout<< std::endl<<"MLER ButtonContainerSettings // AddButton"<<std::endl;
+
                        //builds the button information
                        //I don't know the try catch doesn't work!!
                        if ( panel == NULL )
@@ -140,7 +154,7 @@ namespace creaPanelButtonContainer
                        }
                        panel->Show( false );
                        ButtonPair* pair = new ButtonPair(
-                           new ButtonInfo( buttonName, iconpath ),
+                           new ButtonInfo( buttonName, icon ),
                            new ActionButton( buttonDescription, panel ) );
                        for( KeyMapList::iterator it = this->m_GroupNameList.begin( ); it
                            != this->m_GroupNameList.end( ); ++it )
@@ -163,6 +177,7 @@ namespace creaPanelButtonContainer
                            << "exception: " << e.what( ) << std::endl;
                }//hctac
        }
+       
        // ----------------------------------------------------------------------------------
        void
        ButtonContainerSettings::AddButton( BCPSettingsStruct* info )
@@ -179,7 +194,7 @@ namespace creaPanelButtonContainer
                        }
                        info->panel->Show( false );
                        ButtonPair* pair = new ButtonPair(
-                           new ButtonInfo( info->buttonName, info->iconpath ),
+                           new ButtonInfo( info->buttonName, info->icon ),
                            new ActionButton( info->buttonDescription, info->panel ) );
                        for( KeyMapList::iterator it = this->m_GroupNameList.begin( ); it
                            != this->m_GroupNameList.end( ); ++it )
@@ -201,6 +216,7 @@ namespace creaPanelButtonContainer
                        exit( 1 );
                }//hctac
        }
+       
        // ----------------------------------------------------------------------------------
        void
        ButtonContainerSettings::AddButtons( BCStructVectorType infoList )
@@ -220,6 +236,68 @@ namespace creaPanelButtonContainer
                            << "exception: " << e.what( ) << std::endl;
                }//hctac
        }
+
+
+//EED-MLER
+/*
+       void
+               ButtonContainerSettings::AddItem(BCPSettingsStruct* info)
+               {
+                       if(info->panel == NULL)
+                       {
+                               std::cerr
+                               << "ButtonContainerSettings::AddItem"
+                               << "exception: NULL Pointer in panel" << std::endl;
+                               exit(1);
+                       }
+
+                       wxListItem item;
+                       wxString myString((info->buttonName).c_str(),wxConvUTF8);
+                       item.SetText(myString);
+
+                       try
+                               {
+                                       for(KeyMapList::iterator it = this->m_GroupNameList.begin( ); it
+                                           != this->m_GroupNameList.end( ); ++it )
+                                       {
+                                               if((*it).compare(info->groupName) == 0)
+                                               {
+                                                       this->m_ListGroupContainer[info->groupName].push_back(item);
+                                                       return;
+                                               }
+                                       }//rof
+                                       this->m_GroupNameList.push_back(info->groupName);
+                                       this->m_ListGroupContainer[info->groupName].push_back(item);
+
+                               }//yrt
+                               catch ( const std::exception& e )
+                               {
+                                       std::cerr
+                                   << "ContainerSettings::AddButtons( BCStructVectorType infoList ) "
+                                   << "exception: " << e.what( ) << std::endl;
+                               }//hctac
+                       }
+
+       void
+               ButtonContainerSettings::AddItems(BCStructVectorType infoList)
+               {
+                       try
+                       {
+                               for( BCStructVectorType::iterator it = infoList.begin( ); it
+                                   != infoList.end( ); ++it )
+                               {
+                                       this->AddItem(*it);
+                               }//rof
+                       }//yrt
+                       catch ( const std::exception& e )
+                       {
+                               std::cerr
+                           << "ContainerSettings::AddButtons( BCStructVectorType infoList ) "
+                           << "exception: " << e.what( ) << std::endl;
+                       }//hctac
+               }
+*/
+
 // ----------------------------------------------------------------------------------
 }//ecapseman