- _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);
- }
-
- std::vector<T> current = _get ();
- for (typename std::vector<T>::iterator i = current.begin (); i != current.end(); ++i) {
- add_to_control (*i);
+ _add = new Button (this, _("Add..."));
+ s->Add (_add, 1, wxEXPAND | wxTOP | wxBOTTOM, DCPOMATIC_BUTTON_STACK_GAP);
+ if (can_edit) {
+ _edit = new Button (this, _("Edit..."));
+ s->Add (_edit, 1, wxEXPAND | wxTOP | wxBOTTOM, DCPOMATIC_BUTTON_STACK_GAP);
+ }
+ _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);