add sizeThatFits in scroller node
This commit is contained in:
@@ -13,8 +13,6 @@ QQuickItem *DoricScrollerNode::build() {
|
||||
QQuickItem *item = qobject_cast<QQuickItem *>(component.create());
|
||||
this->createLayouts(item);
|
||||
|
||||
getLayouts()->setLayoutType(DoricLayoutType::DoricStack);
|
||||
|
||||
item->setProperty("wrapper", QString::number((qint64)this));
|
||||
return item;
|
||||
}
|
||||
@@ -109,3 +107,13 @@ void DoricScrollerNode::blendSubNode(QJsonValue subProperties) {
|
||||
mChildNode->blend(subProperties["props"]);
|
||||
}
|
||||
}
|
||||
|
||||
QSizeF DoricScrollerNode::sizeThatFits(QSizeF size) {
|
||||
DoricLayouts *layout = (DoricLayouts *)mChildNode->getNodeView()
|
||||
->property("doricLayout")
|
||||
.toULongLong();
|
||||
layout->apply(size);
|
||||
|
||||
return QSizeF(qMin(size.width(), layout->getMeasuredWidth()),
|
||||
qMin(size.height(), layout->getMeasuredHeight()));
|
||||
}
|
||||
|
@@ -23,6 +23,8 @@ public:
|
||||
virtual void afterBlended(QJsonValue jsValue) override;
|
||||
|
||||
virtual void requestLayout() override;
|
||||
|
||||
QSizeF sizeThatFits(QSizeF size);
|
||||
};
|
||||
|
||||
#endif // DORICSCROLLERNODE_H
|
||||
|
Reference in New Issue
Block a user