X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FcreaButtonContainer%2Fview%2FlistWx.cxx;h=411644c1fb74dc707a68b0fd168b9e9c48b1f667;hb=3c6c4d236dd41550927d9180688f40c127301431;hp=32d101deac3b937e106529a7aa81183689b8770d;hpb=bbd33bbb0f352d14d7068d87fcd50e02341004a9;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/listWx.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/listWx.cxx index 32d101d..411644c 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/listWx.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/listWx.cxx @@ -1,29 +1,27 @@ /*# --------------------------------------------------------------------- -# -# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image -# pour la Sant�) -# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton -# Previous Authors : Laurent Guigues, Jean-Pierre Roux -# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil -# -# This software is governed by the CeCILL-B license under French law and -# abiding by the rules of distribution of free software. You can use, -# modify and/ or redistribute the software under the terms of the CeCILL-B -# license as circulated by CEA, CNRS and INRIA at the following URL -# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html -# or in the file LICENSE.txt. -# -# As a counterpart to the access to the source code and rights to copy, -# modify and redistribute granted by the license, users are provided only -# with a limited warranty and the software's author, the holder of the -# economic rights, and the successive licensors have only limited -# liability. -# -# The fact that you are presently reading this means that you have had -# knowledge of the CeCILL-B license and that you accept its terms. -# ------------------------------------------------------------------------ */ - - + # + # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image + # pour la Sant�) + # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton + # Previous Authors : Laurent Guigues, Jean-Pierre Roux + # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil + # + # This software is governed by the CeCILL-B license under French law and + # abiding by the rules of distribution of free software. You can use, + # modify and/ or redistribute the software under the terms of the CeCILL-B + # license as circulated by CEA, CNRS and INRIA at the following URL + # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html + # or in the file LICENSE.txt. + # + # As a counterpart to the access to the source code and rights to copy, + # modify and redistribute granted by the license, users are provided only + # with a limited warranty and the software's author, the holder of the + # economic rights, and the successive licensors have only limited + # liability. + # + # The fact that you are presently reading this means that you have had + # knowledge of the CeCILL-B license and that you accept its terms. + # ------------------------------------------------------------------------ */ #include "listWx.h" @@ -31,194 +29,93 @@ namespace creaButtonContainer { namespace view { + // ---------------------------------------------------------------------------------- - ListWx::ListWx( wxWindow* parent, wxWindowID id,ItemsMap iMap , TFunctor* functor ): - wxPanel(parent,id) + ListWx::ListWx(wxWindow* parent, wxWindowID id, ItemsVector iVector, + TFunctor* functor) + : wxPanel(parent, id) { - std::cout<< "MLER | ListWx::ListWx()" << std::endl; - this->m_itemsMap = iMap; + this->m_Functor = functor; - this->functor = functor; + wxBoxSizer* sizer = new wxBoxSizer(wxHORIZONTAL); - wxFlexGridSizer* sizer = new wxFlexGridSizer(1); - sizer->Add( new wxStaticText(this,-1, _("Lista"))); - sizer->AddGrowableCol(0); this->SetSizer(sizer); - listBox = new wxListBox(this,-1); - m_functorEnabled = true; - - std::cout << "is ListBox"<< listBox->GetId()<< std::endl; - // this->Connect( -1,wxEVT_COMMAND_CHOICE_SELECTED, - // (wxObjectEventFunction) (void (wxPanel::*)(wxEvent&))(&ListWx::ListEvent) ); - //this->Connect(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, - // wxCommandEventHandler(ListWx::ListEvent)); + this->m_ListBox = new wxListBox(this, -1); + this->m_FunctorEnabled = true; this->Connect(wxEVT_COMMAND_LISTBOX_SELECTED, - wxCommandEventHandler(ListWx::ListEvent)); + wxCommandEventHandler(ListWx::ListEvent)); - //FillList(0); - - - sizer->Add(listBox,1,wxGROW); + if (!iVector.empty()) + { + for (ItemsVector::iterator it = iVector.begin(); it != iVector.end(); + ++it) + { + std::string key = it->first; + this->m_ListBox->Append(wxString(key.c_str(), wxConvUTF8)); + } + } + sizer->Add(this->m_ListBox,1,wxGROW); } - // ---------------------------------------------------------------------------------- - ListWx::ListWx( wxWindow* parent, wxWindowID id, ItemsMap iMap,TFunctor* functor, - std::string c) : wxPanel(parent,id) + ListWx::ListWx(wxWindow* parent, wxWindowID id, TFunctor* functor) { - std::cout<< "MLER | ListWx::ListWx" << std::endl; - - this->m_itemsMap = iMap; - this->functor = functor; - - wxFlexGridSizer* sizer = new wxFlexGridSizer(1); - - sizer->Add( new wxStaticText(this,-1, _("Lista Configurable"))); - sizer->AddGrowableCol(0); - this->SetSizer(sizer); - - listBox = new wxListBox(this,-1); - - std::cout << "is ListBox"<< listBox->GetId()<< std::endl; - - button = new wxButton(this, 1, _("Configurar"), - wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, wxString(c.c_str(), wxConvUTF8)); - - sizer->Add(listBox,1,wxGROW); - sizer->Add(button,2,wxGROW); - - // m_listConfigPanel = new ListConfigPanel(this,1,_("Configuracion"),m_itemsMap); - m_listConfig = new ListConfig(m_itemsMap); - - //wxEVT_COMMAND_LISTBOX_SELECTED - this->Connect(wxEVT_COMMAND_LISTBOX_SELECTED, - wxCommandEventHandler(ListWx::ListEvent)); - - //FillList(); } - // ---------------------------------------------------------------------------------- - ListWx::~ListWx( ) + ListWx::~ListWx() { - } - // ---------------------------------------------------------------------------------- - void - ListWx::FillList() - { - this->listBox->Clear(); - std::cout<<"clear"<m_itemsMap.begin(); it!=this->m_itemsMap.end(); ++it) - { - std::string key = it->first; - int v = listBox->FindString(wxString(key.c_str(), wxConvUTF8)); - if(v == -1) - listBox->Append( wxString(key.c_str(), wxConvUTF8)); - } - listBox->Update(); - this->Update(); } + // ---------------------------------------------------------------------------------- - void - ListWx::ListEvent( wxCommandEvent& event ) + void ListWx::ListEvent(wxCommandEvent& event) { - if(!this->IsFunctorEnabled()) + if (!this->IsFunctorEnabled()) return; - else{ - try + else { - std::cout<< "MLER | ListWx::ListEvent( wxListEvent& event )" << std::endl; - - int iSelection; - iSelection = listBox->GetSelection(); + try + { + std::cout << "MLER | ListWx::ListEvent( wxListEvent& event )" + << std::endl; - wxString itemNom = listBox->GetString(iSelection); - std::string itemNomC = std::string(itemNom.mb_str()); + int iSelection; + iSelection = this->m_ListBox->GetSelection(); - this->functor->Call(itemNomC); - std::cout<<"mmmmmmmmmmmmmmmmmmmmmmm"<m_ListBox->GetString(iSelection); + std::string itemNomC = std::string(itemNom.mb_str()); + this->m_Functor->Call(itemNomC); - }//yrt - catch ( const std::exception& e ) - { - std::cerr - << "ButtonContainerController::ButtonEvent( wxCommandEvent& event ) exception: " - << e.what( ) << std::endl; - }//hctac + } //yrt + catch (const std::exception& e) + { + std::cerr + << "ButtonContainerController::ButtonEvent( wxCommandEvent& event ) exception: " + << e.what() << std::endl; + } //hctac } } // ---------------------------------------------------------------------------------- - - - ListWx::ItemsMap - ListWx::GetItemsMap() - { - return m_itemsMap; - } - void ListWx::SetFunctorEnabled(const bool& enabled) { - m_functorEnabled = enabled; + this->m_FunctorEnabled = enabled; } - + // ---------------------------------------------------------------------------------- bool ListWx::IsFunctorEnabled() const { - return m_functorEnabled; - } - - ListWx::TFunctor* - ListWx::GetWxListFunctor() - { - return this->functor; - } - - void ListWx::AddItemToMap(std::string key, wxPanel* panel) - { - this->m_itemsMap[key] = panel; + return this->m_FunctorEnabled; } - wxListBox* - ListWx::GetListBox() const - { - return this->listBox; - } - - - void ListWx::DeleteItemFromMap(std::string key) - { - std::cout<< "MLER | ListConfig::DelFinalItems(std::string name)" << std::endl; - ItemsMap::iterator it1; - - //if(m_finalItems.empty()) - std::cout<<"name item -----test A"<< key <m_itemsMap.empty()) - { - for(ItemsMap::iterator it= this->m_itemsMap.begin(); it!=this->m_itemsMap.end();++it) - { - if((it->first).compare(key) == 0 ) - { - std::cout << "Item a borrar: "<< key << std::endl; - it1 = m_itemsMap.find(key); - m_itemsMap.erase(it1); - - } - } - } - std::cout<< "si borre tengo --- test 2 "<< m_itemsMap.size() << std::endl; - } - - - }//ecapseman -}//ecapseman - + } //ecapseman +} //ecapseman