29 Q_DECLARE_PUBLIC(QQuickSplitView)
32 void updateFillIndex();
33 void layoutResizeSplitItems(qreal &usedWidth, qreal &usedHeight,
int &indexBeingResizedDueToDrag);
34 void layoutResizeFillItem(QQuickItem *fillItem, qreal &usedWidth, qreal &usedHeight,
int indexBeingResizedDueToDrag);
35 void limitAndApplySizes(qreal usedWidth, qreal usedHeight);
36 void layoutPositionItems(
const QQuickItem *fillItem);
40 void createHandleItem(
int index);
41 void removeExcessHandles();
42 void destroyHandles();
43 void resizeHandle(QQuickItem *handleItem);
46 void updateCursorHandle(QQuickItem *handleItem);
48 void updateHandleVisibilities();
49 void updateHoveredHandle(QQuickItem *hoveredItem);
50 void setResizing(
bool resizing);
52 bool isHorizontal()
const;
53 qreal accumulatedSize(
int firstIndex,
int lastIndex)
const;
55 struct EffectiveSizeData {
56 qreal effectiveMinimumWidth;
57 qreal effectiveMinimumHeight;
58 qreal effectivePreferredWidth;
59 qreal effectivePreferredHeight;
60 qreal effectiveMaximumWidth;
61 qreal effectiveMaximumHeight;
68 bool wasResizedByHandle =
false;
71 EffectiveSizeData effectiveSizeData(
const QQuickItemPrivate *itemPrivate,
72 const QQuickSplitViewAttached *attached)
const;
74 int handleIndexForSplitIndex(
int splitIndex)
const;
76 QQuickItem *getContentItem() override;
77 bool handlePress(
const QPointF &point, ulong timestamp) override;
78 bool handleMove(
const QPointF &point, ulong timestamp) override;
79 bool handleRelease(
const QPointF &point, ulong timestamp) override;
81 void itemVisibilityChanged(QQuickItem *item) override;
82 void itemImplicitWidthChanged(QQuickItem *item) override;
83 void itemImplicitHeightChanged(QQuickItem *item) override;
85 void updatePolish() override;
87 static QQuickSplitViewPrivate *get(QQuickSplitView *splitView);
89 Qt::Orientation m_orientation = Qt::Horizontal;
90 QQmlComponent *m_handle =
nullptr;
91 QList<QQuickItem*> m_handleItems;
92 QHash<QQuickItem*, LayoutData> m_layoutData;
93 int m_hoveredHandleIndex = -1;
94 int m_pressedHandleIndex = -1;
95 int m_nextVisibleIndexAfterPressedHandle = -1;
98 QPointF m_handlePosBeforePress;
99 qreal m_leftOrTopItemSizeBeforePress = 0.0;
100 qreal m_rightOrBottomItemSizeBeforePress = 0.0;
101 int m_fillIndex = -1;
102 bool m_layingOut =
false;
103 bool m_ignoreNextLayoutRequest =
false;
104 bool m_resizing =
false;