//============================================================================== 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; }
std::string ListBox::getSelectedItem() { wchar_t s[255]; SendMessageW(instance, LB_GETTEXT,(WPARAM)getSelectedItemIndex(),(LPARAM)s); std::wstring wstr(s); std::string str(wstr.begin(),wstr.end()); return str; }
bool ComboBox::nudgeSelectedItem (int delta) { for (int i = getSelectedItemIndex() + delta; isPositiveAndBelow (i, getNumItems()); i += delta) if (selectIfEnabled (i)) return true; return false; }
void ComboBoxImage::paint(Graphics &g) { int idx = getSelectedItemIndex(); if ( itemPos[0] != -1 ) { if ( idx < 4 ) idx = itemPos[idx]; } g.drawImage(items, 0, 0, items.getWidth(), itemHeight, 0, idx * itemHeight, items.getWidth(), itemHeight); }
//============================================================================== bool ComboBox::keyPressed (const KeyPress& key) { bool used = false; if (key.isKeyCode (KeyPress::upKey) || key.isKeyCode (KeyPress::leftKey)) { setSelectedItemIndex (jmax (0, getSelectedItemIndex() - 1)); used = true; } else if (key.isKeyCode (KeyPress::downKey) || key.isKeyCode (KeyPress::rightKey)) { setSelectedItemIndex (jmin (getSelectedItemIndex() + 1, getNumItems() - 1)); used = true; } else if (key.isKeyCode (KeyPress::returnKey)) { showPopup(); used = true; } return used; }
void Combo::comboBoxChanged(juce::ComboBox*) { setControlValue(getNormalizedValue(float(getSelectedItemIndex()))); }