9#include <private/qquickstatechangescript_p.h>
10#include <private/qqmlcontext_p.h>
16#include <private/qqmlstringconverters_p.h>
17#include <private/qqmlglobal_p.h>
18#include <private/qqmlmetatype_p.h>
19#include <private/qqmlvaluetype_p.h>
20#include <private/qqmlproperty_p.h>
21#include <private/qqmlengine_p.h>
26#include "private/qparallelanimationgroupjob_p.h"
27#include "private/qsequentialanimationgroupjob_p.h"
28#include <QtCore/qset.h>
29#include <QtCore/qrect.h>
30#include <QtCore/qpoint.h>
31#include <QtCore/qsize.h>
32#include <QtCore/qmath.h>
59 delete d->animationInstance;
70 return d->animationInstance;
114void QQuickAbstractAnimation::notifyRunningChanged(
bool running)
117 if (
d->disableUserControl &&
d->running !=
running) {
151 const QString message = QQuickAbstractAnimation::tr(
"Cannot animate non-existent property \"%1\"").
arg(
str);
158 const QString message = QQuickAbstractAnimation::tr(
"Cannot animate read-only property \"%1\"").
arg(
str);
175 if (animGroupPriv->running && !animGroupPriv->animationDirty) {
178 if (
group->currentTime() == 0) {
180 animGroupPriv->restartFromCurrentLoop();
185 if (animGroupPriv->group)
186 animGroupPriv->animationGroupDirty();
236 if (!
d->componentComplete) {
239 d->avoidPropertyValueSourceStart =
true;
240 else if (!
d->needsDeferredSetRunning)
241 d->needsDeferredSetRunning =
true;
248 if (
d->group ||
d->disableUserControl) {
249 qmlWarning(
this) <<
"setRunning() cannot be used on non-root animation nodes.";
255 bool supressStart =
false;
256 if (
d->alwaysRunToEnd &&
d->loopCount != 1
257 &&
d->animationInstance &&
d->animationInstance->isRunning()) {
259 if (
d->loopCount == -1)
260 d->animationInstance->setLoopCount(
d->loopCount);
262 d->animationInstance->setLoopCount(
d->animationInstance->currentLoop() +
d->loopCount);
273 if (
d->animationInstance) {
274 if (
d->alwaysRunToEnd) {
275 if (
d->loopCount != 1)
276 d->animationInstance->setLoopCount(
d->animationInstance->currentLoop()+1);
278 d->animationInstance->stop();
285 if (
r ==
d->running) {
322 qmlWarning(
this) <<
"setPaused() cannot be used when animation isn't running.";
326 if (
d->group ||
d->disableUserControl) {
327 qmlWarning(
this) <<
"setPaused() cannot be used on non-root animation nodes.";
333 if (!
d->componentComplete || !
d->animationInstance)
337 d->animationInstance->pause();
339 d->animationInstance->resume();
347 d->componentComplete =
false;
353 d->componentComplete =
true;
354 if (
d->needsDeferredSetRunning) {
385 return d->alwaysRunToEnd;
391 if (
d->alwaysRunToEnd ==
f)
394 d->alwaysRunToEnd =
f;
433 if (
loops ==
d->loopCount)
443 return d->animationInstance ?
d->animationInstance->duration() : 0;
449 return d->animationInstance ?
d->animationInstance->currentLoopTime() : 0;
455 if (
d->animationInstance)
456 d->animationInstance->setCurrentTime(
time);
472 d->group->d_func()->animations.removeAll(
this);
476 if (
d->group && !
d->group->d_func()->animations.contains(
this)) {
478 d->group->d_func()->animations.insert(
index,
this);
480 d->group->d_func()->animations.append(
this);
580 d->animationInstance->setCurrentTime(
d->animationInstance->duration());
587 d->defaultProperty =
p;
589 if (!
d->avoidPropertyValueSourceStart)
601 d->defaultProperty =
p;
612 d->disableUserControl =
true;
618 d->disableUserControl =
false;
625 return d->disableUserControl;
650 q->setRunning(
false);
721 d->animationGroupDirty();
772 d->interpolatorType = QMetaType::QColor;
773 d->defaultToInterpolatorType =
true;
810 return d->from.value<
QColor>();
885 d <<
"ActionAnimation(" <<
Qt::hex << (
const void *)
this <<
Qt::dec <<
")";
890 while ((job = job->
group()))
977 return new Proxy(
this);
989 int endOfFirstLine = exprStr.
indexOf(u
'\n');
991 if (endOfFirstLine != -1 && endOfFirstLine < exprStr.
size())
1021 d->hasRunScriptScript =
false;
1023 if (!
d->name.isEmpty()) {
1024 for (
int ii = 0; ii < actions.
size(); ++ii) {
1030 d->hasRunScriptScript =
true;
1103 d->animationGroupDirty();
1109 return d->propertyName;
1115 if (
d->propertyName ==
n)
1117 d->propertyName =
n;
1120 d->animationGroupDirty();
1141 return d->properties;
1147 if (
d->properties ==
p)
1152 d->animationGroupDirty();
1191 if (
d->value.isNull ||
d->value !=
v) {
1208 void doAction()
override
1210 for (
int ii = 0; ii < actions.
size(); ++ii) {
1215 void debugAction(
QDebug d,
int indentLevel)
const override {
1217 for (
int ii = 0; ii < actions.
size(); ++ii) {
1220 <<
"value:" << action.
toValue;
1226 for (
int ii = 0; ii <
props.size(); ++ii)
1228 if (!
d->propertyName.isEmpty())
1229 props <<
d->propertyName;
1235 bool hasSelectors = !
props.isEmpty() || !
targets.isEmpty() || !
d->exclude.isEmpty();
1237 if (
d->defaultProperty.isValid() && !hasSelectors) {
1238 props <<
d->defaultProperty.name();
1239 targets <<
d->defaultProperty.object();
1242 if (defaultTarget &&
targets.isEmpty())
1245 QQuickSetPropertyAnimationAction *
data =
new QQuickSetPropertyAnimationAction;
1247 bool hasExplicit =
false;
1249 if (
d->value.isValid()) {
1250 for (
int i = 0;
i <
props.size(); ++
i) {
1259 for (
int ii = 0; ii < actions.
size(); ++ii) {
1273 for (
int ii = 0; ii < actions.
size(); ++ii) {
1280 bool same = (
obj == sObj);
1283 (!
d->exclude.contains(
obj)) && (same || (!
d->exclude.contains(sObj))) &&
1284 (
props.contains(propertyName) || (!same &&
props.contains(sPropertyName)))) {
1287 if (
d->value.isValid())
1298 if (
data->actions.size()) {
1350void QQuickNumberAnimation::init()
1387 return d->from.toReal();
1409 return d->to.toReal();
1441 d->interpolatorType = QMetaType::QVector3D;
1442 d->defaultToInterpolatorType =
true;
1541 while(diff > 180.0){
1545 while(diff < -180.0){
1616 return d->from.toReal();
1638 return d->to.toReal();
1666 return d->direction;
1676 switch(
d->direction) {
1714 if (
auto q = qmlobject_cast<QQuickAnimationGroup *>(
list->object))
1715 return q->d_func()->animations.at(
index);
1721 if (
auto q = qmlobject_cast<QQuickAnimationGroup *>(
list->object))
1722 return q->d_func()->animations.size();
1730 while (
q->d_func()->animations.size()) {
1740 if (
auto *
q = qmlobject_cast<QQuickAnimationGroup *>(
list->object)) {
1742 anim->setGroup(
nullptr);
1750 if (
auto *
q = qobject_cast<QQuickAnimationGroup *>(
list->object))
1751 q->d_func()->animations.last()->setGroup(
nullptr);
1787 for (
int i = 0;
i <
d->animations.size(); ++
i)
1788 d->animations.at(
i)->d_func()->group =
nullptr;
1789 d->animations.clear();
1796 this, &(
d->animations),
1853 for (
int i=0;
i<
d->animations.size(); ++
i) {
1876 from =
d->animations.size() - 1;
1881 bool valid =
d->defaultProperty.isValid();
1883 for (
int ii = from; ii <
d->animations.size() && ii >= 0; ii += inc) {
1885 d->animations.at(ii)->setDefaultTarget(
d->defaultProperty);
1886 anim =
d->animations.at(ii)->transition(actions, modified,
direction, defaultTarget);
1942 for (
int i=0;
i<
d->animations.size(); ++
i) {
1964 bool valid =
d->defaultProperty.isValid();
1966 for (
int ii = 0; ii <
d->animations.size(); ++ii) {
1968 d->animations.at(ii)->setDefaultTarget(
d->defaultProperty);
1969 anim =
d->animations.at(ii)->transition(actions, modified,
direction, defaultTarget);
2016 switch (
type.id()) {
2017 case QMetaType::QRect:
2018 case QMetaType::QRectF:
2019 case QMetaType::QPoint:
2020 case QMetaType::QPointF:
2021 case QMetaType::QSize:
2022 case QMetaType::QSizeF:
2023 case QMetaType::QColor:
2024 case QMetaType::QVector3D:
2071 *fromIsSourced =
false;
2080 int indentLevel = 1;
2082 while ((job = job->
group()))
2186 qmlWarning(
this) <<
tr(
"Cannot set a duration of < 0");
2194 if (
d->componentComplete &&
d->running)
2195 d->ourPropertiesDirty =
true;
2198 d->animationGroupDirty();
2221 if (
d->fromIsDefined &&
f ==
d->from)
2224 d->fromIsDefined =
f.isValid();
2225 if (
d->componentComplete &&
d->running)
2226 d->ourPropertiesDirty =
true;
2229 d->animationGroupDirty();
2252 if (
d->toIsDefined &&
t ==
d->to)
2255 d->toIsDefined =
t.isValid();
2256 if (
d->componentComplete &&
d->running)
2257 d->ourPropertiesDirty =
true;
2260 d->animationGroupDirty();
2490 if (
d->componentComplete &&
d->running)
2491 d->ourPropertiesDirty =
true;
2494 d->animationGroupDirty();
2511 d->animationGroupDirty();
2517 return d->propertyName;
2523 if (
d->propertyName ==
n)
2525 d->propertyName =
n;
2528 d->animationGroupDirty();
2534 return d->properties;
2540 if (
d->properties == prop)
2543 d->properties = prop;
2546 d->animationGroupDirty();
2654 LP::AppendFunction appendFn = [](LP *prop,
QObject *
value)
2658 LP::CountFunction countFn = [](LP *prop)
2660 return static_cast<ListPtr
>(prop->data)->
size();
2665 return static_cast<ListPtr
>(prop->data)->
at(
index);
2668 LP::ClearFunction clearFN = [](LP *prop)
2670 return static_cast<ListPtr
>(prop->data)->
clear();
2675 static_cast<ListPtr
>(prop->data)->replace(
index,
value);
2678 LP::RemoveLastFunction removeLastFn = [](LP *prop)
2680 static_cast<ListPtr
>(prop->data)->removeLast();
2699 bool deleted =
false;
2750 for (
int ii = 0; ii <
props.size(); ++ii)
2752 if (!
d->propertyName.isEmpty())
2753 props <<
d->propertyName;
2759 bool hasSelectors = !
props.isEmpty() || !
targets.isEmpty() || !
d->exclude.isEmpty();
2760 bool useType = (
props.isEmpty() &&
d->defaultToInterpolatorType) ?
true :
false;
2762 if (
d->defaultProperty.isValid() && !hasSelectors) {
2763 props <<
d->defaultProperty.name();
2764 targets <<
d->defaultProperty.object();
2767 if (defaultTarget &&
targets.isEmpty())
2770 bool usingDefaultProperties =
false;
2771 if (
props.isEmpty() && !
d->defaultProperties.isEmpty()) {
2773 usingDefaultProperties =
true;
2776 bool hasExplicit =
false;
2778 if (
d->toIsDefined) {
2780 bool successfullyCreatedDefaultProperty =
false;
2782 for (
int i = 0;
i <
props.size(); ++
i) {
2785 if (guarded.isNull())
2793 if (usingDefaultProperties)
2794 successfullyCreatedDefaultProperty =
true;
2796 if (
d->fromIsDefined) {
2804 for (
int ii = 0; ii < actions.
size(); ++ii) {
2818 if (!successfullyCreatedDefaultProperty) {
2825 for (
int ii = 0; ii < actions.
size(); ++ii) {
2832 bool same = (
obj == sObj);
2835 (!
d->exclude.contains(
obj)) && (same || (!
d->exclude.contains(sObj))) &&
2836 (
props.contains(propertyName) || (!same &&
props.contains(sPropertyName))
2840 if (
d->fromIsDefined)
2875 data->interpolator =
d->interpolator;
2877 data->fromIsSourced =
false;
2878 data->fromIsDefined =
d->fromIsDefined;
2879 data->actions = dataActions;
2882 d->actions = &
data->actions;
2895#include "moc_qquickanimation_p.cpp"
virtual void debugAction(QDebug, int) const
virtual void doAction()=0
virtual int duration() const
void addAnimationChangeListener(QAnimationJobChangeListener *listener, QAbstractAnimationJob::ChangeTypes)
void setCurrentTime(int msecs)
void setLoopCount(int loopCount)
QAnimationGroupJob * group() const
virtual void topLevelAnimationLoopChanged()
void setLoopCount(int loopCount)
void debugAnimation(QDebug d) const override
int duration() const override
~QActionAnimation() override
void setAnimAction(QAbstractAnimationAction *action)
void updateCurrentTime(int) override
void updateState(State newState, State oldState) override
void prependAnimation(QAbstractAnimationJob *animation)
void appendAnimation(QAbstractAnimationJob *animation)
const char * constData() const noexcept
Returns a pointer to the const data stored in the byte array.
The QColor class provides colors based on RGB, HSV or CMYK values.
qreal valueForProgress(qreal progress) const
Return the effective progress for the easing curve at progress.
qsizetype size() const noexcept
bool isEmpty() const noexcept
const_reference at(qsizetype i) const noexcept
static QObjectPrivate * get(QObject *o)
QVariant property(const char *name) const
Returns the value of the object's name property.
The QQmlExpression class evaluates JavaScript in a QML context.
QString expression() const
Returns the expression string.
QQmlError error() const
Return any error from the last call to evaluate().
bool hasError() const
Returns true if the last call to evaluate() resulted in an error, otherwise false.
QVariant evaluate(bool *valueIsUndefined=nullptr)
Evaulates the expression, returning the result of the evaluation, or an invalid QVariant if the expre...
The QQmlListProperty class allows applications to expose list-like properties of QObject-derived clas...
static bool write(QObject *, const QQmlPropertyData &, const QVariant &, const QQmlRefPointer< QQmlContextData > &, QQmlPropertyData::WriteFlags flags={})
The QQmlProperty class abstracts accessing properties on objects created from QML.
bool isValid() const
Returns true if the QQmlProperty refers to a valid property, otherwise false.
QVariant read() const
Returns the property value.
QML_ANONYMOUSQObject * object
bool isWritable() const
Returns true if the property is writable, otherwise false.
int propertyType() const
Returns the metatype id of the property, or QMetaType::UnknownType if the property has no metatype.
The QQmlScriptString class encapsulates a script and its context.
bool isEmpty() const
Returns whether the QQmlScriptString is empty.
void animationFinished(QAbstractAnimationJob *) override
QAbstractAnimationJob * animationInstance
void animationGroupDirty()
static QQmlProperty createProperty(QObject *obj, const QString &str, QObject *infoObj, QString *errorMessage=nullptr)
friend class QQuickAnimationGroup
QQuickAbstractAnimation(QObject *parent=nullptr)
\qmltype Animation \instantiates QQuickAbstractAnimation \inqmlmodule QtQuick
void start()
\qmlmethod QtQuick::Animation::start()
bool isRunning() const
\qmlproperty bool QtQuick::Animation::running This property holds whether the animation is currently ...
void setEnableUserControl()
void setDefaultTarget(const QQmlProperty &)
void classBegin() override
Invoked after class creation, but before any properties have been set.
void setAlwaysRunToEnd(bool)
void runningChanged(bool)
void alwaysRunToEndChanged(bool)
void loopCountChanged(int)
void complete()
\qmlmethod QtQuick::Animation::complete()
void restart()
\qmlmethod QtQuick::Animation::restart()
bool userControlDisabled() const
void stop()
\qmlmethod QtQuick::Animation::stop()
virtual QAbstractAnimationJob * transition(QQuickStateActions &actions, QQmlProperties &modified, TransitionDirection direction, QObject *defaultTarget=nullptr)
virtual ThreadingModel threadingModel() const
~QQuickAbstractAnimation() override
QQuickAnimationGroup * group() const
QAbstractAnimationJob * qtAnimation()
void pause()
\qmlmethod QtQuick::Animation::pause()
void componentComplete() override
Invoked after the root component that caused this instantiation has completed construction.
QAbstractAnimationJob * initInstance(QAbstractAnimationJob *animation)
void resume()
\qmlmethod QtQuick::Animation::resume()
bool isPaused() const
\qmlproperty bool QtQuick::Animation::paused This property holds whether the animation is currently p...
void setGroup(QQuickAnimationGroup *, int index=-1)
void setDisableUserControl()
void setTarget(const QQmlProperty &) override
Set the target property for the value source.
void setRunning(bool)
\qmlsignal QtQuick::Animation::started()
static qsizetype count_animation(QQmlListProperty< QQuickAbstractAnimation > *list)
void animationCurrentLoopChanged(QAbstractAnimationJob *job) override
static void replace_animation(QQmlListProperty< QQuickAbstractAnimation > *list, qsizetype index, QQuickAbstractAnimation *role)
static void removeLast_animation(QQmlListProperty< QQuickAbstractAnimation > *list)
static QQuickAbstractAnimation * at_animation(QQmlListProperty< QQuickAbstractAnimation > *list, qsizetype index)
static void clear_animation(QQmlListProperty< QQuickAbstractAnimation > *list)
static void append_animation(QQmlListProperty< QQuickAbstractAnimation > *list, QQuickAbstractAnimation *role)
void restartFromCurrentLoop()
~QQuickAnimationGroup() override
QQmlListProperty< QQuickAbstractAnimation > animations
QVariantAnimation::Interpolator interpolator
~QQuickAnimationPropertyUpdater() override
QQuickStateActions actions
void setValue(qreal v) override
void debugUpdater(QDebug d, int indentLevel) const override
void updateCurrentTime(int currentTime) override
~QQuickBulkValueAnimator() override
int duration() const override
QQuickBulkValueAnimator()
void setAnimValue(QQuickBulkValueUpdater *value)
void setEasingCurve(const QEasingCurve &curve)
void setDuration(int msecs)
void setFromIsSourcedValue(bool *value)
void debugAnimation(QDebug d) const override
void topLevelAnimationLoopChanged() override
virtual void debugUpdater(QDebug, int) const
virtual void setValue(qreal value)=0
QQuickColorAnimation(QObject *parent=nullptr)
\qmltype ColorAnimation \instantiates QQuickColorAnimation \inqmlmodule QtQuick\inherits PropertyAnim...
void setFrom(const QColor &)
~QQuickColorAnimation() override
void setTo(const QColor &)
QQuickNumberAnimation(QObject *parent=nullptr)
\qmltype NumberAnimation \instantiates QQuickNumberAnimation \inqmlmodule QtQuick\inherits PropertyAn...
~QQuickNumberAnimation() override
QAbstractAnimationJob * transition(QQuickStateActions &actions, QQmlProperties &modified, TransitionDirection direction, QObject *defaultTarget=nullptr) override
~QQuickParallelAnimation() override
ThreadingModel threadingModel() const override
QQuickParallelAnimation(QObject *parent=nullptr)
\qmltype ParallelAnimation \instantiates QQuickParallelAnimation \inqmlmodule QtQuick\inherits Animat...
QAbstractAnimationJob * transition(QQuickStateActions &actions, QQmlProperties &modified, TransitionDirection direction, QObject *defaultTarget=nullptr) override
QQuickPauseAnimation(QObject *parent=nullptr)
\qmltype PauseAnimation \instantiates QQuickPauseAnimation \inqmlmodule QtQuick\inherits Animation
~QQuickPauseAnimation() override
void durationChanged(int)
~QQuickPropertyAction() override
void setTargetObject(QObject *)
QQmlListProperty< QObject > targets
QAbstractAnimationJob * transition(QQuickStateActions &actions, QQmlProperties &modified, TransitionDirection direction, QObject *defaultTarget=nullptr) override
QQuickPropertyAction(QObject *parent=nullptr)
\qmltype PropertyAction \instantiates QQuickPropertyAction \inqmlmodule QtQuick\inherits Animation
void propertiesChanged(const QString &)
QQmlListProperty< QObject > exclude
\qmlproperty list<QtObject> QtQuick::PropertyAction::exclude This property holds the objects that sho...
void setValue(const QVariant &)
void setProperties(const QString &)
void setProperty(const QString &)
void valueChanged(const QVariant &)
static void convertVariant(QVariant &variant, QMetaType type)
void animationCurrentLoopChanged(QAbstractAnimationJob *job) override
void setFrom(const QVariant &)
QQmlListProperty< QObject > targets
void easingChanged(const QEasingCurve &)
~QQuickPropertyAnimation() override
void setTo(const QVariant &)
void setEasing(const QEasingCurve &)
QQuickPropertyAnimation(QObject *parent=nullptr)
\qmltype PropertyAnimation \instantiates QQuickPropertyAnimation \inqmlmodule QtQuick\inherits Animat...
void setProperties(const QString &)
void setTargetObject(QObject *)
void durationChanged(int)
virtual void setDuration(int)
void setProperty(const QString &)
QAbstractAnimationJob * transition(QQuickStateActions &actions, QQmlProperties &modified, TransitionDirection direction, QObject *defaultTarget=nullptr) override
QQuickStateActions createTransitionActions(QQuickStateActions &actions, QQmlProperties &modified, QObject *defaultTarget=nullptr)
QQmlListProperty< QObject > exclude
\qmlproperty list<QtObject> QtQuick::PropertyAnimation::exclude This property holds the items not to ...
void propertiesChanged(const QString &)
QQuickRotationAnimation(QObject *parent=nullptr)
RotationDirection direction
~QQuickRotationAnimation() override
void setDirection(RotationDirection direction)
QQmlScriptString runScriptScript
QQuickScriptActionPrivate()
QAbstractAnimationAction * createAction()
QAnimationActionProxy< QQuickScriptActionPrivate, &QQuickScriptActionPrivate::execute, &QQuickScriptActionPrivate::debugAction > Proxy
void debugAction(QDebug d, int indentLevel) const
QString stateChangeScriptName() const
\qmlproperty string QtQuick::ScriptAction::scriptName This property holds the name of the StateChange...
void setStateChangeScriptName(const QString &)
~QQuickScriptAction() override
void setScript(const QQmlScriptString &)
QQuickScriptAction(QObject *parent=nullptr)
QAbstractAnimationJob * transition(QQuickStateActions &actions, QQmlProperties &modified, TransitionDirection direction, QObject *defaultTarget=nullptr) override
~QQuickSequentialAnimation() override
QQuickSequentialAnimation(QObject *parent=nullptr)
\qmltype SequentialAnimation \instantiates QQuickSequentialAnimation \inqmlmodule QtQuick\inherits An...
ThreadingModel threadingModel() const override
QAbstractAnimationJob * transition(QQuickStateActions &actions, QQmlProperties &modified, TransitionDirection direction, QObject *defaultTarget=nullptr) override
virtual EventType type() const =0
QObject * specifiedObject
QQuickStateActionEvent * event
QString specifiedProperty
~QQuickVector3dAnimation() override
QQuickVector3dAnimation(QObject *parent=nullptr)
\qmltype Vector3dAnimation \instantiates QQuickVector3dAnimation \inqmlmodule QtQuick\inherits Proper...
Exception-safe wrapper around QObject::blockSignals().
\macro QT_RESTRICTED_CAST_FROM_ASCII
qsizetype size() const
Returns the number of characters in this string.
QString arg(qlonglong a, int fieldwidth=0, int base=10, QChar fillChar=u' ') const
const QChar at(qsizetype i) const
Returns the character at the given index position in the string.
QString left(qsizetype n) const
Returns a substring that contains the n leftmost characters of the string.
static QString static QString qsizetype indexOf(QChar c, qsizetype from=0, Qt::CaseSensitivity cs=Qt::CaseSensitive) const
static Q_CORE_EXPORT QVariantAnimation::Interpolator getInterpolator(int interpolationType)
QVariant(* Interpolator)(const void *from, const void *to, qreal progress)
bool convert(QMetaType type)
Casts the variant to the requested type, targetType.
bool isValid() const
Returns true if the storage type of this variant is not QMetaType::UnknownType; otherwise returns fal...
QString toString() const
Returns the variant as a QString if the variant has a userType() including, but not limited to:
const void * constData() const
The QVector3D class represents a vector or vertex in 3D space.
list append(new Employee("Blackpool", "Stephen"))
void newState(QList< State > &states, const char *token, const char *lexem, bool pre)
Q_QML_PRIVATE_EXPORT QVariant variantFromString(const QString &, QMetaType preferredType, bool *ok=nullptr)
Combined button and popup list for selecting options.
QTextStream & hex(QTextStream &stream)
Calls QTextStream::setIntegerBase(16) on stream and returns stream.
QTextStream & dec(QTextStream &stream)
Calls QTextStream::setIntegerBase(10) on stream and returns stream.
static const QCssKnownValue properties[NumProperties - 1]
static QT_BEGIN_NAMESPACE constexpr const auto errorMessages
static Q_CONSTINIT QBasicAtomicInt running
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
GLsizei const GLfloat * v
[13]
GLboolean GLboolean GLboolean GLboolean a
[7]
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLuint GLsizei const GLchar * message
GLenum GLuint GLsizei const GLenum * props
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLdouble GLdouble GLdouble GLdouble q
QQmlContext * qmlContext(const QObject *obj)
Q_QML_EXPORT QQmlInfo qmlWarning(const QObject *me)
QVariant _q_interpolateClockwiseRotation(qreal &f, qreal &t, qreal progress)
QVariant _q_interpolateShortestRotation(qreal &f, qreal &t, qreal progress)
\qmltype RotationAnimation \instantiates QQuickRotationAnimation \inqmlmodule QtQuick\inherits Proper...
QVariant _q_interpolateCounterclockwiseRotation(qreal &f, qreal &t, qreal progress)
QLatin1StringView QLatin1String
static QString errorMessage(QUrlPrivate::ErrorCode errorCode, const QString &errorSource, qsizetype errorPosition)
static double currentTime()
\inmodule QtCore \reentrant
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent