void iWidgetSelectBox::draw() { _buttonRectangle.setX(static_cast<float32>(getActualWidth() - getActualHeight() - 1)); _buttonRectangle.setY(0.0f); _buttonRectangle.setWidth(static_cast<float32>(getActualHeight())); _buttonRectangle.setHeight(static_cast<float32>(getActualHeight() - 1)); if (isVisible()) { iaString displayString; if (_currentSelection >= 0 && _currentSelection < _entries.size()) { displayString = _entries[_currentSelection].first; } iWidgetManager::getInstance().getTheme()->drawSelectBox(getActualPosX(), getActualPosY(), getActualWidth(), getActualHeight(), displayString, _buttonAppearanceState, isActive()); } }
bool iWidgetSelectBox::handleMouseKeyUp(iKeyCode key) { if (!isActive()) { return false; } if (_mouseOverButton) { if (key == iKeyCode::MouseLeft) { _buttonAppearanceState = iWidgetAppearanceState::Standby; if (_selectBox == nullptr) { _selectBox = static_cast<iDialogMenu*>(iWidgetManager::getInstance().createDialog("DialogMenu")); } // TODO insuficcient if select box is within a iWidgetScroll _selectBox->setWidth(getActualWidth() - getActualHeight()); _selectBox->setX(getActualPosX() + 2); _selectBox->setY(getActualPosY() + getActualHeight() + 2); vector<iaString> entries; for (auto entry : _entries) { entries.push_back(entry.first); } _selectBox->show(entries, iDialogMenuCloseDelegate(this, &iWidgetSelectBox::onSelectionChanged)); } setKeyboardFocus(); return true; } return iWidget::handleMouseKeyUp(key); }
void iWidgetCheckBox::draw() { if (isVisible()) { iWidgetManager::getInstance().getTheme()->drawCheckBox(getActualPosX(), getActualPosY(), getActualWidth(), getActualHeight(), _text, _checked, getAppearanceState(), isActive()); } }
long PANEElement::getBottomOffset(){ return getTopOffset() + getActualHeight( getAvailableWidth() ); }