/************************************************************************
    Get a pointer to the next selected item using internal counter
************************************************************************/
ItemEntry* ItemListbox::getNextSelectedItem() const
{
    if (!d_multiSelect)
    {
        return 0;
    }
    return findSelectedItem(d_nextSelectionIndex);
}
/************************************************************************
    Get a pointer to the first selected item
************************************************************************/
ItemEntry* ItemListbox::getFirstSelectedItem(size_t start_index) const
{
    if (!d_multiSelect)
    {
        return d_lastSelected;
    }
    return findSelectedItem(start_index);
}
Beispiel #3
0
void ButtonSet::setSelectedItem(int index)
{
  Item* sel = findSelectedItem();

  if (!sel || sel->getIndex() != index) {
    sel->setSelected(false);
    m_items[index]->setSelected(true);
  }
}
Beispiel #4
0
void AMenu::selectPrevious()
{
  auto iter = findSelectedItem();
  if ( iter != _items.end() )
  {
    (*iter)->deselect();
    iter =  (iter == _items.begin() ) ? _items.end() - 1 : std::prev(iter);
    (*iter)->select();
  }
  else
  {
    selectFirst();
  }
}
Beispiel #5
0
void AMenu::selectNext()
{
  auto iter = findSelectedItem();
  if ( iter != _items.end() )
  {
    (*iter)->deselect();
    iter = ( iter == _items.end() - 1 ) ? _items.begin() : std::next(iter);
    (*iter)->select();
  }
  else
  {
    selectFirst();
  }
}
Beispiel #6
0
AMenuItemPtr AMenu::getSelectedItem()
{
  auto iter = findSelectedItem();
  return iter != _items.end() ? *iter : AMenuItemPtr();
}