protected function restoreItemsFromViewState()
{
$this->reset();
if (($itemCount = $this->getViewState('ItemCount', 0)) > 0) {
$items = $this->getItems();
$selectedIndex = $this->getSelectedItemIndex();
$editIndex = $this->getEditItemIndex();
$hasSeparator = $this->_separatorTemplate !== null || $this->getSeparatorRenderer() !== '';
$this->_header = $this->createItemInternal(-1, TListItemType::Header);
for ($i = 0; $i < $itemCount; ++$i) {
if ($hasSeparator && $i > 0) {
$this->createItemInternal($i - 1, TListItemType::Separator);
}
if ($i === $editIndex) {
$itemType = TListItemType::EditItem;
} else {
if ($i === $selectedIndex) {
$itemType = TListItemType::SelectedItem;
} else {
$itemType = $i % 2 ? TListItemType::AlternatingItem : TListItemType::Item;
}
}
$items->add($this->createItemInternal($i, $itemType));
}
$this->_footer = $this->createItemInternal(-1, TListItemType::Footer);
} else {
$this->createEmptyContent();
}
$this->clearChildState();
}