State:Closed|icon_bug|icon_katana|database:public|Resolution:Fixed|TargetRelease:3.5v4|BugID:438864|
Problem summary:
The MIME data returned by QT4FormWidgets.PolicyMimeData.GetMimeData() -- and by extension the ArrayParameterPolicy.getMimeData() function in UI4.FormMaster.ArrayParameterPolicy -- contains data for a format named 'policy/xml'. That data stores the XML text representation of a given value policy.
When calling that function on an array policy, the number of values is currently hard-coded to a clamped maximum of 16 values.
Steps to reproduce:
containerPolicy = QT4FormWidgets.PythonValuePolicy('container', {'values': range(30)})
valuesPolicy = containerPolicy.getChildByName('values')
mimeData = valuesPolicy.getMimeData()
xmlText = mimeData.data('policy/xml')
print(xmlText) Expected behaviour:
The printed XML text covers all 30 values:
<valuepolicy cols="30" name="values" type="array">
<valuepolicy name="i0" type="number" value="0.0"/>
<valuepolicy name="i1" type="number" value="1.0"/>
<valuepolicy name="i2" type="number" value="2.0"/>
<valuepolicy name="i3" type="number" value="3.0"/>
<valuepolicy name="i4" type="number" value="4.0"/>
<valuepolicy name="i5" type="number" value="5.0"/>
<valuepolicy name="i6" type="number" value="6.0"/>
<valuepolicy name="i7" type="number" value="7.0"/>
<valuepolicy name="i8" type="number" value="8.0"/>
<valuepolicy name="i9" type="number" value="9.0"/>
<valuepolicy name="i10" type="number" value="10.0"/>
<valuepolicy name="i11" type="number" value="11.0"/>
<valuepolicy name="i12" type="number" value="12.0"/>
<valuepolicy name="i13" type="number" value="13.0"/>
<valuepolicy name="i14" type="number" value="14.0"/>
<valuepolicy name="i15" type="number" value="15.0"/>
<valuepolicy name="i16" type="number" value="16.0"/>
<valuepolicy name="i17" type="number" value="17.0"/>
<valuepolicy name="i18" type="number" value="18.0"/>
<valuepolicy name="i19" type="number" value="19.0"/>
<valuepolicy name="i20" type="number" value="20.0"/>
<valuepolicy name="i21" type="number" value="21.0"/>
<valuepolicy name="i22" type="number" value="22.0"/>
<valuepolicy name="i23" type="number" value="23.0"/>
<valuepolicy name="i24" type="number" value="24.0"/>
<valuepolicy name="i25" type="number" value="25.0"/>
<valuepolicy name="i26" type="number" value="26.0"/>
<valuepolicy name="i27" type="number" value="27.0"/>
<valuepolicy name="i28" type="number" value="28.0"/>
<valuepolicy name="i29" type="number" value="29.0"/>
</valuepolicy>
Actual behaviour:
The printed XML text covers 16 values only:
<valuepolicy cols="30" name="values" type="array">
<valuepolicy name="i0" type="number" value="0.0"/>
<valuepolicy name="i1" type="number" value="1.0"/>
<valuepolicy name="i2" type="number" value="2.0"/>
<valuepolicy name="i3" type="number" value="3.0"/>
<valuepolicy name="i4" type="number" value="4.0"/>
<valuepolicy name="i5" type="number" value="5.0"/>
<valuepolicy name="i6" type="number" value="6.0"/>
<valuepolicy name="i7" type="number" value="7.0"/>
<valuepolicy name="i8" type="number" value="8.0"/>
<valuepolicy name="i9" type="number" value="9.0"/>
<valuepolicy name="i10" type="number" value="10.0"/>
<valuepolicy name="i11" type="number" value="11.0"/>
<valuepolicy name="i12" type="number" value="12.0"/>
<valuepolicy name="i13" type="number" value="13.0"/>
<valuepolicy name="i14" type="number" value="14.0"/>
<valuepolicy name="i15" type="number" value="15.0"/>
</valuepolicy>
Workaround:
No known workaround.
Tested versions/platforms:
Customer version/platform:
3.2v4/Linux
We're sorry to hear that
Please tell us why