/*
- Copyright (C) 2012 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
wxFlexGridSizer* table = new wxFlexGridSizer (2, DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP);
table->AddGrowableCol (0, 1);
- s->Add (table, 1, wxALL | wxEXPAND, 8);
+ s->Add (table, 1, wxEXPAND);
_list = new wxListCtrl (this, wxID_ANY, wxDefaultPosition, wxSize (columns.size() * 200, height), wxLC_REPORT | wxLC_SINGLE_SEL);
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->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&EditableList::add_clicked, this));
_copy->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&EditableList::copy_clicked, this));
_edit->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&EditableList::edit_clicked, this));
}
+ void refresh ()
+ {
+ _list->DeleteAllItems ();
+
+ std::vector<T> current = _get ();
+ for (typename std::vector<T>::iterator i = current.begin (); i != current.end(); ++i) {
+ add_to_control (*i);
+ }
+ }
+
private:
void add_to_control (T item)
}
std::vector<T> all = _get ();
- assert (item >= 0 && item < int (all.size ()));
+ DCPOMATIC_ASSERT (item >= 0 && item < int (all.size ()));
T copy (all[item]);
add_to_control (copy);
}
std::vector<T> all = _get ();
- assert (item >= 0 && item < int (all.size ()));
+ DCPOMATIC_ASSERT (item >= 0 && item < int (all.size ()));
S* dialog = new S (this);
dialog->set (all[item]);