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=1ec058def25b119870de2f4ff80268cd75381b22;hb=a7017a8ade695bd14a4c7ee70b197d63b5e76765;hp=5de552c2ff816d48b423f769209fda1f4c9b92f2;hpb=8f1f70ffb361d0ccde7da40ff128cebdcfcf3f13;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 5de552c..1ec058d 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/listWx.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/listWx.cxx @@ -32,25 +32,39 @@ namespace creaButtonContainer namespace view { // ---------------------------------------------------------------------------------- - ListWx::ListWx( wxWindow* parent, wxWindowID id,ItemsMap iMap , TFunctor* functor ): wxListCtrl(parent,id) + ListWx::ListWx( wxWindow* parent, wxWindowID id,ItemsMap iMap , TFunctor* functor ): + wxPanel(parent,id) { std::cout<< "MLER | ListWx::ListWx()" << std::endl; this->m_itemsMap = iMap; this->functor = functor; - int i = 0; + + wxFlexGridSizer* sizer = new wxFlexGridSizer(1); + sizer->Add( new wxStaticText(this,-1, _("Lista"))); + sizer->AddGrowableCol(0); + this->SetSizer(sizer); + + listBox = new wxListBox(this,-1); + + 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)); + for (ItemsMap::iterator it=this->m_itemsMap.begin(); it!=this->m_itemsMap.end(); ++it) { std::string key = it->first; - long index = this->InsertItem(i, wxString(key.c_str(), wxConvUTF8)); - std::cout << "index" << index << std::endl; - this->Connect( -1, wxEVT_COMMAND_LIST_ITEM_SELECTED, - wxListEventHandler(ListWx::ListEvent) ); - i++; + listBox->Append( wxString(key.c_str(), wxConvUTF8)); + } + sizer->Add(listBox,1,wxGROW); + + } // ---------------------------------------------------------------------------------- @@ -59,14 +73,22 @@ namespace creaButtonContainer } void - ListWx::ListEvent( wxListEvent& event ) + ListWx::ListEvent( wxCommandEvent& event ) { try { std::cout<< "MLER | ListWx::ListEvent( wxListEvent& event )" << std::endl; - wxString itemNom = event.GetItem().GetText(); + // wxString itemNom = this->GetString(this->GetSelection()); + + // std::string itemNomC = std::string(itemNom.mb_str()); + + //this->functor->Call(itemNomC); + + int iSelection; + iSelection = listBox->GetSelection(); + wxString itemNom = listBox->GetString(iSelection); std::string itemNomC = std::string(itemNom.mb_str()); this->functor->Call(itemNomC);