diff --git a/share/qtcreator/qml-type-descriptions/qml-builtin-types.xml b/share/qtcreator/qml-type-descriptions/qml-builtin-types.xml index db77280c210a223f92db08c6ead2eb7578bc5767..6f2f3eea5d122ee70fe9c5dc6a53d125d7e1c88e 100644 --- a/share/qtcreator/qml-type-descriptions/qml-builtin-types.xml +++ b/share/qtcreator/qml-type-descriptions/qml-builtin-types.xml @@ -1370,12 +1370,12 @@ <type name="Qt.AnchorAnimation" version="4.7" extends="Qt.Animation"> <property name="targets" type="Qt.Item" isList="true"/> <property name="duration" type="int"/> - <property name="easing" type="QEasingCurve"/> + <property name="easing" type="Qt.Easing"/> <signal name="durationChanged"> <param type="int"/> </signal> <signal name="easingChanged"> - <param type="QEasingCurve"/> + <param type="Qt.Easing"/> </signal> </type> <type name="Qt.AnchorChanges" version="4.7" extends="QDeclarativeStateOperation"> @@ -1457,10 +1457,6 @@ <enumerator name="Loading" value="2"/> <enumerator name="Error" value="3"/> </enum> - <property name="isNull" type="bool"/> - <property name="isReady" type="bool"/> - <property name="isError" type="bool"/> - <property name="isLoading" type="bool"/> <property name="progress" type="qreal"/> <property name="status" type="Status"/> <property name="url" type="QUrl"/> @@ -1474,6 +1470,7 @@ </type> <type name="Qt.Connections" version="4.7" extends="Qt.QtObject"> <property name="target" type="Qt.QtObject"/> + <property name="ignoreUnknownSignals" type="bool"/> <signal name="targetChanged"/> </type> <type name="Qt.DoubleValidator" version="4.7" extends="QValidator"> @@ -1555,7 +1552,7 @@ <enumerator name="SineCurve" value="43"/> <enumerator name="CosineCurve" value="44"/> </enum> - <property name="type" type="QDeclarativeEasingValueType.Type"/> + <property name="type" type="Type"/> <property name="amplitude" type="qreal"/> <property name="overshoot" type="qreal"/> <property name="period" type="qreal"/> @@ -1566,7 +1563,7 @@ <enumerator name="DragOverBounds" value="1"/> <enumerator name="DragAndOvershootBounds" value="2"/> </enum> - <enum name="FlickDirection"> + <enum name="FlickableDirection"> <enumerator name="AutoFlickDirection" value="0"/> <enumerator name="HorizontalFlick" value="1"/> <enumerator name="VerticalFlick" value="2"/> @@ -1583,8 +1580,13 @@ <property name="maximumFlickVelocity" type="qreal"/> <property name="flickDeceleration" type="qreal"/> <property name="moving" type="bool"/> + <property name="movingHorizontally" type="bool"/> + <property name="movingVertically" type="bool"/> <property name="flicking" type="bool"/> - <property name="flickDirection" type="FlickDirection"/> + <property name="flickingHorizontally" type="bool"/> + <property name="flickingVertically" type="bool"/> + <property name="flickDirection" type="FlickableDirection"/> + <property name="flickableDirection" type="FlickableDirection"/> <property name="interactive" type="bool"/> <property name="pressDelay" type="int"/> <property name="atXEnd" type="bool"/> @@ -1599,22 +1601,26 @@ <signal name="contentXChanged"/> <signal name="contentYChanged"/> <signal name="movingChanged"/> + <signal name="movingHorizontallyChanged"/> + <signal name="movingVerticallyChanged"/> <signal name="flickingChanged"/> - <signal name="movementStarted"/> - <signal name="movementEnded"/> - <signal name="flickStarted"/> - <signal name="flickEnded"/> + <signal name="flickingHorizontallyChanged"/> + <signal name="flickingVerticallyChanged"/> <signal name="horizontalVelocityChanged"/> <signal name="verticalVelocityChanged"/> <signal name="isAtBoundaryChanged"/> <signal name="pageChanged"/> - <signal name="flickDirectionChanged"/> + <signal name="flickableDirectionChanged"/> <signal name="interactiveChanged"/> <signal name="overShootChanged"/> <signal name="boundsBehaviorChanged"/> <signal name="maximumFlickVelocityChanged"/> <signal name="flickDecelerationChanged"/> <signal name="pressDelayChanged"/> + <signal name="movementStarted"/> + <signal name="movementEnded"/> + <signal name="flickStarted"/> + <signal name="flickEnded"/> </type> <type name="Qt.Flipable" version="4.7" defaultProperty="data" extends="Qt.Item"> <enum name="Side"> @@ -1865,18 +1871,30 @@ <method name="forceFocus"/> </type> <type name="Qt.KeyNavigation" version="4.7" extends="Qt.QtObject"> + <enum name="Priority"> + <enumerator name="BeforeItem" value="0"/> + <enumerator name="AfterItem" value="1"/> + </enum> <property name="left" type="Qt.Item"/> <property name="right" type="Qt.Item"/> <property name="up" type="Qt.Item"/> <property name="down" type="Qt.Item"/> <property name="tab" type="Qt.Item"/> <property name="backtab" type="Qt.Item"/> + <property name="priority" type="Priority"/> <signal name="changed"/> + <signal name="priorityChanged"/> </type> <type name="Qt.Keys" version="4.7" extends="Qt.QtObject"> + <enum name="Priority"> + <enumerator name="BeforeItem" value="0"/> + <enumerator name="AfterItem" value="1"/> + </enum> <property name="enabled" type="bool"/> <property name="forwardTo" type="Qt.Item" isList="true"/> + <property name="priority" type="Priority"/> <signal name="enabledChanged"/> + <signal name="priorityChanged"/> <signal name="pressed"> <param name="event" type="QDeclarativeKeyEvent"/> </signal> @@ -2126,14 +2144,8 @@ <enumerator name="Loading" value="2"/> <enumerator name="Error" value="3"/> </enum> - <enum name="ResizeMode"> - <enumerator name="NoResize" value="0"/> - <enumerator name="SizeLoaderToItem" value="1"/> - <enumerator name="SizeItemToLoader" value="2"/> - </enum> <property name="source" type="QUrl"/> <property name="sourceComponent" type="Qt.Component"/> - <property name="resizeMode" type="ResizeMode"/> <property name="item" type="QGraphicsObject"/> <property name="status" type="Status"/> <property name="progress" type="qreal"/> @@ -2141,7 +2153,7 @@ <signal name="sourceChanged"/> <signal name="statusChanged"/> <signal name="progressChanged"/> - <signal name="resizeModeChanged"/> + <signal name="loaded"/> </type> <type name="Qt.MouseArea" version="4.7" defaultProperty="data" extends="Qt.Item"> <property name="mouseX" type="qreal"/> @@ -2157,6 +2169,7 @@ <signal name="pressedChanged"/> <signal name="enabledChanged"/> <signal name="acceptedButtonsChanged"/> + <signal name="hoverEnabledChanged"/> <signal name="positionChanged"> <param name="mouse" type="QDeclarativeMouseEvent"/> </signal> @@ -2180,6 +2193,7 @@ </signal> <signal name="entered"/> <signal name="exited"/> + <signal name="canceled"/> </type> <type name="Qt.NumberAnimation" version="4.7" extends="Qt.PropertyAnimation"> <property name="from" type="qreal"/> @@ -2274,6 +2288,8 @@ <signal name="highlightChanged"/> <signal name="highlightItemChanged"/> <signal name="highlightMoveDurationChanged"/> + <method name="incrementCurrentIndex"/> + <method name="decrementCurrentIndex"/> </type> <type name="Qt.PauseAnimation" version="4.7" extends="Qt.Animation"> <property name="duration" type="int"/> @@ -2303,7 +2319,7 @@ <property name="duration" type="int"/> <property name="from" type="QVariant"/> <property name="to" type="QVariant"/> - <property name="easing" type="QEasingCurve"/> + <property name="easing" type="Qt.Easing"/> <property name="target" type="Qt.QtObject"/> <property name="property" type="string"/> <property name="properties" type="string"/> @@ -2319,7 +2335,7 @@ <param type="QVariant"/> </signal> <signal name="easingChanged"> - <param type="QEasingCurve"/> + <param type="Qt.Easing"/> </signal> <signal name="propertiesChanged"> <param type="string"/> @@ -3094,7 +3110,7 @@ <property name="contentsMargin" type="qreal"/> </type> <type name="Qt.widgets.QGraphicsLinearLayoutStretchItem" version="4.7" extends="Qt.QtObject"/> - <type name="org.webkit.WebView" version="1.0" defaultProperty="data" extends="QDeclarativePaintedItem"> + <type name="org.webkit.WebView" version="1.0" defaultProperty="data" extends="Qt.Item"> <enum name="Status"> <enumerator name="Null" value="0"/> <enumerator name="Ready" value="1"/> @@ -3121,6 +3137,8 @@ <property name="newWindowComponent" type="Qt.Component"/> <property name="newWindowParent" type="Qt.Item"/> <property name="renderingEnabled" type="bool"/> + <property name="contentsSize" type="QSize"/> + <property name="contentsScale" type="qreal"/> <signal name="preferredWidthChanged"/> <signal name="preferredHeightChanged"/> <signal name="urlChanged"/> @@ -3139,6 +3157,10 @@ <signal name="newWindowComponentChanged"/> <signal name="newWindowParentChanged"/> <signal name="renderingEnabledChanged"/> + <signal name="contentsSizeChanged"> + <param type="QSize"/> + </signal> + <signal name="contentsScaleChanged"/> <signal name="loadStarted"/> <signal name="loadFinished"/> <signal name="loadFailed"/> diff --git a/src/libs/qmljs/qmljscheck.cpp b/src/libs/qmljs/qmljscheck.cpp index eeefa2a84e44ff489f6dba7cfd85c7144d57e632..ed680cb74f47eda1d77b300407012414919aa28f 100644 --- a/src/libs/qmljs/qmljscheck.cpp +++ b/src/libs/qmljs/qmljscheck.cpp @@ -64,13 +64,27 @@ public: return _message; } - virtual void visit(const NumberValue *) + virtual void visit(const NumberValue *value) { - // ### Consider enums: elide: "ElideLeft" is valid, but currently elide is a NumberValue. - if (/*cast<StringLiteral *>(_ast) + if (const QmlEnumValue *enumValue = dynamic_cast<const QmlEnumValue *>(value)) { + if (StringLiteral *stringLiteral = cast<StringLiteral *>(_ast)) { + const QString valueName = stringLiteral->value->asString(); + + if (!enumValue->keys().contains(valueName)) { + _message.message = QCoreApplication::translate("QmlJS::Check", "unknown value for enum"); + } + } else if (_rhsValue->asUndefinedValue()) { + _message.kind = DiagnosticMessage::Warning; + _message.message = QCoreApplication::translate("QmlJS::Check", "value might be 'undefined'"); + } else if (! _rhsValue->asStringValue() && ! _rhsValue->asNumberValue()) { + _message.message = QCoreApplication::translate("QmlJS::Check", "enum value is not a string or number"); + } + } else { + if (/*cast<StringLiteral *>(_ast) ||*/ _ast->kind == Node::Kind_TrueLiteral - || _ast->kind == Node::Kind_FalseLiteral) { - _message.message = QCoreApplication::translate("QmlJS::Check", "numerical value expected"); + || _ast->kind == Node::Kind_FalseLiteral) { + _message.message = QCoreApplication::translate("QmlJS::Check", "numerical value expected"); + } } } @@ -97,22 +111,6 @@ public: } } - virtual void visit(const EasingCurveNameValue *) - { - if (StringLiteral *stringLiteral = cast<StringLiteral *>(_ast)) { - const QString curveName = stringLiteral->value->asString(); - - if (!EasingCurveNameValue::curveNames().contains(curveName)) { - _message.message = QCoreApplication::translate("QmlJS::Check", "unknown easing-curve name"); - } - } else if (_rhsValue->asUndefinedValue()) { - _message.kind = DiagnosticMessage::Warning; - _message.message = QCoreApplication::translate("QmlJS::Check", "value might be 'undefined'"); - } else if (! _rhsValue->asStringValue() && ! _rhsValue->asNumberValue()) { - _message.message = QCoreApplication::translate("QmlJS::Check", "easing-curve name is not a string or number"); - } - } - virtual void visit(const ColorValue *) { if (StringLiteral *stringLiteral = cast<StringLiteral *>(_ast)) { diff --git a/src/libs/qmljs/qmljsinterpreter.cpp b/src/libs/qmljs/qmljsinterpreter.cpp index ec4a1d981ac9f4779bd0fb4f17d7444c07f8c71b..15867e60b960980c75a7d7b365a0344217fe5caf 100644 --- a/src/libs/qmljs/qmljsinterpreter.cpp +++ b/src/libs/qmljs/qmljsinterpreter.cpp @@ -846,15 +846,6 @@ const Value *QmlObjectValue::propertyValue(const FakeMetaProperty &prop) const value = engine()->colorValue(); } else if (typeName == QLatin1String("QDeclarativeAnchorLine")) { value = engine()->anchorLineValue(); - } else if (typeName == QLatin1String("QEasingCurve")) { - // ### cache - ObjectValue *object = engine()->newObject(/*prototype =*/ 0); - object->setClassName(QLatin1String("EasingCurve")); - object->setProperty("type", engine()->easingCurveNameValue()); - object->setProperty("period", engine()->numberValue()); - object->setProperty("amplitude", engine()->numberValue()); - object->setProperty("overshoot", engine()->numberValue()); - value = object; } // might be an enum @@ -1199,10 +1190,6 @@ void ValueVisitor::visit(const Reference *) { } -void ValueVisitor::visit(const EasingCurveNameValue *) -{ -} - void ValueVisitor::visit(const ColorValue *) { } @@ -1267,11 +1254,6 @@ const Reference *Value::asReference() const return 0; } -const EasingCurveNameValue *Value::asEasingCurveNameValue() const -{ - return 0; -} - const ColorValue *Value::asColorValue() const { return 0; @@ -1557,67 +1539,6 @@ const Value *Reference::value(Context *) const return _engine->undefinedValue(); } -void EasingCurveNameValue::accept(ValueVisitor *visitor) const -{ - visitor->visit(this); -} - -QSet<QString> EasingCurveNameValue::_curveNames; -QSet<QString> EasingCurveNameValue::curveNames() -{ - if (_curveNames.isEmpty()) { - _curveNames = QSet<QString>() - << "Linear" - << "InQuad" - << "OutQuad" - << "InOutQuad" - << "OutInQuad" - << "InCubic" - << "OutCubic" - << "InOutCubic" - << "OutInCubic" - << "InQuart" - << "OutQuart" - << "InOutQuart" - << "OutInQuart" - << "InQuint" - << "OutQuint" - << "InOutQuint" - << "OutInQuint" - << "InSine" - << "OutSine" - << "InOutSine" - << "OutInSine" - << "InExpo" - << "OutExpo" - << "InOutExpo" - << "OutInExpo" - << "InCirc" - << "OutCirc" - << "InOutCirc" - << "OutInCirc" - << "InElastic" - << "OutElastic" - << "InOutElastic" - << "OutInElastic" - << "InBack" - << "OutBack" - << "InOutBack" - << "OutInBack" - << "InBounce" - << "OutBounce" - << "InOutBounce" - << "OutInBounce"; - } - - return _curveNames; -} - -const EasingCurveNameValue *EasingCurveNameValue::asEasingCurveNameValue() const -{ - return this; -} - void ColorValue::accept(ValueVisitor *visitor) const { visitor->visit(this); @@ -2337,11 +2258,6 @@ void TypeId::visit(const FunctionValue *object) _result = QLatin1String("Function"); } -void TypeId::visit(const EasingCurveNameValue *) -{ - _result = QLatin1String("string"); -} - void TypeId::visit(const ColorValue *) { _result = QLatin1String("string"); @@ -2412,11 +2328,6 @@ const StringValue *Engine::stringValue() const return &_stringValue; } -const EasingCurveNameValue *Engine::easingCurveNameValue() const -{ - return &_easingCurveNameValue; -} - const ColorValue *Engine::colorValue() const { return &_colorValue; diff --git a/src/libs/qmljs/qmljsinterpreter.h b/src/libs/qmljs/qmljsinterpreter.h index 01d65af5099d6a0640b8c9cb5b8a6c4b3f37dfda..20af34a81ca6577dfb62e993ad4001ccba99611c 100644 --- a/src/libs/qmljs/qmljsinterpreter.h +++ b/src/libs/qmljs/qmljsinterpreter.h @@ -60,7 +60,6 @@ class StringValue; class ObjectValue; class FunctionValue; class Reference; -class EasingCurveNameValue; class ColorValue; class AnchorLineValue; @@ -88,7 +87,6 @@ public: virtual void visit(const ObjectValue *); virtual void visit(const FunctionValue *); virtual void visit(const Reference *); - virtual void visit(const EasingCurveNameValue *); virtual void visit(const ColorValue *); virtual void visit(const AnchorLineValue *); }; @@ -113,7 +111,6 @@ public: virtual const ObjectValue *asObjectValue() const; virtual const FunctionValue *asFunctionValue() const; virtual const Reference *asReference() const; - virtual const EasingCurveNameValue *asEasingCurveNameValue() const; virtual const ColorValue *asColorValue() const; virtual const AnchorLineValue *asAnchorLineValue() const; @@ -172,12 +169,6 @@ template <> Q_INLINE_TEMPLATE const Reference *value_cast(const Value *v) else return 0; } -template <> Q_INLINE_TEMPLATE const EasingCurveNameValue *value_cast(const Value *v) -{ - if (v) return v->asEasingCurveNameValue(); - else return 0; -} - template <> Q_INLINE_TEMPLATE const ColorValue *value_cast(const Value *v) { if (v) return v->asColorValue(); @@ -342,18 +333,6 @@ private: Engine *_engine; }; -class QMLJS_EXPORT EasingCurveNameValue: public Value -{ - static QSet<QString> _curveNames; - -public: - static QSet<QString> curveNames(); - - // Value interface - virtual const EasingCurveNameValue *asEasingCurveNameValue() const; - virtual void accept(ValueVisitor *) const; -}; - class QMLJS_EXPORT ColorValue: public Value { public: @@ -639,7 +618,6 @@ protected: virtual void visit(const StringValue *); virtual void visit(const ObjectValue *object); virtual void visit(const FunctionValue *object); - virtual void visit(const EasingCurveNameValue *); virtual void visit(const ColorValue *); virtual void visit(const AnchorLineValue *); }; @@ -658,7 +636,6 @@ public: const NumberValue *numberValue() const; const BooleanValue *booleanValue() const; const StringValue *stringValue() const; - const EasingCurveNameValue *easingCurveNameValue() const; const ColorValue *colorValue() const; const AnchorLineValue *anchorLineValue() const; @@ -744,7 +721,6 @@ private: NumberValue _numberValue; BooleanValue _booleanValue; StringValue _stringValue; - EasingCurveNameValue _easingCurveNameValue; ColorValue _colorValue; AnchorLineValue _anchorLineValue; QList<Value *> _registeredValues; diff --git a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp index 947cce394e4e6323c54c257bb845055317e8979c..d3590ce02580ba8922419dd6acadd8e1ab35b145 100644 --- a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp +++ b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp @@ -384,8 +384,6 @@ public: v.convert(QVariant::Double); } else if (property->asStringValue()) { // nothing to do - } else if (property->asEasingCurveNameValue()) { - // nothing to do } return v; } diff --git a/src/tools/qml/qmldump/main.cpp b/src/tools/qml/qmldump/main.cpp index cabb5503716ad4eef82c2609ea1d84d35dca6dd9..6a8f8a43a25821a003c497ed9b252722c38efc2d 100644 --- a/src/tools/qml/qmldump/main.cpp +++ b/src/tools/qml/qmldump/main.cpp @@ -268,6 +268,8 @@ int main(int argc, char *argv[]) } cppToQml.insert("QString", "string"); + cppToQml.insert("QEasingCurve", "Qt.Easing"); + cppToQml.insert("QDeclarativeEasingValueType::Type", "Type"); QSet<const QMetaObject *> metas;