]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/creaPanelButtonContainer/creaPanelButtonContainer.cxx
#2620 creaMaracasVisu Feature New Normal - creaPanelButtonContainer New wxWidget...
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / creaPanelButtonContainer / creaPanelButtonContainer.cxx
index b23fe4bfeae59092422ad45eb45128c44e3fdcfe..8024f4aacb6b1402220d417f8cf16c3a54136ed8 100644 (file)
@@ -103,7 +103,8 @@ namespace creaPanelButtonContainer
                        TConcreteFunctor* lFunctor = new TConcreteFunctor(this,
                                        &PanelButtonContainer::GenericListEvent);
 
-                       this->m_EventPanel = new wxPanel(this);
+                       this->m_EmptyPanel = new wxPanel(this);
+                       this->m_EventPanel = this->m_EmptyPanel;
 
                        this->m_PanelUp = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize,
                                        wxTAB_TRAVERSAL, _T("ListConfigContainerPanel"));
@@ -126,8 +127,10 @@ namespace creaPanelButtonContainer
                                        wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL
                                                        | wxALIGN_CENTER_VERTICAL, 5);
 
+                       wxBitmap btmSettings(Settings_xpm); //Icon of Button
+
                        this->m_ConfigButton = new wxBitmapButton(this->m_PanelUp, -1,
-                                       wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW,
+                                       btmSettings, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW,
                                        wxDefaultValidator, _T("Config"));
 
                        mainSizer->Add(this->m_ConfigButton, wxGBPosition(1, 2), wxDefaultSpan,
@@ -154,7 +157,29 @@ namespace creaPanelButtonContainer
                                        wxCommandEventHandler(PanelButtonContainer::OnConfigButton));
 
                }
+               else if (type == 3)
+               {
+                       //MLER
+                       TConcreteFunctor* lFunctor = new TConcreteFunctor(this,
+                       &PanelButtonContainer::GenericListEvent);
 
+                       this->m_EventPanel = new wxPanel(this);
+                       std::cout << "MLER Type 3; new ComboBox" << std::endl;
+
+                       this->m_ComboBoxPanel = new ComboBox(this, -1,
+                       this->m_ButtonContainerSettings->GetItemsVector(), lFunctor);
+
+                       //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_ComboBoxPanel,
+                               wxAuiPaneInfo().Name(_T("ComboBoxContainerPanel")).DefaultPane().Caption(
+                               _("ComboBoxContainerPanel")).PinButton().CaptionVisible(true).CloseButton(
+                               false).Center().Resizable(true));
+               }
                //End MLER
 
                this->m_AuiManager->Update();
@@ -237,19 +262,28 @@ namespace creaPanelButtonContainer
        void PanelButtonContainer::OnConfigButton(wxCommandEvent& event)
        {
 
-               this->m_ListConfigDialog = new ListConfigDialog(this, -1, _("Config"),
+               this->m_ListConfigDialog = new ListConfigDialog(this, -1, _("Settings"),
                                this->m_ListWxPanel, this->m_CurrentWxPanel);
 
                std::cout << "Button Event" << std::endl;
 
+               this->m_EventPanel->Show(false);
+
                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->GetListBox()->Deselect(
+                               this->m_CurrentWxPanel->GetListBox()->GetSelection()); //Deselected item
                this->m_CurrentWxPanel->Update();
                this->m_ListWxPanel->Show(false);
                this->m_EventPanel->Show(false);
+               this->m_EventPanel = this->m_EmptyPanel; //Management Empty Panel
+
+               this->m_AuiManager->GetPane(_T("EventPanel")).window = this->m_EventPanel;
                this->m_AuiManager->Update();
+
        }
        //End MLER
 // ----------------------------------------------------------------------------------