33 #include <QtWidgets/qgraphicsanchorlayout.h>
34 #include <private/qgraphicsanchorlayout_p.h>
36 #define TEST_COMPLEX_CASES
129 int resultIndex,
const QRectF& resultRect )
155 setContentsMargins( 0,0,0,0 );
195 void testRemoveItem();
200 void testAddAndRemoveAnchor();
202 void testSpecialCases();
204 void testBasicLayout_data();
205 void testBasicLayout();
207 void testNegativeSpacing_data();
208 void testNegativeSpacing();
210 void testMixedSpacing_data();
211 void testMixedSpacing();
213 void testMulti_data();
216 void testCenterAnchors_data();
217 void testCenterAnchors();
219 void testRemoveCenterAnchor_data();
220 void testRemoveCenterAnchor();
222 void testSingleSizePolicy_data();
223 void testSingleSizePolicy();
225 void testDoubleSizePolicy_data();
226 void testDoubleSizePolicy();
228 void testSizeDistribution_data();
229 void testSizeDistribution();
233 #ifdef TEST_COMPLEX_CASES
234 void testComplexCases_data();
235 void testComplexCases();
240 void tst_QGraphicsAnchorLayout1::testCount()
264 void tst_QGraphicsAnchorLayout1::testRemoveAt()
292 void tst_QGraphicsAnchorLayout1::testRemoveItem()
324 void tst_QGraphicsAnchorLayout1::testItemAt()
352 void tst_QGraphicsAnchorLayout1::testIndexOf()
382 void tst_QGraphicsAnchorLayout1::testAddAndRemoveAnchor()
462 void tst_QGraphicsAnchorLayout1::testIsValid()
545 void tst_QGraphicsAnchorLayout1::testSpecialCases()
551 " in wrong parent; moved to correct parent");
572 " in wrong parent; moved to correct parent");
750 void tst_QGraphicsAnchorLayout1::testBasicLayout_data()
752 QTest::addColumn<QSizeF>(
"size");
753 QTest::addColumn<BasicLayoutTestDataList>(
"data");
754 QTest::addColumn<BasicLayoutTestResultList>(
"result");
772 << BasicResult(0,
QRectF(20, 10, 150, 50) )
796 << BasicResult(0,
QRectF(0, 0, 200, 100) )
815 << BasicResult(0,
QRectF(50, 20, 100, 60) )
839 << BasicResult(0,
QRectF(10, 10, 180, 80) )
840 << BasicResult(1,
QRectF(10, 10, 180, 80) )
868 << BasicResult(0,
QRectF(30, 10, 160, 70) )
869 << BasicResult(1,
QRectF(10, 0, 190, 90) )
893 << BasicResult(0,
QRectF(10, 10, 180, 80) )
894 << BasicResult(1,
QRectF(10, 80, 10, 10) )
918 << BasicResult(0,
QRectF(10, 10, 10, 80) )
919 << BasicResult(1,
QRectF(30, 10, 160, 70) )
948 << BasicResult(0,
QRectF(10, 10, 10, 80) )
949 << BasicResult(1,
QRectF(50, 10, 60, 70) )
973 << BasicResult(0,
QRectF(10, 10, 10, 80) )
974 << BasicResult(1,
QRectF(30, 20, 160, 60) )
998 << BasicResult(0,
QRectF(10, 10, 10, 80) )
999 << BasicResult(1,
QRectF(30, 20, 160, 50) )
1023 << BasicResult(0,
QRectF(10, 10, 10, 80) )
1024 << BasicResult(1,
QRectF(80, 10, 40, 70) )
1048 << BasicResult(0,
QRectF(10, 10, 10, 80) )
1049 << BasicResult(1,
QRectF(90, 20, 30, 60) )
1073 << BasicResult(0,
QRectF(10, 10, 30, 60) )
1074 << BasicResult(1,
QRectF(100, 20, 90, 60) )
1101 << BasicResult(0,
QRectF(10, 10, 60, 40) )
1102 << BasicResult(1,
QRectF(40, 20, 150, 70) )
1109 void tst_QGraphicsAnchorLayout1::testNegativeSpacing_data()
1111 QTest::addColumn<QSizeF>(
"size");
1112 QTest::addColumn<BasicLayoutTestDataList>(
"data");
1113 QTest::addColumn<BasicLayoutTestResultList>(
"result");
1145 << BasicResult(0,
QRectF(-20, -10, 250, 150) )
1171 << BasicResult(0,
QRectF(-10, -10, 220, 120) )
1199 << BasicResult(0,
QRectF(50, 20, 100, 60) )
1237 << BasicResult(0,
QRectF(-10, -10, 30, 120) )
1238 << BasicResult(1,
QRectF(10, -10, 200, 130) )
1264 << BasicResult(0,
QRectF(-10, -10, 70, 120) )
1265 << BasicResult(1,
QRectF(80, 0, 130, 120) )
1272 void tst_QGraphicsAnchorLayout1::testMixedSpacing_data()
1274 QTest::addColumn<QSizeF>(
"size");
1275 QTest::addColumn<BasicLayoutTestDataList>(
"data");
1276 QTest::addColumn<BasicLayoutTestResultList>(
"result");
1302 << BasicResult(0,
QRectF(-50, 10, 145, 40) )
1303 << BasicResult(1,
QRectF(-60, 45, 140, 60) )
1327 << BasicResult(0,
QRectF(65, 5, 35, 35) )
1328 << BasicResult(1,
QRectF(40, 5, 60, 35) )
1375 << BasicResult(0,
QRectF(5,5,20,20))
1376 << BasicResult(1,
QRectF(25,25,25,25))
1377 << BasicResult(2,
QRectF(50,50,25,20))
1378 << BasicResult(3,
QRectF(75,25,25,25))
1379 << BasicResult(4,
QRectF(100,5,20,20))
1402 << BasicResult(0,
QRectF(0,0,0,0))
1423 << BasicResult(0,
QRectF(50,0,50,50))
1424 << BasicResult(1,
QRectF(50,0,50,50))
1427 QTest::newRow(
"Two widgets, one has fixed size") <<
QSizeF(150, 150) << theData << theResult;
1431 void tst_QGraphicsAnchorLayout1::testMulti_data()
1433 QTest::addColumn<QSizeF>(
"size");
1434 QTest::addColumn<BasicLayoutTestDataList>(
"data");
1435 QTest::addColumn<BasicLayoutTestResultList>(
"result");
1446 for (
int i = 0 ;
i <
n;
i++ ) {
1456 << BasicResult(
i,
QRectF(10, 20, 160, 40) );
1476 for (
int i = 0 ;
i <
n;
i++ ) {
1486 }
else if (
i ==
n-1 ) {
1509 << BasicResult(
i,
QRectF((
i+1)*horizontalStep, (
i+1)*verticalStep, horizontalStep, verticalStep) );
1513 if (
sizeof(
qreal) == 4) {
1514 qDebug(
"Linear multi: Skipping! (qreal has too little precision, result will be wrong)");
1533 for (
int i = 0 ;
i <
n;
i++ ) {
1543 }
else if (
i ==
n-1 ) {
1550 }
else if (
i == ((
n-1)/2) ) {
1558 }
else if (
i < ((
n-1)/2) ) {
1576 if (
i <= ((
n-1)/2) ) {
1579 << BasicResult(
i,
QRectF((
i+1)*horizontalStep, (
i+1)*verticalStep, horizontalStep, verticalStep) );
1583 << BasicResult(
i,
QRectF((
i+1)*horizontalStep, (
n-
i)*verticalStep, horizontalStep, verticalStep) );
1587 if (
sizeof(
qreal) == 4) {
1588 qDebug(
"V multi: Skipping! (qreal has too little precision, result will be wrong)");
1608 for (
int i = 0 ;
i <
n;
i++ ) {
1614 }
else if ( (
i+1)%
d == 0 ) {
1632 }
else if (
i >= (
d-1)*
d ){
1646 << BasicResult(
i,
QRectF(((
i%
d)+1)*horizontalStep, ((
i/
d)+1)*verticalStep, horizontalStep, verticalStep) );
1649 if (
sizeof(
qreal) == 4) {
1650 qDebug(
"Grid multi: Skipping! (qreal has too little precision, result will be wrong)");
1674 static bool fuzzierCompare(
const QRectF &r1,
const QRectF &r2)
1677 return fuzzierCompare(
r1.
x(),
r2.
x()) && fuzzierCompare(
r1.
y(),
r2.
y())
1681 void tst_QGraphicsAnchorLayout1::testBasicLayout()
1690 int widgetCount = -1;
1691 for (
int i = 0;
i <
data.count(); ++
i) {
1693 widgetCount = qMax(widgetCount,
item.firstIndex);
1694 widgetCount = qMax(widgetCount,
item.secondIndex);
1700 for (
int i = 0;
i < widgetCount; ++
i)
1706 for (
int i = 0;
i <
data.count(); ++
i) {
1723 for (
int i = 0;
i <
result.count(); ++
i) {
1728 QVERIFY(fuzzierCompare(actual, expected));
1735 for (
int j = 0;
j <
result.count(); ++
j) {
1739 if (mirroredRect.isValid()){
1740 mirroredRect.moveLeft(
size.width()-
item.rect.width()-
item.rect.left());
1742 QRectF expected = mirroredRect;
1745 QVERIFY(fuzzierCompare(actual, expected));
1752 void tst_QGraphicsAnchorLayout1::testNegativeSpacing()
1758 void tst_QGraphicsAnchorLayout1::testMixedSpacing()
1764 void tst_QGraphicsAnchorLayout1::testMulti()
1770 void tst_QGraphicsAnchorLayout1::testCenterAnchors_data()
1772 QTest::addColumn<QSizeF>(
"size");
1773 QTest::addColumn<BasicLayoutTestDataList>(
"data");
1774 QTest::addColumn<BasicLayoutTestResultList>(
"result");
1792 << BasicResult(0,
QRectF(5, 5, 10, 10) );
1821 << BasicResult(0,
QRectF(5, 5, 10, 10) );
1839 << BasicResult(0,
QRectF(5, 5, 10, 10) );
1862 << BasicResult(0,
QRectF(5, 5, 10, 10) );
1883 << BasicResult(0,
QRectF(20, 0, 20, 40))
1884 << BasicResult(1,
QRectF(20, 20, 20, 20));
1921 << BasicResult(0,
QRectF(20, 30, 20, 30))
1922 << BasicResult(1,
QRectF(30, 20, 30, 20));
1950 << BasicResult(0,
QRectF(0, 30, 10, 20))
1951 << BasicResult(1,
QRectF(20, 0, 30, 10))
1952 << BasicResult(2,
QRectF(60, 15, 40, 10));
1975 << BasicResult(0,
QRectF(20, 20, 30, 80))
1976 << BasicResult(1,
QRectF(20, 20, 80, 30));
2000 << BasicResult(0,
QRectF(30, 10, 15, 10))
2001 << BasicResult(1,
QRectF(10, 30, 10, 10));
2028 << BasicResult(0,
QRectF(0, 0, 45, 45))
2029 << BasicResult(1,
QRectF(55, 55, 45, 45));
2036 void tst_QGraphicsAnchorLayout1::testCenterAnchors()
2057 void tst_QGraphicsAnchorLayout1::testRemoveCenterAnchor_data()
2059 QTest::addColumn<QSizeF>(
"size");
2060 QTest::addColumn<BasicLayoutTestDataList>(
"data");
2061 QTest::addColumn<BasicLayoutTestDataList>(
"removeData");
2062 QTest::addColumn<BasicLayoutTestResultList>(
"result");
2090 << BasicResult(0,
QRectF(5, 5, 10, 10) );
2093 << theRemoveData << theResult;
2131 << BasicResult(0,
QRectF(0, 30, 10, 20))
2132 << BasicResult(1,
QRectF(20, 0, 30, 10))
2133 << BasicResult(2,
QRectF(60, 15, 40, 10));
2135 QTest::newRow(
"remove, center, three") <<
QSizeF(100, 50) << theData << theRemoveData << theResult;
2167 << BasicResult(0,
QRectF(5, 5, 10, 10) );
2170 << theRemoveData << theResult;
2175 void tst_QGraphicsAnchorLayout1::testRemoveCenterAnchor()
2195 int widgetCount = -1;
2196 for (
int i = 0;
i <
data.count(); ++
i) {
2198 widgetCount = qMax(widgetCount,
item.firstIndex);
2199 widgetCount = qMax(widgetCount,
item.secondIndex);
2205 for (
int i = 0;
i < widgetCount; ++
i) {
2213 for (
int i = 0;
i <
data.count(); ++
i) {
2223 for (
int i = 0;
i < removeData.count(); ++
i) {
2239 for (
int i = 0;
i <
result.count(); ++
i) {
2249 void tst_QGraphicsAnchorLayout1::testSingleSizePolicy_data()
2251 QTest::addColumn<QSizeF>(
"size");
2252 QTest::addColumn<QSizePolicy>(
"policy");
2253 QTest::addColumn<bool>(
"valid");
2366 void tst_QGraphicsAnchorLayout1::testSingleSizePolicy()
2395 void tst_QGraphicsAnchorLayout1::testDoubleSizePolicy_data()
2398 QTest::addColumn<QSizePolicy>(
"policy1");
2399 QTest::addColumn<QSizePolicy>(
"policy2");
2400 QTest::addColumn<qreal>(
"width1");
2401 QTest::addColumn<qreal>(
"width2");
2409 const qreal width1 = 50;
2410 const qreal width2 = 100-10-10-10-width1;
2411 QTest::newRow(
"double size policy: fixed-preferred") << sizePolicy1 << sizePolicy2 << width1 << width2;
2417 const qreal width1 = 50;
2418 const qreal width2 = 100-10-10-10-width1;
2419 QTest::newRow(
"double size policy: minimum-preferred") << sizePolicy1 << sizePolicy2 << width1 << width2;
2425 const qreal width1 = 35;
2426 const qreal width2 = 100-10-10-10-width1;
2427 QTest::newRow(
"double size policy: maximum-preferred") << sizePolicy1 << sizePolicy2 << width1 << width2;
2433 const qreal width1 = 35;
2434 const qreal width2 = 100-10-10-10-width1;
2435 QTest::newRow(
"double size policy: preferred-preferred") << sizePolicy1 << sizePolicy2 << width1 << width2;
2441 const qreal width1 = 50;
2442 const qreal width2 = 100-10-10-10-width1;
2443 QTest::newRow(
"double size policy: min.expanding-preferred") << sizePolicy1 << sizePolicy2 << width1 << width2;
2449 const qreal width1 = 35;
2450 const qreal width2 = 100-10-10-10-width1;
2451 QTest::newRow(
"double size policy: expanding-preferred") << sizePolicy1 << sizePolicy2 << width1 << width2;
2459 const qreal width1 = 35;
2460 const qreal width2 = 100-10-10-10-width1;
2461 QTest::newRow(
"double size policy: ignored-preferred") << sizePolicy1 << sizePolicy2 << width1 << width2;
2483 const qreal width1 = 20;
2484 const qreal width2 = 100-10-10-10-width1;
2485 QTest::newRow(
"double size policy: maximum-fixed") << sizePolicy1 << sizePolicy2 << width1 << width2;
2491 const qreal width1 = 20;
2492 const qreal width2 = 100-10-10-10-width1;
2493 QTest::newRow(
"double size policy: preferred-fixed") << sizePolicy1 << sizePolicy2 << width1 << width2;
2507 const qreal width1 = 20;
2508 const qreal width2 = 100-10-10-10-width1;
2509 QTest::newRow(
"double size policy: expanding-fixed") << sizePolicy1 << sizePolicy2 << width1 << width2;
2515 const qreal width1 = 20;
2516 const qreal width2 = 100-10-10-10-width1;
2517 QTest::newRow(
"double size policy: ignored-fixed") << sizePolicy1 << sizePolicy2 << width1 << width2;
2521 void tst_QGraphicsAnchorLayout1::testDoubleSizePolicy()
2548 if ( width1 == -1.0f ) {
2561 void tst_QGraphicsAnchorLayout1::testSizeDistribution_data()
2564 QTest::addColumn<SizeHintArray>(
"sizeHints1");
2565 QTest::addColumn<SizeHintArray>(
"sizeHints2");
2566 QTest::addColumn<qreal>(
"width1");
2567 QTest::addColumn<qreal>(
"width2");
2583 const qreal width1 = 35;
2584 const qreal width2 = 100-10-10-10-width1;
2585 QTest::newRow(
"size distribution: preferred equal") << sizeHints1 << sizeHints2 << width1 << width2;
2599 const qreal width1 = 20;
2600 const qreal width2 = 100-10-10-10-width1;
2601 QTest::newRow(
"size distribution: preferred non-equal") << sizeHints1 << sizeHints2 << width1 << width2;
2615 const qreal width1 = 28;
2616 const qreal width2 = 100-10-10-10-width1;
2617 QTest::newRow(
"size distribution: below preferred") << sizeHints1 << sizeHints2 << width1 << width2;
2631 const qreal width1 = 22;
2632 const qreal width2 = 100-10-10-10-width1;
2633 QTest::newRow(
"size distribution: above preferred") << sizeHints1 << sizeHints2 << width1 << width2;
2638 void tst_QGraphicsAnchorLayout1::testSizeDistribution()
2676 if ( width1 == -1.0f ) {
2686 void tst_QGraphicsAnchorLayout1::testSizeHint()
2690 for(
int i = 0;
i < 5;
i++ ) {
2693 widget[
i]->setPreferredSize( 20, 20 );
2796 widget[2]->minimumWidth() +
2797 widget[3]->minimumWidth() +
2798 widget[4]->minimumWidth(), 0 ) );
2802 widget[2]->preferredWidth() +
2803 widget[3]->preferredWidth() +
2804 widget[4]->preferredWidth(), 0 ) );
2808 widget[2]->maximumWidth() +
2809 widget[3]->maximumWidth() +
2810 widget[4]->maximumWidth(), 0 ) );
2816 for(
int i = 0;
i < 5;
i++ ) {
2821 #ifdef TEST_COMPLEX_CASES
2823 void tst_QGraphicsAnchorLayout1::testComplexCases_data()
2825 QTest::addColumn<QSizeF>(
"size");
2826 QTest::addColumn<BasicLayoutTestDataList>(
"data");
2827 QTest::addColumn<AnchorItemSizeHintList>(
"sizehint");
2828 QTest::addColumn<BasicLayoutTestResultList>(
"result");
2859 << BasicResult(0,
QRectF(10, 0, 30, 50) )
2860 << BasicResult(1,
QRectF(50, 0, 30, 50) )
2861 << BasicResult(2,
QRectF(50, 0, 30, 50) )
2865 << BasicResult(0,
QRectF(10, 0, 60, 50) )
2866 << BasicResult(1,
QRectF(80, 0, 60, 50) )
2867 << BasicResult(2,
QRectF(80, 0, 60, 50) )
2870 QTest::newRow(
"Three, the same sizehint(1)") <<
QSizeF(90, 50) << theData << theSizeHint << theResult1;
2871 QTest::newRow(
"Three, the same sizehint(2)") <<
QSizeF(150, 50) << theData << theSizeHint << theResult2;
2900 << BasicResult(0,
QRectF(10, 0, 70, 50) )
2901 << BasicResult(1,
QRectF(90, 0, 35, 50) )
2902 << BasicResult(2,
QRectF(90, 0, 35, 50) );
2904 QTest::newRow(
"Three, serial is bigger") <<
QSizeF(135, 50) << theData << theSizeHint << theResult;
2954 << BasicResult(0,
QRectF(10, 0, 40, 50) )
2955 << BasicResult(1,
QRectF(60, 0, 80, 50) )
2956 << BasicResult(2,
QRectF(60, 0, 80, 50) )
2959 QTest::newRow(
"Three, parallel is bigger") <<
QSizeF(150, 50) << theData << theSizeHint << theResult;
3005 << BasicResult(0,
QRectF(10, 0, 40, 50) )
3006 << BasicResult(1,
QRectF(60, 0, 40, 50) )
3007 << BasicResult(2,
QRectF(40, 0, 60, 50) )
3012 QTest::newRow(
"Three, the same sizehint, one center anchor") <<
QSizeF(110, 50) << theData << theSizeHint << theResult;
3016 void tst_QGraphicsAnchorLayout1::testComplexCases()
3026 int widgetCount = -1;
3027 for (
int i = 0;
i <
data.count(); ++
i) {
3029 widgetCount = qMax(widgetCount,
item.firstIndex);
3030 widgetCount = qMax(widgetCount,
item.secondIndex);
3036 for (
int i = 0;
i < widgetCount; ++
i) {
3040 w->setPreferredWidth( sizehint[
i].hpref );
3041 w->setMaximumWidth( sizehint[
i].hmax );
3043 w->setMinimumHeight( sizehint[
i].vmin );
3044 w->setPreferredHeight( sizehint[
i].vpref );
3045 w->setMaximumHeight( sizehint[
i].vmax );
3053 for (
int i = 0;
i <
data.count(); ++
i) {
3070 for (
int i = 0;
i <
result.count(); ++
i) {
3079 for (
int j = 0;
j <
result.count(); ++
j) {
3083 if (mirroredRect.isValid()){
3084 mirroredRect.moveLeft(
size.width()-
item.rect.width()-
item.rect.left());
3096 #include "tst_qgraphicsanchorlayout1.moc"
small capitals from c petite p scientific i
[1]
QSize minimumSize() const override
int count() const override
QSize maximumSize() const override
QLayoutItem * itemAt(int) const override
The QGraphicsAnchor class represents an anchor between two items in a QGraphicsAnchorLayout.
void setSpacing(qreal spacing)
The QGraphicsAnchorLayout class provides a layout where one can anchor widgets together in Graphics V...
QGraphicsAnchor * addAnchor(QGraphicsLayoutItem *firstItem, Qt::AnchorPoint firstEdge, QGraphicsLayoutItem *secondItem, Qt::AnchorPoint secondEdge)
void setSpacing(qreal spacing)
QGraphicsLayoutItem * itemAt(int index) const override
QGraphicsAnchor * anchor(QGraphicsLayoutItem *firstItem, Qt::AnchorPoint firstEdge, QGraphicsLayoutItem *secondItem, Qt::AnchorPoint secondEdge)
void removeAt(int index) override
int count() const override
bool hasConflicts() const
static QGraphicsAnchorLayoutPrivate * get(QGraphicsAnchorLayout *q)
The QGraphicsItem class is the base class for all graphical items in a QGraphicsScene.
void setParentItem(QGraphicsItem *parent)
QGraphicsItem * parentItem() const
void setContentsMargins(qreal left, qreal top, qreal right, qreal bottom)
The QGraphicsLayoutItem class can be inherited to allow your custom items to be managed by layouts.
void setPreferredWidth(qreal width)
QGraphicsLayoutItem * parentLayoutItem() const
void removeItem(QLayoutItem *)
virtual int indexOf(const QWidget *) const
static bool isDebugBuild()
iterator insert(const Key &key, const T &value)
The QObject class is the base class of all Qt objects.
The QPoint class defines a point in the plane using integer precision.
The QRectF class defines a finite rectangle in the plane using floating point precision.
constexpr int height() const noexcept
constexpr int x() const noexcept
constexpr int width() const noexcept
constexpr int y() const noexcept
The QSizeF class defines the size of a two-dimensional object using floating point precision.
The QSize class defines the size of a two-dimensional object using integer point precision.
The QSizePolicy class is a layout attribute describing horizontal and vertical resizing policy.
The QString class provides a Unicode character string.
static QString number(int, int base=10)
void removeAnchor(QGraphicsLayoutItem *startItem, Qt::AnchorPoint startEdge, QGraphicsLayoutItem *endItem, Qt::AnchorPoint endEdge)
void setAnchor(QGraphicsLayoutItem *startItem, Qt::AnchorPoint startEdge, QGraphicsLayoutItem *endItem, Qt::AnchorPoint endEdge, qreal value)
void removeItem(QGraphicsLayoutItem *item)
int indexOf(const QGraphicsLayoutItem *item) const
qDeleteAll(list.begin(), list.end())
Q_TESTLIB_EXPORT QTestData & newRow(const char *dataTag)
Q_TESTLIB_EXPORT void ignoreMessage(QtMsgType type, const char *message)
Q_TESTLIB_EXPORT const char * currentDataTag()
const char * sizePolicy(int v)
int PRIV() strcmp(PCRE2_SPTR str1, PCRE2_SPTR str2)
EGLOutputLayerEXT EGLint EGLAttrib value
QT_END_INCLUDE_NAMESPACE typedef double qreal
GLboolean GLboolean GLboolean b
GLfloat GLfloat GLfloat w
[0]
GLint GLsizei GLsizei height
GLboolean GLboolean GLboolean GLboolean a
[7]
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLsizei GLsizei GLfloat distance
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
#define QTEST_MAIN(TestObject)
#define QFETCH(Type, name)
#define QVERIFY(statement)
mimeData setData("text/csv", csvData)
QList< QWidget * > widgets
[11]
AnchorItemSizeHint(qreal hmin, qreal hpref, qreal hmax, qreal vmin, qreal vpref, qreal vmax)
Qt::AnchorPoint firstEdge
Qt::AnchorPoint secondEdge
BasicLayoutTestData(int index1, Qt::AnchorPoint edge1, int index2, Qt::AnchorPoint edge2, qreal distance)
BasicLayoutTestResult(int resultIndex, const QRectF &resultRect)
The QLatin1Char class provides an 8-bit ASCII/Latin-1 character.
QRect childRect(QAccessibleInterface *iface, int index=0)
QMap< int, qreal > SizeHintArray
QGraphicsLayoutItem * getItem(int index, const QList< QGraphicsWidget * > &widgets, QGraphicsLayoutItem *defaultItem)
QList< BasicLayoutTestData > BasicLayoutTestDataList
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent