void ComboBox::notifyMouseWheel(WidgetPtr _sender, int _rel) { if (mList->getItemCount() == 0) return; if (InputManager::getInstance().getKeyFocusWidget() != this) return; if (InputManager::getInstance().isCaptureMouse()) return; if (_rel > 0) { if (mItemIndex != 0) { if (mItemIndex == ITEM_NONE) mItemIndex = 0; else mItemIndex --; Base::setCaption(mList->getItemNameAt(mItemIndex)); mList->setIndexSelected(mItemIndex); mList->beginToItemAt(mItemIndex); eventComboChangePosition(this, mItemIndex); } } else if (_rel < 0) { if ((mItemIndex+1) < mList->getItemCount()) { if (mItemIndex == ITEM_NONE) mItemIndex = 0; else mItemIndex ++; Base::setCaption(mList->getItemNameAt(mItemIndex)); mList->setIndexSelected(mItemIndex); mList->beginToItemAt(mItemIndex); eventComboChangePosition(this, mItemIndex); } } }
void ComboBox::notifyListChangePosition(ListBox* _widget, size_t _position) { mItemIndex = _position; _resetContainer(false); eventComboChangePosition(this, _position); }
void ComboBox::notifyEditTextChange(EditPtr _sender) { // сбрасываем выделенный элемент if (ITEM_NONE != mItemIndex) { mItemIndex = ITEM_NONE; mList->setIndexSelected(mItemIndex); mList->beginToItemFirst(); eventComboChangePosition(this, mItemIndex); } }
void ComboBox::notifyListChangePosition(ListPtr _widget, size_t _position) { mItemIndex = _position; eventComboChangePosition(this, _position); }