//(*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)
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)
{
}
else if (type == 1)
{
+ //MLER
TConcreteFunctor* lFunctor = new TConcreteFunctor(this,
&PanelButtonContainer::GenericListEvent);
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"));
- 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);
+
+ wxBitmap btmSettings(Settings_xpm); //Icon of Button
- this->m_ConfigButton = new wxButton(this->m_PanelUp, -1, _("Configurar"), wxDefaultPosition,
- wxDefaultSize, 0, wxDefaultValidator, _("Configurar"));
+ this->m_ConfigButton = new wxBitmapButton(this->m_PanelUp, -1,
+ btmSettings, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW,
+ wxDefaultValidator, _T("Config"));
+
+ 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,
false).Center().Resizable(true));
this->Connect(wxEVT_COMMAND_BUTTON_CLICKED,
- wxCommandEventHandler(PanelButtonContainer::OnConfigButton));
+ wxCommandEventHandler(PanelButtonContainer::OnConfigButton));
}
+ else if (type == 3)
+ {
+ //MLER
+ TConcreteFunctor* lFunctor = new TConcreteFunctor(this,
+ &PanelButtonContainer::GenericListEvent);
- //MLER
+ 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();
}
}
// ----------------------------------------------------------------------------------
- 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, _("Settings"),
+ 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_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
+// ----------------------------------------------------------------------------------
}//ecapseman