]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/creaPanelButtonContainer/creaPanelButtonContainer.cxx
#2516 creaMaracasVisu Feature New Normal - creaPanelButtonContainer ListPanel with...
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / creaPanelButtonContainer / creaPanelButtonContainer.cxx
index 23feb3e1534987a2b929499142042159ebfef691..a7a0fc1c689e98f9c4c75330042c4836793ee391 100644 (file)
@@ -71,8 +71,8 @@ namespace creaPanelButtonContainer
                        //Top Panel
                        this->m_AuiManager->AddPane(this->m_ButtonContainerPanel,
                                        wxAuiPaneInfo().Name(_T("ButtonContainerPanel")).DefaultPane().Caption(
-                                                       _("ButtonContainerPanel")).PinButton().CaptionVisible(
-                                                       true).CloseButton(false).Center().Resizable(true));
+                                                       _("ButtonContainerPanel")).PinButton().CaptionVisible(true).CloseButton(
+                                                       false).Center().Resizable(true));
                }
                else if (type == 1)
                {
@@ -93,14 +93,61 @@ namespace creaPanelButtonContainer
                        //Top Panel
                        this->m_AuiManager->AddPane(this->m_ListWxPanel,
                                        wxAuiPaneInfo().Name(_T("ListContainerPanel")).DefaultPane().Caption(
-                                                       _("ListContainerPanel")).PinButton().CaptionVisible(
-                                                       true).CloseButton(false).Center().Resizable(true));
+                                                       _("ListContainerPanel")).PinButton().CaptionVisible(true).CloseButton(
+                                                       false).Center().Resizable(true));
                }
-               else if(type == 2)
+               else if (type == 2)
                {
+                       TConcreteFunctor* lFunctor = new TConcreteFunctor(this,
+                                       &PanelButtonContainer::GenericListEvent);
 
-               }
+                       this->m_EventPanel = new wxPanel(this);
+
+                       this->m_PanelUp = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize,
+                                       wxTAB_TRAVERSAL, _T("ListConfigContainerPanel"));
+                       wxBoxSizer* mainSizer = new wxBoxSizer(wxHORIZONTAL);
+
+                       //=======
+                       wxBoxSizer* listSizer = new wxBoxSizer(wxVERTICAL);
+
+                       //Original List
+                       this->m_ListWxPanel = new ListWx(this->m_PanelUp, -1,
+                                       this->m_ButtonContainerSettings->GetItemsVector(), lFunctor);
+                       this->m_ListWxPanel->Show(false);
+                       //Configurable list
+                       this->m_CurrentWxPanel = new ListWx(this->m_PanelUp, -1, lFunctor);
+                       listSizer->Add(this->m_CurrentWxPanel, 0, wxEXPAND);
+                       listSizer->Add(this->m_ListWxPanel, 0, wxEXPAND);
+                       mainSizer->Add(listSizer, 0, wxEXPAND | wxALL, 7);
 
+                       //=======
+                       //todo change button to bitmap
+                       wxBoxSizer* buttonSizer = new wxBoxSizer(wxVERTICAL);
+
+                       this->m_ConfigButton = new wxButton(this->m_PanelUp, -1, _("Configurar"), wxDefaultPosition,
+                                       wxDefaultSize, 0, wxDefaultValidator, _("Configurar"));
+
+                       buttonSizer->Add(this->m_ConfigButton, 0, wxEXPAND);
+                       mainSizer->Add(buttonSizer, 0, wxEXPAND | wxALL, 14);
+                       //=======
+
+                       this->m_PanelUp->SetSizer(mainSizer);
+
+                       //Bottom Panel
+                       this->m_AuiManager->AddPane(this->m_EventPanel,
+                                       wxAuiPaneInfo().Name(_T("EventPanel")).Caption(_("EventPanel")).CaptionVisible(
+                                                       true).MinimizeButton().MaximizeButton().CloseButton(false).Center().Resizable(
+                                                       true));
+                       //Top Panel
+                       this->m_AuiManager->AddPane(this->m_PanelUp,
+                                       wxAuiPaneInfo().Name(_T("ListContainerPanel")).DefaultPane().Caption(
+                                                       _("ListContainerPanel")).PinButton().CaptionVisible(true).CloseButton(
+                                                       false).Center().Resizable(true));
+
+                       this->Connect(wxEVT_COMMAND_BUTTON_CLICKED,
+                                                                                       wxCommandEventHandler(PanelButtonContainer::OnConfigButton));
+
+               }
 
                //MLER
 
@@ -181,6 +228,23 @@ namespace creaPanelButtonContainer
        }
 
 // ----------------------------------------------------------------------------------
+       void
+               PanelButtonContainer::OnConfigButton ( wxCommandEvent& event )
+               {
+
+                       this->m_ListConfigDialog = new ListConfigDialog(this,-1,_("Config"), this->m_ListWxPanel, this->m_CurrentWxPanel);
+
+                       std::cout<< "Button Event"<<std::endl;
+
+                       this->m_ListConfigDialog->ShowModal();//Show Dialog
+                       this->m_CurrentWxPanel->Reparent(this->m_PanelUp);
+                       this->m_CurrentWxPanel->Show(true);
+                       this->m_CurrentWxPanel->SetFunctorEnabled(true);
+                       this->m_CurrentWxPanel->Update();
+                       this->m_AuiManager->Update( );
+                       this->m_EventPanel->Show(false);
+               }
+       // ----------------------------------------------------------------------------------
 
 }//ecapseman