+ Item *item = 0;
+ if(item_factory)
+ item = item_factory->create_item(index);
+ else
+ item = new BasicItem(data->get_string(index));
+ add(*item);
+ item->autosize();
+ item->signal_autosize_changed.connect(sigc::bind(sigc::mem_fun(this, &List::item_autosize_changed), item));
+ return item;
+}
+
+void List::set_view_size(unsigned s)
+{
+ view_size = s;
+ signal_autosize_changed.emit();
+}
+
+void List::set_view_all()
+{
+ set_view_size(0);