// Copyright (C) 2021 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 import QtQuick 2.15 import QtQuick.Layouts 1.15 import HelperWidgets 2.0 import StudioTheme 1.0 as StudioTheme Section { id: root anchors.left: parent.left anchors.right: parent.right caption: qsTr("Grid Layout") SectionLayout { PropertyLabel { text: qsTr("Columns & Rows") tooltip: qsTr("Sets the number of columns and rows in the Grid Layout.") } SecondColumnLayout { SpinBox { implicitWidth: StudioTheme.Values.twoControlColumnWidth + StudioTheme.Values.actionIndicatorWidth backendValue: backendValues.columns minimumValue: 0 maximumValue: 2000 decimals: 0 } Spacer { implicitWidth: StudioTheme.Values.controlLabelGap } IconLabel { icon: StudioTheme.Constants.columnsAndRows } Spacer { implicitWidth: StudioTheme.Values.controlGap } SpinBox { implicitWidth: StudioTheme.Values.twoControlColumnWidth + StudioTheme.Values.actionIndicatorWidth backendValue: backendValues.rows minimumValue: 0 maximumValue: 2000 decimals: 0 } Spacer { implicitWidth: StudioTheme.Values.controlLabelGap } IconLabel { icon: StudioTheme.Constants.columnsAndRows rotation: 90 } ExpandingSpacer {} } PropertyLabel { text: qsTr("Spacing") tooltip: qsTr("Sets the space between the items in pixels in the rows and columns in the Grid Layout.") } SecondColumnLayout { SpinBox { implicitWidth: StudioTheme.Values.twoControlColumnWidth + StudioTheme.Values.actionIndicatorWidth backendValue: backendValues.columnSpacing minimumValue: -4000 maximumValue: 4000 decimals: 0 } Spacer { implicitWidth: StudioTheme.Values.controlLabelGap } IconLabel { icon: StudioTheme.Constants.columnsAndRows } Spacer { implicitWidth: StudioTheme.Values.controlGap } SpinBox { implicitWidth: StudioTheme.Values.twoControlColumnWidth + StudioTheme.Values.actionIndicatorWidth backendValue: backendValues.rowSpacing minimumValue: -4000 maximumValue: 4000 decimals: 0 } Spacer { implicitWidth: StudioTheme.Values.controlLabelGap } IconLabel { icon: StudioTheme.Constants.columnsAndRows rotation: 90 } ExpandingSpacer {} } PropertyLabel { text: qsTr("Flow") tooltip: qsTr("Set the direction of dynamic items to flow in rows or columns in the Grid Layout.") } SecondColumnLayout { ComboBox { model: ["LeftToRight", "TopToBottom"] backendValue: backendValues.flow implicitWidth: StudioTheme.Values.singleControlColumnWidth + StudioTheme.Values.actionIndicatorWidth scope: "GridLayout" } ExpandingSpacer {} } PropertyLabel { text: qsTr("Layout direction") tooltip: qsTr("Sets the direction of the dynamic items left to right or right to left in the Grid Layout.") } SecondColumnLayout { ComboBox { model: ["LeftToRight", "RightToLeft"] backendValue: backendValues.layoutDirection implicitWidth: StudioTheme.Values.singleControlColumnWidth + StudioTheme.Values.actionIndicatorWidth scope: "Qt" } ExpandingSpacer {} } PropertyLabel { text: qsTr("Uniform cell sizes") tooltip: qsTr("Toggles all cells to have a uniform height or width.") visible: majorQtQuickVersion === 6 && minorQtQuickVersion >= 6 blockedByTemplate: !(backendValues.uniformCellHeights.isAvailable && backendValues.uniformCellWidths.isAvailable) } SecondColumnLayout { CheckBox { text: qsTr("Heights") implicitWidth: StudioTheme.Values.twoControlColumnWidth + StudioTheme.Values.actionIndicatorWidth backendValue: backendValues.uniformCellHeights visible: majorQtQuickVersion === 6 && minorQtQuickVersion >= 6 enabled: backendValues.uniformCellHeights.isAvailable } Spacer { implicitWidth: StudioTheme.Values.twoControlColumnGap } CheckBox { text: qsTr("Widths") implicitWidth: StudioTheme.Values.twoControlColumnWidth + StudioTheme.Values.actionIndicatorWidth backendValue: backendValues.uniformCellWidths visible: majorQtQuickVersion === 6 && minorQtQuickVersion >= 6 enabled: backendValues.uniformCellWidths.isAvailable } ExpandingSpacer {} } } }