4#include <QtCore/qmath.h>
12 if (QAccessibleActionInterface *actionIface = iface->actionInterface()) {
13 if (actionIface->actionNames().contains(actionName)) {
14 actionIface->doAction(actionName);
24 if (QAccessibleActionInterface *actionIface = iface->actionInterface())
25 actions = actionIface->actionNames();
27 if (iface->valueInterface()) {
28 if (!actions.contains(QAccessibleActionInterface::increaseAction()))
29 actions << QAccessibleActionInterface::increaseAction();
30 if (!actions.contains(QAccessibleActionInterface::decreaseAction()))
31 actions << QAccessibleActionInterface::decreaseAction();
42 if (actionName != QAccessibleActionInterface::increaseAction()
43 && actionName != QAccessibleActionInterface::decreaseAction())
46 QAccessibleValueInterface *valueIface = iface->valueInterface();
50 const QVariant currentVariant = valueIface->currentValue();
51 double stepSize = valueIface->minimumStepSize().
toDouble(&success);
53 const double min = valueIface->minimumValue().toDouble(&success);
56 const double max = valueIface->maximumValue().toDouble(&success);
59 stepSize = (max - min) / 10;
60 const int typ = currentVariant.
userType();
61 if (typ != QMetaType::Float && typ != QMetaType::Double) {
63 stepSize =
qCeil(stepSize);
66 const double current = currentVariant.
toDouble(&success);
69 if (actionName == QAccessibleActionInterface::decreaseAction())
71 valueIface->setCurrentValue(current + stepSize);
\macro QT_RESTRICTED_CAST_FROM_ASCII
double toDouble(bool *ok=nullptr) const
Returns the variant as a double if the variant has userType() \l QMetaType::Double,...
QStringList effectiveActionNames(QAccessibleInterface *iface)
static bool performAction(QAccessibleInterface *iface, const QString &actionName)
bool performEffectiveAction(QAccessibleInterface *iface, const QString &actionName)
Combined button and popup list for selecting options.
bool qFuzzyIsNull(qfloat16 f) noexcept