X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FcreaPanelButtonContainer%2FbuttonContainerSettings.cxx;h=e93c87a03fcc78994b6dda0b3a478429507dd985;hb=e1c23d053ffe93035f13802efdb19dc116e4b46c;hp=879be81aaddcb4dab32d4b01ff9cd0441abb9041;hpb=19866c24e0c00120d0a40da4d03d6eebc3e031b6;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaPanelButtonContainer/buttonContainerSettings.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaPanelButtonContainer/buttonContainerSettings.cxx index 879be81..e93c87a 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaPanelButtonContainer/buttonContainerSettings.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaPanelButtonContainer/buttonContainerSettings.cxx @@ -37,6 +37,7 @@ namespace creaPanelButtonContainer // ---------------------------------------------------------------------------------- ButtonContainerSettings::ButtonContainerSettings( ) { + } // ---------------------------------------------------------------------------------- ButtonContainerSettings::~ButtonContainerSettings( ) @@ -47,12 +48,14 @@ namespace creaPanelButtonContainer ButtonContainerSettings::ButtonGroupMap ButtonContainerSettings::GetButtonGroupContainer( ) { + std::cout<< "MLER | ButtonContainerSettings:: GetButtonGroupContainer( ) " << std::endl; return m_ButtonGroupContainer; } // ---------------------------------------------------------------------------------- ButtonContainerSettings::KeyMapList ButtonContainerSettings::GetGroupNameList( ) { + std::cout<< "MLER | ButtonContainerSettings:: GetGroupNameList( ) " << std::endl; return m_GroupNameList; } // ---------------------------------------------------------------------------------- @@ -62,13 +65,13 @@ namespace creaPanelButtonContainer { try { - std::cout<<"MLER ButtonContainerSettings // GetPanelButton "<m_GroupNameList.begin( ); it != this->m_GroupNameList.end( ); ++it ) { - std::cout<< std::endl<<"MLER ButtonContainerSettings // GetPanelButton :: it "<< *it<m_ButtonGroupContainer[ ( *it ) ]; for( ButtonList::iterator it1 = list.begin( ); it1 != list.end( ); ++it1 ) @@ -88,6 +91,35 @@ namespace creaPanelButtonContainer }//hctac return ( NULL ); } + // ---------------------------------------------------------------------------------- + ButtonContainerSettings::PanelButton + ButtonContainerSettings::GetPanelList( const StringType &buttonName ) + { + std::cout<< "MLER | ButtonContainerSettings:: GetPanelList " << std::endl; + + + try { + if(m_itemsMap.empty()) + std::cout<< "no tengo nada "<< std::endl; + + for( ItemsMap::iterator it= this->m_itemsMap.begin(); it!=this->m_itemsMap.end(); ++it ) + { + if( (*it).first.compare(buttonName) == 0 ) + return ( (*it).second ); + } + + + }catch ( std::exception& e ) + { + std::cerr + << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) " + << "exception: " << e.what( ) << std::endl; + }//hctac + return (NULL); + + } + + // ---------------------------------------------------------------------------------- ButtonContainerSettings::ButtonGroupSettings* ButtonContainerSettings::GetButtonGroupSettings( TFunctor* functor ) @@ -95,19 +127,20 @@ namespace creaPanelButtonContainer ButtonGroupSettings* settings = NULL; try { - std::cout<< std::endl<<"MLER CLASS : ButtonContainerSettings" << std::endl; - std::cout<< std::endl<<"MLER ButtonContainerSettings // GetButtonGroupSettings "<m_GroupNameList.begin( ); it != this->m_GroupNameList.end( ); ++it ) { ButtonList list = this->m_ButtonGroupContainer[ ( *it ) ]; - std::cout<<"MLER ButtonContainerSettings // GetButtonGroupSettings :: it "<< *it<first->first <AddButton( ( *it ), ( *it1 )->first->first, ( *it1 )->first->second, ( *it1 )->second->first, functor ); }//rof }//rof @@ -125,12 +158,14 @@ namespace creaPanelButtonContainer ButtonContainerSettings::SetButtonGroupContainer( ButtonGroupMap m_ButtonGroupContainer ) { + std::cout<< "MLER | ButtonContainerSettings:: SetButtonGroupContainer() " << std::endl; this->m_ButtonGroupContainer = m_ButtonGroupContainer; } // ---------------------------------------------------------------------------------- void ButtonContainerSettings::SetGroupNameList( KeyMapList m_GroupNameList ) { + std::cout<< "MLER | ButtonContainerSettings:: SetGroupNameList() " << std::endl; this->m_GroupNameList = m_GroupNameList; } @@ -142,7 +177,7 @@ namespace creaPanelButtonContainer { try { - std::cout<< std::endl<<"MLER ButtonContainerSettings // AddButton"<Show( false ); + ButtonPair* pair = new ButtonPair( new ButtonInfo( buttonName, icon ), new ActionButton( buttonDescription, panel ) ); + for( KeyMapList::iterator it = this->m_GroupNameList.begin( ); it != this->m_GroupNameList.end( ); ++it ) { @@ -184,6 +222,8 @@ namespace creaPanelButtonContainer { try { + std::cout<< "MLER | ButtonContainerSettings:: AddButton( BCPSettingsStruct* info )" << std::endl; + //builds the button information //I don't know the try catch doesn't work!! if ( info->panel == NULL ) @@ -219,14 +259,18 @@ namespace creaPanelButtonContainer // ---------------------------------------------------------------------------------- void - ButtonContainerSettings::AddButtons( BCStructVectorType infoList ) + ButtonContainerSettings::AddButtons( BCStructVectorType infoList, int type ) { + std::cout<< "MLER | ButtonContainerSettings:: AddButtons( BCStructVectorType infoList, int type )" << std::endl; try { for( BCStructVectorType::iterator it = infoList.begin( ); it != infoList.end( ); ++it ) { - this->AddButton( *it ); + if( type == 0 ) + this->AddButton( *it ); + else if( type == 1 ) + this->AddItems(*it); }//rof }//yrt catch ( std::exception& e ) @@ -241,46 +285,29 @@ namespace creaPanelButtonContainer //EED-MLER /* void - ButtonContainerSettings::AddItem(BCPSettingsStruct* info) + ButtonContainerSettings::AddItems(BCPSettingsStruct* info) + { + try { - if(info->panel == NULL) + std::cout<< "MLER | ButtonContainerSettings:: AddItems(BCPSettingsStruct* info)" << std::endl; + //builds the button information + //I don't know the try catch doesn't work!! + if ( info->panel == NULL ) { - std::cerr - << "ButtonContainerSettings::AddItem" - << "exception: NULL Pointer in panel" << std::endl; - exit(1); + std::cerr << "ButtonContainerSettings::AddButton" + << "exception: NULL Pointer in panel " << std::endl; + exit( 1 ); } - wxListItem item; - wxString myString((info->buttonName).c_str(),wxConvUTF8); - item.SetText(myString); + info->panel->Show( false ); - 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 - } + std::string mapKey = info->groupName + ":" + info->buttonName; + m_itemsMap[mapKey] = info->panel; - void - ButtonContainerSettings::AddItems(BCStructVectorType infoList) + }//yrt + catch ( const std::exception& e ) { +<<<<<<< HEAD try { for( BCStructVectorType::iterator it = infoList.begin( ); it @@ -297,6 +324,22 @@ namespace creaPanelButtonContainer }//hctac } */ +======= + std::cerr + << "ButtonContainerSettings::AddButton( BCPSettingsStruct* info )" + << "exception: " << e.what( ) << std::endl; + exit( 1 ); + }//hctac + } + + ButtonContainerSettings::ItemsMap + ButtonContainerSettings::GetItemsMap() + { + std::cout<< "MLER | ButtonContainerSettings:: GetItemsMap()" << std::endl; + return m_itemsMap; + } + +>>>>>>> b8c5a565c70ac0def1f21518afa2d847a9582d79 // ---------------------------------------------------------------------------------- }//ecapseman