//============================================================================== bool ComboBox::keyPressed (const KeyPress& key) { if (key.isKeyCode (KeyPress::upKey) || key.isKeyCode (KeyPress::leftKey)) { int index = getSelectedItemIndex() - 1; while (index >= 0 && ! selectIfEnabled (index)) --index; return true; } else if (key.isKeyCode (KeyPress::downKey) || key.isKeyCode (KeyPress::rightKey)) { int index = getSelectedItemIndex() + 1; while (index < getNumItems() && ! selectIfEnabled (index)) ++index; return true; } else if (key.isKeyCode (KeyPress::returnKey)) { showPopup(); return true; } return false; }
bool ComboBox::nudgeSelectedItem (int delta) { for (int i = getSelectedItemIndex() + delta; isPositiveAndBelow (i, getNumItems()); i += delta) if (selectIfEnabled (i)) return true; return false; }