own_data = false;
observer = new DataObserver(*this);
+ for(vector<Item *>::iterator i=items.begin(); i!=items.end(); ++i)
+ delete *i;
+ items.clear();
+ unsigned n_items = data->size();
+ for(unsigned i=0; i<n_items; ++i)
+ {
+ Item *item = create_item(i);
+ add(*item);
+ items.push_back(item);
+ }
+
items_changed();
}
items[sel_index]->set_active(false);
if(i<0)
sel_index = -1;
- else
+ else if(i!=sel_index)
{
sel_index = i;
items[sel_index]->set_active(true);
DataFile::DerivedObjectLoader<List, Widget::Loader>(l)
{
add("item", &Loader::item);
+ add("view_size", &List::view_size);
}
void List::Loader::item(const string &v)