import QtQuick import Weave.Controls import Weave.Templates as T T.PanelDock { id: dockId minimumWidth: contentItem ? contentItem.TableLayout.minimumWidth : implicitContentWidth minimumHeight: contentItem ? contentItem.TableLayout.minimumHeight : implicitContentHeight preferredWidth: contentItem ? contentItem.TableLayout.preferredWidth : implicitContentWidth preferredHeight: contentItem ? contentItem.TableLayout.preferredHeight : implicitContentHeight contentItem: Flickable { id: flickableId contentWidth: rowId.width contentHeight: rowId.height visible: dockId.contentModel.count > 0 clip: contentWidth > width || contentHeight > height || contentX !== originX || contentY !== originY TableLayout.minimumWidth: rowId.minimumColumnWidth TableLayout.minimumHeight: rowId.minimumHeight TableLayout.preferredWidth: rowId.preferredWidth TableLayout.preferredHeight: rowId.preferredHeight TableLayoutRow { id: rowId width: Math.max(flickableId.width, minimumWidth) height: Math.max(flickableId.height, minimumHeight) horizontalItemFillMode: TableLayout.Preferred verticalItemFillMode: TableLayout.Preferred Repeater { model: dockId.contentModel } } data: T.CellBackground { parent: dockId.dropTarget anchors.fill: parent borderColor: Theme.semantic.control.border.color.focused borderWidth: Theme.generic.borderWidth._4 leftBorderWidth: (dockId.dropAlignment & Qt.AlignLeft) ? undefined : 0 rightBorderWidth: (dockId.dropAlignment & Qt.AlignRight) ? undefined : 0 topBorderWidth: (dockId.dropAlignment & Qt.AlignTop) ? undefined : 0 bottomBorderWidth: (dockId.dropAlignment & Qt.AlignBottom) ? undefined : 0 TableLayout.exclude: true } } }