![]() |
Qt 6.x
The Qt SDK
|
#include <qquicksplitview_p_p.h>
Inheritance diagram for QQuickSplitViewPrivate:
Collaboration diagram for QQuickSplitViewPrivate:Classes | |
| struct | EffectiveSizeData |
| struct | LayoutData |
Additional Inherited Members | |
Public Types inherited from QQuickControlPrivate | |
| enum class | UnhideVisibility { Show , Hide } |
Public Types inherited from QQuickItemPrivate | |
| enum | ChangeType { Geometry = 0x01 , SiblingOrder = 0x02 , Visibility = 0x04 , Opacity = 0x08 , Destroyed = 0x10 , Parent = 0x20 , Children = 0x40 , Rotation = 0x80 , ImplicitWidth = 0x100 , ImplicitHeight = 0x200 , Enabled = 0x400 , Focus = 0x800 , AllChanges = 0xFFFFFFFF } |
| enum | ExtraDataTag { NoTag = 0x1 , LeftMouseButtonAccepted = 0x2 } |
| enum | DirtyType { TransformOrigin = 0x00000001 , Transform = 0x00000002 , BasicTransform = 0x00000004 , Position = 0x00000008 , Size = 0x00000010 , ZValue = 0x00000020 , Content = 0x00000040 , Smooth = 0x00000080 , OpacityValue = 0x00000100 , ChildrenChanged = 0x00000200 , ChildrenStackingChanged = 0x00000400 , ParentChanged = 0x00000800 , Clip = 0x00001000 , Window = 0x00002000 , EffectReference = 0x00008000 , Visible = 0x00010000 , HideReference = 0x00020000 , Antialiasing = 0x00040000 , TransformUpdateMask , ComplexTransformUpdateMask = Transform | Window , ContentUpdateMask = Size | Content | Smooth | Window | Antialiasing , ChildrenUpdateMask = ChildrenChanged | ChildrenStackingChanged | EffectReference | Window } |
Public Types inherited from QObjectPrivate | |
| typedef void(* | StaticMetaCallFunction) (QObject *, QMetaObject::Call, int, void **) |
| using | ConnectionDataPointer = QExplicitlySharedDataPointer< ConnectionData > |
Static Public Attributes inherited from QQuickControlPrivate | |
| static const ChangeTypes | ImplicitSizeChanges = QQuickItemPrivate::ImplicitWidth | QQuickItemPrivate::ImplicitHeight | QQuickItemPrivate::Destroyed |
| Abstract base type providing functionality common to all controls. | |
Protected Member Functions inherited from QQuickPaletteProviderPrivateBase< QQuickItem, QQuickItemPrivate > | |
| void | setCurrentColorGroup () |
Definition at line 26 of file qquicksplitview_p_p.h.
| qreal QQuickSplitViewPrivate::accumulatedSize | ( | int | firstIndex, |
| int | lastIndex | ||
| ) | const |
Definition at line 820 of file qquicksplitview.cpp.
References QList< T >::at(), QQuickContainerPrivate::contentModel, QQuickSplitViewAttachedPrivate::get(), QQuickItem::height, i, isHorizontal(), QGraphicsItem::isVisible(), QQuickItem::isVisible(), item, m_fillIndex, m_handleItems, QQuickSplitViewAttachedPrivate::m_isMinimumHeightSet, QQuickSplitViewAttachedPrivate::m_isMinimumWidthSet, QQuickSplitViewAttachedPrivate::m_minimumHeight, QQuickSplitViewAttachedPrivate::m_minimumWidth, QQmlObjectModel::object, qobject_cast< QQuickItem * >(), and QQuickItem::width.
Referenced by layoutResizeSplitItems().
Here is the call graph for this function:
Here is the caller graph for this function:| void QQuickSplitViewPrivate::createHandleItem | ( | int | index | ) |
Definition at line 772 of file qquicksplitview.cpp.
References QQmlComponent::beginCreate(), QQmlComponent::completeCreate(), QQuickContainerPrivate::contentModel, context, QQmlObjectModel::count(), QQmlComponent::creationContext(), QList< T >::insert(), Qt::LeftButton, m_handle, m_handleItems, qCDebug, qmlContext(), qobject_cast< QQuickItem * >(), resizeHandle(), QQuickItem::setAcceptedMouseButtons(), QQuickItem::setKeepMouseGrab(), QObject::setParent(), and QQuickItem::setParentItem().
Referenced by createHandles().
Here is the call graph for this function:
Here is the caller graph for this function:| void QQuickSplitViewPrivate::createHandles | ( | ) |
Definition at line 757 of file qquicksplitview.cpp.
References QQuickContainerPrivate::contentModel, QQmlObjectModel::count(), createHandleItem(), i, m_handle, m_handleItems, Q_ASSERT, qCDebug, and QList< T >::reserve().
Here is the call graph for this function:| void QQuickSplitViewPrivate::destroyHandles | ( | ) |
Definition at line 916 of file qquicksplitview.cpp.
References QList< T >::clear(), m_handleItems, qCDebug, qDeleteAll(), and QList< T >::size().
Here is the call graph for this function:| QQuickSplitViewPrivate::EffectiveSizeData QQuickSplitViewPrivate::effectiveSizeData | ( | const QQuickItemPrivate * | itemPrivate, |
| const QQuickSplitViewAttached * | attached | ||
| ) | const |
Definition at line 893 of file qquicksplitview.cpp.
References QQuickItemPrivate::data(), effectiveMaximumHeight(), effectiveMaximumWidth(), effectiveMinimumHeight(), effectiveMinimumWidth(), effectivePreferredHeight(), effectivePreferredWidth(), and QQuickSplitViewAttachedPrivate::get().
Referenced by layoutPositionItems(), layoutResizeFillItem(), layoutResizeSplitItems(), and limitAndApplySizes().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 1156 of file qquicksplitview.cpp.
Referenced by QQuickSplitViewAttachedPrivate::requestLayoutView(), QQuickSplitViewAttached::setFillHeight(), QQuickSplitViewAttached::setFillWidth(), QQuickSplitViewAttached::setPreferredHeight(), and QQuickSplitViewAttached::setPreferredWidth().
Here is the caller graph for this function:
|
overridevirtual |
Reimplemented from QQuickControlPrivate.
Definition at line 1020 of file qquicksplitview.cpp.
References QQuickControlPrivate::getContentItem(), and item.
Here is the call graph for this function:| int QQuickSplitViewPrivate::handleIndexForSplitIndex | ( | int | splitIndex | ) | const |
Definition at line 907 of file qquicksplitview.cpp.
References QQuickContainerPrivate::contentModel, and QQmlObjectModel::count().
Referenced by itemVisibilityChanged().
Here is the call graph for this function:
Here is the caller graph for this function:Reimplemented from QQuickControlPrivate.
Definition at line 1081 of file qquicksplitview.cpp.
References QQuickControlPrivate::handleMove(), m_mousePos, m_pressedHandleIndex, and updatePolish().
Here is the call graph for this function:Reimplemented from QQuickControlPrivate.
Definition at line 1029 of file qquicksplitview.cpp.
References arg, QQuickItem::childAt(), QQuickContainerPrivate::contentModel, QQmlObjectModel::count(), QString::fromLatin1(), QQuickSplitHandleAttachedPrivate::get(), QQuickControlPrivate::handlePress(), QQuickItem::height, Qt::Horizontal, i, QListSpecialMethodsBase< T >::indexOf(), isHorizontal(), m_handleItems, m_handlePosBeforePress, m_leftOrTopItemSizeBeforePress, m_mousePos, m_nextVisibleIndexAfterPressedHandle, m_orientation, m_pressedHandleIndex, m_pressPos, m_rightOrBottomItemSizeBeforePress, QQmlObjectModel::object, QQuickItem::position(), Q_ASSERT_X, Q_FUNC_INFO, qCDebug, qobject_cast< QQuickItem * >(), qPrintable, QQuickSplitHandleAttachedPrivate::setPressed(), setResizing(), QQuickItem::width, QPointF::x(), and QPointF::y().
Here is the call graph for this function:
|
overridevirtual |
Reimplemented from QQuickControlPrivate.
Definition at line 1094 of file qquicksplitview.cpp.
References QList< T >::at(), QQuickSplitHandleAttachedPrivate::get(), QQuickControlPrivate::handleRelease(), m_handleItems, m_handlePosBeforePress, m_leftOrTopItemSizeBeforePress, m_mousePos, m_pressedHandleIndex, m_pressPos, m_rightOrBottomItemSizeBeforePress, QQuickSplitHandleAttachedPrivate::setPressed(), and setResizing().
Here is the call graph for this function:| bool QQuickSplitViewPrivate::isHorizontal | ( | ) | const |
Definition at line 1015 of file qquicksplitview.cpp.
References Qt::Horizontal, and m_orientation.
Referenced by accumulatedSize(), handlePress(), layout(), layoutPositionItems(), layoutResizeFillItem(), layoutResizeSplitItems(), limitAndApplySizes(), and resizeHandle().
Here is the caller graph for this function:
|
overridevirtual |
Reimplemented from QQuickControlPrivate.
Definition at line 1146 of file qquicksplitview.cpp.
References requestLayout().
Here is the call graph for this function:
|
overridevirtual |
Reimplemented from QQuickControlPrivate.
Definition at line 1141 of file qquicksplitview.cpp.
References requestLayout().
Here is the call graph for this function:
|
overridevirtual |
Reimplemented from QQuickItemChangeListener.
Definition at line 1116 of file qquicksplitview.cpp.
References QList< T >::at(), QQuickContainerPrivate::contentModel, handleIndexForSplitIndex(), QQmlObjectModel::indexOf(), QGraphicsItem::isVisible(), item, m_handleItems, Q_ASSERT, qCDebug, requestLayout(), QQuickItem::setVisible(), updateFillIndex(), and updateHandleVisibilities().
Here is the call graph for this function:| void QQuickSplitViewPrivate::layout | ( | ) |
Definition at line 699 of file qquicksplitview.cpp.
References arg, QQuickItemPrivate::componentComplete, QQuickContainerPrivate::contentModel, QQmlObjectModel::count(), QString::fromLatin1(), isHorizontal(), layoutPositionItems(), layoutResizeFillItem(), layoutResizeSplitItems(), limitAndApplySizes(), m_fillIndex, m_handle, m_handleItems, m_layingOut, m_layoutData, QQmlObjectModel::object, Q_ASSERT_X, Q_FUNC_INFO, qCDebug, qobject_cast< QQuickItem * >(), qPrintable, and QList< T >::size().
Referenced by updatePolish().
Here is the call graph for this function:
Here is the caller graph for this function:| void QQuickSplitViewPrivate::layoutPositionItems | ( | const QQuickItem * | fillItem | ) |
Definition at line 618 of file qquicksplitview.cpp.
References QList< T >::at(), QQuickContainerPrivate::contentModel, QQmlObjectModel::count(), effectiveSizeData(), QQuickItemPrivate::get(), QQuickItem::height, i, isHorizontal(), QGraphicsItem::isVisible(), item, m_fillIndex, m_handle, m_handleItems, QQmlObjectModel::object, Q_UNLIKELY, qCDebug, qobject_cast< QQuickItem * >(), QGraphicsItem::setX(), QQuickItem::setX(), QGraphicsItem::setY(), QQuickItem::setY(), and QQuickItem::width.
Referenced by layout().
Here is the call graph for this function:
Here is the caller graph for this function:| void QQuickSplitViewPrivate::layoutResizeFillItem | ( | QQuickItem * | fillItem, |
| qreal & | usedWidth, | ||
| qreal & | usedHeight, | ||
| int | indexBeingResizedDueToDrag | ||
| ) |
Definition at line 484 of file qquicksplitview.cpp.
References effectiveSizeData(), QQuickItemPrivate::get(), QQuickSplitViewPrivate::LayoutData::height, isHorizontal(), QQuickItem::isVisible(), m_fillIndex, m_layoutData, qBound(), qCDebug, and QQuickSplitViewPrivate::LayoutData::width.
Referenced by layout().
Here is the call graph for this function:
Here is the caller graph for this function:| void QQuickSplitViewPrivate::layoutResizeSplitItems | ( | qreal & | usedWidth, |
| qreal & | usedHeight, | ||
| int & | indexBeingResizedDueToDrag | ||
| ) |
Definition at line 278 of file qquicksplitview.cpp.
References accumulatedSize(), QList< T >::at(), QQuickContainerPrivate::contentModel, QQmlObjectModel::count(), effectiveSizeData(), QQuickItemPrivate::get(), QQuickItem::height, QQuickSplitViewPrivate::LayoutData::height, isHorizontal(), QGraphicsItem::isVisible(), QQuickItem::isVisible(), item, m_fillIndex, m_handle, m_handleItems, m_handlePosBeforePress, m_layoutData, m_mousePos, m_nextVisibleIndexAfterPressedHandle, m_pressedHandleIndex, m_pressPos, QQmlObjectModel::object, qBound(), qCDebug, qMax(), qMin(), qobject_cast< QQuickItem * >(), QList< T >::size(), QQuickSplitViewPrivate::LayoutData::wasResizedByHandle, QQuickItem::width, QQuickSplitViewPrivate::LayoutData::width, QPointF::x(), QQuickItem::x, QPointF::y(), and QQuickItem::y.
Referenced by layout().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 531 of file qquicksplitview.cpp.
References QQuickContainerPrivate::contentModel, QQmlObjectModel::count(), effectiveSizeData(), QQuickItemPrivate::get(), QQuickSplitViewPrivate::LayoutData::height, isHorizontal(), QGraphicsItem::isVisible(), item, m_fillIndex, m_ignoreNextLayoutRequest, m_layoutData, QQmlObjectModel::object, qobject_cast< QQuickItem * >(), QQuickSplitViewAttached::setPreferredHeight(), QQuickSplitViewAttached::setPreferredWidth(), QQuickSplitViewPrivate::LayoutData::wasResizedByHandle, and QQuickSplitViewPrivate::LayoutData::width.
Referenced by layout().
Here is the call graph for this function:
Here is the caller graph for this function:| void QQuickSplitViewPrivate::removeExcessHandles | ( | ) |
Definition at line 810 of file qquicksplitview.cpp.
References QQuickContainerPrivate::contentModel, QQmlObjectModel::count(), m_handleItems, qCDebug, qMax(), QList< T >::size(), and QList< T >::takeLast().
Here is the call graph for this function:| void QQuickSplitViewPrivate::requestLayout | ( | ) |
Definition at line 680 of file qquicksplitview.cpp.
Referenced by itemImplicitHeightChanged(), itemImplicitWidthChanged(), itemVisibilityChanged(), and QQuickSplitViewAttachedPrivate::requestLayoutView().
Here is the caller graph for this function:| void QQuickSplitViewPrivate::resizeHandle | ( | QQuickItem * | handleItem | ) |
Definition at line 923 of file qquicksplitview.cpp.
References QQuickItem::implicitHeight, QQuickItem::implicitWidth, isHorizontal(), QQuickItem::setHeight(), and QQuickItem::setWidth().
Referenced by createHandleItem(), and resizeHandles().
Here is the call graph for this function:
Here is the caller graph for this function:| void QQuickSplitViewPrivate::resizeHandles | ( | ) |
Definition at line 930 of file qquicksplitview.cpp.
References m_handleItems, and resizeHandle().
Here is the call graph for this function:| void QQuickSplitViewPrivate::setResizing | ( | bool | resizing | ) |
Definition at line 1005 of file qquicksplitview.cpp.
References emit, and m_resizing.
Referenced by handlePress(), and handleRelease().
Here is the caller graph for this function:| QT_BEGIN_NAMESPACE void QQuickSplitViewPrivate::updateFillIndex | ( | ) |
Lays out items with a draggable splitter between each item.
\qmltype SplitView \inherits Container
! \instantiates QQuickSplitView \inqmlmodule QtQuick.Controls
SplitView is a control that lays out items horizontally or vertically with a draggable splitter between each item.
SplitView supports the following attached properties on items it manages:
\list
In addition, each handle has the following read-only attached properties:
\list
The preferred size of items in a SplitView can be specified via \l{Item::}{implicitWidth} and \l{Item::}{implicitHeight} or SplitView.preferredWidth and SplitView.preferredHeight:
For a horizontal SplitView, it's not necessary to specify the preferred height of each item, as they will be resized to the height of the view. This applies in reverse for vertical views.
When a split handle is dragged, the SplitView.preferredWidth or SplitView.preferredHeight property is overwritten, depending on the \l orientation of the view.
To limit the size of items in a horizontal view, use the following properties:
To limit the size of items in a vertical view, use the following properties:
There will always be one item (the fill item) in the SplitView that has SplitView.fillWidth set to true (or SplitView.fillHeight, if \l orientation is Qt.Vertical). This means that the item will get all leftover space when other items have been laid out. By default, the last visible child of the SplitView will have this set, but it can be changed by explicitly setting fillWidth to true on another item.
A handle can belong to the item either on the left or top side, or on the right or bottom side:
\list
To create a SplitView with three items, and let the center item get superfluous space, one could do the following:
Definition at line 231 of file qquicksplitview.cpp.
References QQuickSplitViewAttached::fillHeight, QQuickSplitViewAttached::fillWidth, i, QGraphicsItem::isVisible(), item, qCDebug, and qobject_cast< QQuickItem * >().
Referenced by itemVisibilityChanged(), QQuickSplitViewAttached::setFillHeight(), and QQuickSplitViewAttached::setFillWidth().
Here is the call graph for this function:
Here is the caller graph for this function:| void QQuickSplitViewPrivate::updateHandleVisibilities | ( | ) |
Definition at line 943 of file qquicksplitview.cpp.
References QList< T >::at(), QQuickContainerPrivate::contentModel, QQmlObjectModel::count(), i, QList< T >::isEmpty(), QGraphicsItem::isVisible(), QQuickItem::isVisible(), item, m_handleItems, QQmlObjectModel::object, qCDebug, qobject_cast< QQuickItem * >(), and QQuickItem::setVisible().
Referenced by itemVisibilityChanged().
Here is the call graph for this function:
Here is the caller graph for this function:| void QQuickSplitViewPrivate::updateHoveredHandle | ( | QQuickItem * | hoveredItem | ) |
Definition at line 977 of file qquicksplitview.cpp.
References QList< T >::at(), QQuickSplitHandleAttachedPrivate::get(), QListSpecialMethodsBase< T >::indexOf(), m_handleItems, m_hoveredHandleIndex, qCDebug, and QQuickSplitHandleAttachedPrivate::setHovered().
Here is the call graph for this function:
|
overridevirtual |
Reimplemented from QQuickItemPrivate.
Definition at line 1151 of file qquicksplitview.cpp.
References layout().
Referenced by handleMove().
Here is the call graph for this function:
Here is the caller graph for this function:| int QQuickSplitViewPrivate::m_fillIndex = -1 |
Definition at line 100 of file qquicksplitview_p_p.h.
Referenced by accumulatedSize(), layout(), layoutPositionItems(), layoutResizeFillItem(), layoutResizeSplitItems(), and limitAndApplySizes().
| QQmlComponent* QQuickSplitViewPrivate::m_handle = nullptr |
Definition at line 89 of file qquicksplitview_p_p.h.
Referenced by createHandleItem(), createHandles(), layout(), layoutPositionItems(), and layoutResizeSplitItems().
| QList<QQuickItem*> QQuickSplitViewPrivate::m_handleItems |
Definition at line 90 of file qquicksplitview_p_p.h.
Referenced by accumulatedSize(), createHandleItem(), createHandles(), destroyHandles(), handlePress(), handleRelease(), itemVisibilityChanged(), layout(), layoutPositionItems(), layoutResizeSplitItems(), removeExcessHandles(), resizeHandles(), updateHandleVisibilities(), and updateHoveredHandle().
| QPointF QQuickSplitViewPrivate::m_handlePosBeforePress |
Definition at line 97 of file qquicksplitview_p_p.h.
Referenced by handlePress(), handleRelease(), and layoutResizeSplitItems().
| int QQuickSplitViewPrivate::m_hoveredHandleIndex = -1 |
Definition at line 92 of file qquicksplitview_p_p.h.
Referenced by updateHoveredHandle().
| bool QQuickSplitViewPrivate::m_ignoreNextLayoutRequest = false |
Definition at line 102 of file qquicksplitview_p_p.h.
Referenced by limitAndApplySizes().
| bool QQuickSplitViewPrivate::m_layingOut = false |
Definition at line 101 of file qquicksplitview_p_p.h.
Referenced by layout().
| QHash<QQuickItem*, LayoutData> QQuickSplitViewPrivate::m_layoutData |
Definition at line 91 of file qquicksplitview_p_p.h.
Referenced by layout(), layoutResizeFillItem(), layoutResizeSplitItems(), and limitAndApplySizes().
| qreal QQuickSplitViewPrivate::m_leftOrTopItemSizeBeforePress = 0.0 |
Definition at line 98 of file qquicksplitview_p_p.h.
Referenced by handlePress(), and handleRelease().
| QPointF QQuickSplitViewPrivate::m_mousePos |
Definition at line 96 of file qquicksplitview_p_p.h.
Referenced by handleMove(), handlePress(), handleRelease(), and layoutResizeSplitItems().
| int QQuickSplitViewPrivate::m_nextVisibleIndexAfterPressedHandle = -1 |
Definition at line 94 of file qquicksplitview_p_p.h.
Referenced by handlePress(), and layoutResizeSplitItems().
| Qt::Orientation QQuickSplitViewPrivate::m_orientation = Qt::Horizontal |
Definition at line 88 of file qquicksplitview_p_p.h.
Referenced by handlePress(), and isHorizontal().
| int QQuickSplitViewPrivate::m_pressedHandleIndex = -1 |
Definition at line 93 of file qquicksplitview_p_p.h.
Referenced by handleMove(), handlePress(), handleRelease(), and layoutResizeSplitItems().
| QPointF QQuickSplitViewPrivate::m_pressPos |
Definition at line 95 of file qquicksplitview_p_p.h.
Referenced by handlePress(), handleRelease(), and layoutResizeSplitItems().
| bool QQuickSplitViewPrivate::m_resizing = false |
Definition at line 103 of file qquicksplitview_p_p.h.
Referenced by setResizing().
| qreal QQuickSplitViewPrivate::m_rightOrBottomItemSizeBeforePress = 0.0 |
Definition at line 99 of file qquicksplitview_p_p.h.
Referenced by handlePress(), and handleRelease().