]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/listWx.cxx
#2516 creaMaracasVisu Feature New Normal - creaPanelButtonContainer ListPanel with...
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / creaButtonContainer / view / listWx.cxx
index 5de552c2ff816d48b423f769209fda1f4c9b92f2..1ec058def25b119870de2f4ff80268cd75381b22 100644 (file)
@@ -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);