diff options
author | Unai IRIGOYEN <u.irigoyen@gmail.com> | 2019-11-04 21:45:29 +0100 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2020-08-22 22:44:32 +0200 |
commit | 1876bd4215ccf5bbaa6f571177db889ba4bc8eff (patch) | |
tree | c0f6305b305119d7c509f1ef4cee908f62b689f3 /tests/auto/qml/qqmlproperty/data | |
parent | 3d195d33ece3f8fd7cd7d8e6163fe038fc7fc036 (diff) |
Add override behaviors to QQmlListProperty
[ChangeLog][QQmlListProperty] When overriding a
QQmlListProperty in a derived QML type, the default behavior is to
append the derived class elements to the base class ones. This
introduces a macro to allow replacing the base
type contents either always or if the property is not the default one.
Fixes: QTBUG-77529
Change-Id: Ib1abbf52e341c043344c347c612928b47856fb3e
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'tests/auto/qml/qqmlproperty/data')
6 files changed, 32 insertions, 0 deletions
diff --git a/tests/auto/qml/qqmlproperty/data/ListOverrideAlwaysAppendBaseContainer.qml b/tests/auto/qml/qqmlproperty/data/ListOverrideAlwaysAppendBaseContainer.qml new file mode 100644 index 0000000000..36f2b4ee85 --- /dev/null +++ b/tests/auto/qml/qqmlproperty/data/ListOverrideAlwaysAppendBaseContainer.qml @@ -0,0 +1,5 @@ +import Test 1.0 + +MyContainer { + children: [MyQmlObject {}, MyQmlObject {}, MyQmlObject {}] +} diff --git a/tests/auto/qml/qqmlproperty/data/ListOverrideAlwaysAppendOverridenContainer.qml b/tests/auto/qml/qqmlproperty/data/ListOverrideAlwaysAppendOverridenContainer.qml new file mode 100644 index 0000000000..1c5bd5ea54 --- /dev/null +++ b/tests/auto/qml/qqmlproperty/data/ListOverrideAlwaysAppendOverridenContainer.qml @@ -0,0 +1,5 @@ +import Test 1.0 + +ListOverrideAlwaysAppendBaseContainer { + children: [MyQmlObject {}, MyQmlObject {}] +} diff --git a/tests/auto/qml/qqmlproperty/data/ListOverrideAlwaysReplaceBaseContainer.qml b/tests/auto/qml/qqmlproperty/data/ListOverrideAlwaysReplaceBaseContainer.qml new file mode 100644 index 0000000000..02085762e6 --- /dev/null +++ b/tests/auto/qml/qqmlproperty/data/ListOverrideAlwaysReplaceBaseContainer.qml @@ -0,0 +1,5 @@ +import Test 1.0 + +MyAlwaysReplaceBehaviorContainer { + children: [MyQmlObject {}, MyQmlObject {}, MyQmlObject {}] +} diff --git a/tests/auto/qml/qqmlproperty/data/ListOverrideAlwaysReplaceOverridenContainer.qml b/tests/auto/qml/qqmlproperty/data/ListOverrideAlwaysReplaceOverridenContainer.qml new file mode 100644 index 0000000000..3d4ac36a3c --- /dev/null +++ b/tests/auto/qml/qqmlproperty/data/ListOverrideAlwaysReplaceOverridenContainer.qml @@ -0,0 +1,5 @@ +import Test 1.0 + +ListOverrideAlwaysReplaceBaseContainer { + children: [MyQmlObject {}, MyQmlObject {}] +} diff --git a/tests/auto/qml/qqmlproperty/data/ListOverrideReplaceIfNotDefaultBaseContainer.qml b/tests/auto/qml/qqmlproperty/data/ListOverrideReplaceIfNotDefaultBaseContainer.qml new file mode 100644 index 0000000000..fda1677531 --- /dev/null +++ b/tests/auto/qml/qqmlproperty/data/ListOverrideReplaceIfNotDefaultBaseContainer.qml @@ -0,0 +1,6 @@ +import Test 1.0 + +MyReplaceIfNotDefaultBehaviorContainer { + children: [MyQmlObject {}, MyQmlObject {}, MyQmlObject {}] + defaultList: [MyQmlObject {}, MyQmlObject {}, MyQmlObject {}] +} diff --git a/tests/auto/qml/qqmlproperty/data/ListOverrideReplaceIfNotDefaultOverridenContainer.qml b/tests/auto/qml/qqmlproperty/data/ListOverrideReplaceIfNotDefaultOverridenContainer.qml new file mode 100644 index 0000000000..7d16378774 --- /dev/null +++ b/tests/auto/qml/qqmlproperty/data/ListOverrideReplaceIfNotDefaultOverridenContainer.qml @@ -0,0 +1,6 @@ +import Test 1.0 + +ListOverrideReplaceIfNotDefaultBaseContainer { + children: [MyQmlObject {}, MyQmlObject {}] + defaultList: [MyQmlObject {}, MyQmlObject {}] +} |