- wxSizer* s = new wxBoxSizer (wxVERTICAL);
- _add = new wxButton (this, wxID_ANY, _("Add..."));
- s->Add (_add, 0, wxTOP | wxBOTTOM, 2);
- _copy = new wxButton (this, wxID_ANY, _("Copy..."));
- s->Add (_copy, 0, wxTOP | wxBOTTOM, 2);
- _edit = new wxButton (this, wxID_ANY, _("Edit..."));
- s->Add (_edit, 0, wxTOP | wxBOTTOM, 2);
- _remove = new wxButton (this, wxID_ANY, _("Remove"));
- s->Add (_remove, 0, wxTOP | wxBOTTOM, 2);
- table->Add (s, 0);
+ auto s = new wxBoxSizer (wxVERTICAL);
+ if (buttons & EditableListButton::NEW) {
+ _add = new Button (this, _("Add..."));
+ s->Add (_add, 1, wxEXPAND | wxTOP | wxBOTTOM, DCPOMATIC_BUTTON_STACK_GAP);
+ }
+ if (buttons & EditableListButton::EDIT) {
+ _edit = new Button (this, _("Edit..."));
+ s->Add (_edit, 1, wxEXPAND | wxTOP | wxBOTTOM, DCPOMATIC_BUTTON_STACK_GAP);
+ }
+ if (buttons & EditableListButton::REMOVE) {
+ _remove = new Button (this, _("Remove"));
+ s->Add (_remove, 1, wxEXPAND | wxTOP | wxBOTTOM, DCPOMATIC_BUTTON_STACK_GAP);
+ }
+ _sizer->Add (s, 0, wxLEFT, DCPOMATIC_SIZER_X_GAP);