]> 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 a7a0fc1c689e98f9c4c75330042c4836793ee391..b23fe4bfeae59092422ad45eb45128c44e3fdcfe 100644 (file)
@@ -39,9 +39,9 @@ namespace creaPanelButtonContainer
 
 //(*EventTable(ButtonContainerPanel)
 //*)
-       END_EVENT_TABLE()
+       END_EVENT_TABLE ()
 // ----------------------------------------------------------------------------------
-       typedef creaButtonContainer::model::TConcreteFunctor< PanelButtonContainer > TConcreteFunctor;
+       typedef creaButtonContainer::model::TConcreteFunctor<PanelButtonContainer> TConcreteFunctor;
 // ----------------------------------------------------------------------------------
        PanelButtonContainer::PanelButtonContainer(wxWindow* parent,
                        ButtonContainerSettings* bcSettings, int type)
@@ -51,7 +51,8 @@ namespace creaPanelButtonContainer
                this->m_ButtonContainerSettings = bcSettings;
 
                //Using AuiManager to Manage the Panels
-               this->m_AuiManager = new wxAuiManager(this, wxAUI_MGR_DEFAULT);
+               this->m_AuiManager = new wxAuiManager(this,
+                               wxAUI_MGR_DEFAULT | wxFULL_REPAINT_ON_RESIZE);
 
                if (type == 0)
                {
@@ -76,6 +77,7 @@ namespace creaPanelButtonContainer
                }
                else if (type == 1)
                {
+                       //MLER
                        TConcreteFunctor* lFunctor = new TConcreteFunctor(this,
                                        &PanelButtonContainer::GenericListEvent);
 
@@ -105,33 +107,37 @@ namespace creaPanelButtonContainer
 
                        this->m_PanelUp = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize,
                                        wxTAB_TRAVERSAL, _T("ListConfigContainerPanel"));
-                       wxBoxSizer* mainSizer = new wxBoxSizer(wxHORIZONTAL);
+                       wxGridBagSizer* mainSizer = new wxGridBagSizer(0, 0);
+                       mainSizer->AddGrowableCol(1);
+                       mainSizer->AddGrowableRow(0);
 
                        //=======
-                       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);
+                       mainSizer->Add(this->m_ListWxPanel, wxGBPosition(0, 0), wxDefaultSpan,
+                                       wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL
+                                                       | wxALIGN_CENTER_VERTICAL, 5);
+                       mainSizer->Add(this->m_CurrentWxPanel, wxGBPosition(0, 1), wxDefaultSpan,
+                                       wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL
+                                                       | wxALIGN_CENTER_VERTICAL, 5);
+
+                       this->m_ConfigButton = new wxBitmapButton(this->m_PanelUp, -1,
+                                       wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW,
+                                       wxDefaultValidator, _T("Config"));
 
-                       this->m_ConfigButton = new wxButton(this->m_PanelUp, -1, _("Configurar"), wxDefaultPosition,
-                                       wxDefaultSize, 0, wxDefaultValidator, _("Configurar"));
+                       mainSizer->Add(this->m_ConfigButton, wxGBPosition(1, 2), wxDefaultSpan,
+                                       wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL, 5);
 
-                       buttonSizer->Add(this->m_ConfigButton, 0, wxEXPAND);
-                       mainSizer->Add(buttonSizer, 0, wxEXPAND | wxALL, 14);
                        //=======
 
                        this->m_PanelUp->SetSizer(mainSizer);
+                       mainSizer->Fit(this->m_PanelUp);
+                       mainSizer->SetSizeHints(this->m_PanelUp);
 
                        //Bottom Panel
                        this->m_AuiManager->AddPane(this->m_EventPanel,
@@ -145,11 +151,11 @@ namespace creaPanelButtonContainer
                                                        false).Center().Resizable(true));
 
                        this->Connect(wxEVT_COMMAND_BUTTON_CLICKED,
-                                                                                       wxCommandEventHandler(PanelButtonContainer::OnConfigButton));
+                                       wxCommandEventHandler(PanelButtonContainer::OnConfigButton));
 
                }
 
-               //MLER
+               //End MLER
 
                this->m_AuiManager->Update();
        }
@@ -228,23 +234,25 @@ namespace creaPanelButtonContainer
        }
 
 // ----------------------------------------------------------------------------------
-       void
-               PanelButtonContainer::OnConfigButton ( wxCommandEvent& event )
-               {
+       void PanelButtonContainer::OnConfigButton(wxCommandEvent& event)
+       {
 
-                       this->m_ListConfigDialog = new ListConfigDialog(this,-1,_("Config"), this->m_ListWxPanel, this->m_CurrentWxPanel);
+               this->m_ListConfigDialog = new ListConfigDialog(this, -1, _("Config"),
+                               this->m_ListWxPanel, this->m_CurrentWxPanel);
 
-                       std::cout<< "Button Event"<<std::endl;
+               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);
-               }
-       // ----------------------------------------------------------------------------------
+               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_ListWxPanel->Show(false);
+               this->m_EventPanel->Show(false);
+               this->m_AuiManager->Update();
+       }
+       //End MLER
+// ----------------------------------------------------------------------------------
 
 }//ecapseman