namespace view
{
ListConfigDialog::ListConfigDialog(wxWindow* parent, wxWindowID id,
- const wxString& title, ListWx* modelList, ListWx* currentList)
- : wxDialog(parent, id, title)
+ const wxString& title, ListWx* modelList, ListWx* currentList) :
+ wxDialog(parent, id, title, wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxFULL_REPAINT_ON_RESIZE)
{
- std::cout << "MLER | ListConfigPanel::ListConfigPanel()" << std::endl;
-
this->m_OriginalListWx = modelList;
this->m_OriginalListWx->Reparent(this);
this->m_OriginalListWx->Show(true);
this->m_OriginalListWx->SetFunctorEnabled(false);
- //this->m_OriginalListWx->FillList();
this->m_CurrentListWx = currentList;
this->m_CurrentListWx->Reparent(this);
this->m_CurrentListWx->SetFunctorEnabled(false);
this->m_CurrentListWx->Show(true);
- //this->m_CurrentListWx->FillList();
-
- wxFlexGridSizer* sizer = new wxFlexGridSizer(2, 1, 0, 0);
- this->SetSizer(sizer);
-
- wxBoxSizer* sizerUp = new wxBoxSizer(wxHORIZONTAL);
-
- sizerUp->Add(this->m_OriginalListWx, 0, wxEXPAND);
- //========
-
- wxPanel* panel2 = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize,
- wxTAB_TRAVERSAL, _T("Panel 2"));
- wxBoxSizer* sizerList2 = new wxBoxSizer(wxVERTICAL);
-
- buttonAdd = new wxButton(panel2, 1, _(">"), wxDefaultPosition,
- wxDefaultSize, 0, wxDefaultValidator, _T("Add"));
- sizerList2->Add(buttonAdd, 0, wxEXPAND);
-
- buttonDel = new wxButton(panel2, 2, _("<"), wxDefaultPosition,
- wxDefaultSize, 0, wxDefaultValidator, _T("Delete"));
- sizerList2->Add(buttonDel, 0, wxEXPAND);
-
- panel2->SetSizer(sizerList2);
- sizerList2->Fit(panel2);
- sizerList2->SetSizeHints(panel2);
-
- sizerUp->Add(panel2, 0, wxEXPAND);
-
- //========
-
- sizerUp->Add(this->m_CurrentListWx, 0, wxEXPAND);
-
- //=======
- wxPanel* panel5 = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize,
- wxTAB_TRAVERSAL, _T("Panel 5"));
- wxBoxSizer* sizerList4 = new wxBoxSizer(wxVERTICAL);
-
- upButton = new wxButton(panel5, 3, _("/\\"), wxDefaultPosition,
- wxDefaultSize, 0, wxDefaultValidator, _T("upButton"));
- sizerList4->Add(upButton, 0, wxEXPAND);
-
- downButton = new wxButton(panel5, 4, _("V"), wxDefaultPosition,
- wxDefaultSize, 0, wxDefaultValidator, _T("downButton"));
- sizerList4->Add(downButton, 0, wxEXPAND);
-
- panel5->SetSizer(sizerList4);
- sizerList4->Fit(panel5);
- sizerList4->SetSizeHints(panel5);
- sizerUp->Add(panel5, 0, wxEXPAND);
+ this->m_LastStatus = this->m_CurrentListWx->GetListBox()->GetStrings();
+
+ wxGridBagSizer* dialogSizer = new wxGridBagSizer(0, 0);
+ dialogSizer->AddGrowableCol(0);
+ dialogSizer->AddGrowableRow(0);
+
+ //Top Sizer
+ wxGridBagSizer* topSizer = new wxGridBagSizer(0, 0);
+ topSizer->AddGrowableCol(0);
+ topSizer->AddGrowableCol(2);
+ topSizer->AddGrowableRow(0);
+ topSizer->Add(this->m_OriginalListWx, wxGBPosition(0, 0), wxDefaultSpan,
+ wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL
+ | wxALIGN_CENTER_VERTICAL, 5);
+ wxBoxSizer* boxSizer1 = new wxBoxSizer(wxVERTICAL);
+
+ wxBitmap AddIcon(ArrowNextG_xpm); //Icon of button
+
+ this->m_AddButton = new wxBitmapButton(this, 1, AddIcon,
+ wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW, wxDefaultValidator,
+ _T(">"));
+
+ boxSizer1->Add(this->m_AddButton, 1,
+ wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL, 5);
+
+ wxBitmap DeleteIcon(ArrowBackG_xpm); //Icon of button
+
+ this->m_RemoveButton = new wxBitmapButton(this, 2, DeleteIcon,
+ wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW, wxDefaultValidator,
+ _T("<"));
+ boxSizer1->Add(this->m_RemoveButton, 1,
+ wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL, 5);
+ topSizer->Add(boxSizer1, wxGBPosition(0, 1), wxDefaultSpan,
+ wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL, 5);
+
+ topSizer->Add(this->m_CurrentListWx, wxGBPosition(0, 2), wxDefaultSpan,
+ wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL
+ | wxALIGN_CENTER_VERTICAL, 5);
+ wxBoxSizer* boxSizer2 = new wxBoxSizer(wxVERTICAL);
+
+ wxBitmap TopIcon(ArrowTopG_xpm); //Icon of button
+
+ this->m_UpButton = new wxBitmapButton(this, 3, TopIcon,
+ wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW, wxDefaultValidator,
+ _T("+"));
+ boxSizer2->Add(this->m_UpButton, 1,
+ wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL, 5);
+
+
+ wxBitmap DownIcon(ArrowDownG_xpm); //Icon of button
+
+ this->m_DownButton = new wxBitmapButton(this, 4, DownIcon,
+ wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW, wxDefaultValidator,
+ _T("-"));
+ boxSizer2->Add(this->m_DownButton, 1,
+ wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL, 5);
+ topSizer->Add(boxSizer2, wxGBPosition(0, 3), wxDefaultSpan,
+ wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL, 5);
+ dialogSizer->Add(topSizer, wxGBPosition(0, 0), wxDefaultSpan,
+ wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL
+ | wxALIGN_CENTER_VERTICAL, 5);
+
+ //Bottom Sizer
+
+ wxBoxSizer* bottomSizer = new wxBoxSizer(wxHORIZONTAL);
+ bottomSizer->Add(0, 0, 1,
+ wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL, 5);
+ this->m_CancelButton = new wxButton(this, 5, _("Cancel"),
+ wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator,
+ _T("Cancel"));
+ bottomSizer->Add(this->m_CancelButton, 1,
+ wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL, 5);
+ this->m_OkButton = new wxButton(this, 6, _("Ok"), wxDefaultPosition,
+ wxDefaultSize, 0, wxDefaultValidator, _T("Ok"));
+ bottomSizer->Add(this->m_OkButton, 1,
+ wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL, 5);
+ bottomSizer->Add(0, 0, 1,
+ wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL, 5);
+ dialogSizer->Add(bottomSizer, wxGBPosition(1, 0), wxDefaultSpan,
+ wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL, 5);
+ this->SetSizer(dialogSizer);
+ dialogSizer->Fit(this);
+ dialogSizer->SetSizeHints(this);
- //========
- wxBoxSizer* sizerBotones = new wxBoxSizer(wxHORIZONTAL);
- wxPanel* panel4 = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize,
- wxTAB_TRAVERSAL, _T("Panel 4"));
-
- okButton = new wxButton(panel4, 5, _("Ok"), wxPoint(0, 8), wxDefaultSize,
- 0, wxDefaultValidator, _T("Ok"));
- cancelButton = new wxButton(panel4, 6, _("Cancel"), wxPoint(88, 8),
- wxDefaultSize, 0, wxDefaultValidator, _T("Cancel"));
-
- sizerBotones->Add(panel4, 0, wxEXPAND);
-
- sizer->Add(sizerUp, 0, wxEXPAND);
- sizer->Add(sizerBotones, 1, wxALL | wxALIGN_CENTER_HORIZONTAL);
//---------------------------------------------------------------------------------------------
- // Manejo de Eventos
-
- //Evento Cancel
- Connect(6, wxEVT_COMMAND_BUTTON_CLICKED,
- (wxObjectEventFunction) & ListConfigDialog::OnCancel);
-
- //EventoSeleccionarLista
- //Connect(wxEVT_COMMAND_LISTBOX_SELECTED,wxCommandEventHandler(ListConfigPanel::ListItemEvent));
-
- //EventoAdd
+ // Events
+ //Add
Connect(1, wxEVT_COMMAND_BUTTON_CLICKED,
- (wxObjectEventFunction) & ListConfigDialog::OnAdd);
+ (wxObjectEventFunction) &ListConfigDialog::OnAdd);
- //EventoOk
- Connect(5, wxEVT_COMMAND_BUTTON_CLICKED,
- (wxObjectEventFunction) & ListConfigDialog::OnOk);
-
- //EventoDelete
+ //Remove
Connect(2, wxEVT_COMMAND_BUTTON_CLICKED,
- (wxObjectEventFunction) & ListConfigDialog::OnDelete);
+ (wxObjectEventFunction) &ListConfigDialog::OnDelete);
- //EventoUp
+ //Up
Connect(3, wxEVT_COMMAND_BUTTON_CLICKED,
- (wxObjectEventFunction) & ListConfigDialog::OnMoveUp);
+ (wxObjectEventFunction) &ListConfigDialog::OnMoveUp);
- //EventoUp
+ //Down
Connect(4, wxEVT_COMMAND_BUTTON_CLICKED,
- (wxObjectEventFunction) & ListConfigDialog::OnMoveDown);
+ (wxObjectEventFunction) &ListConfigDialog::OnMoveDown);
+
+ //Cancel
+ Connect(5, wxEVT_COMMAND_BUTTON_CLICKED,
+ (wxObjectEventFunction) &ListConfigDialog::OnCancel);
+
+ //Ok
+ Connect(6, wxEVT_COMMAND_BUTTON_CLICKED,
+ (wxObjectEventFunction) &ListConfigDialog::OnOk);
}
void ListConfigDialog::OnAdd(wxCommandEvent& event)
{
wxString itSelect = m_OriginalListWx->GetListBox()->GetStringSelection();
- int v;
std::cout << "Count = " << this->m_CurrentListWx->GetListBox()->GetCount()
<< std::endl;
if (!itSelect.IsEmpty())
}
void ListConfigDialog::OnOk(wxCommandEvent& event)
{
+
this->EndModal(1);
}
void ListConfigDialog::OnCancel(wxCommandEvent& event)
{
- Close();
+
+ this->m_CurrentListWx->GetListBox()->Clear();
+ this->m_CurrentListWx->GetListBox()->Append(this->m_LastStatus);
+ this->Close();
}
}
}