Files
qt-creator/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/MouseAreaSpecifics.qml

262 lines
9.6 KiB
QML
Raw Normal View History

// 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 StudioControls 1.0 as StudioControls
import StudioTheme 1.0 as StudioTheme
Column {
anchors.left: parent.left
anchors.right: parent.right
Section {
caption: qsTr("Mouse Area")
anchors.left: parent.left
anchors.right: parent.right
SectionLayout {
PropertyLabel {
text: qsTr("Enable")
tooltip: qsTr("Sets how the mouse can interact with the area.")
blockedByTemplate: !backendValues.enabled.isAvailable
}
SecondColumnLayout {
CheckBox {
text: qsTr("Area")
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.enabled
enabled: backendValue.isAvailable
}
Spacer { implicitWidth: StudioTheme.Values.twoControlColumnGap }
CheckBox {
text: qsTr("Hover")
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.hoverEnabled
enabled: backendValue.isAvailable
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Accepted buttons")
tooltip: qsTr("Sets which mouse buttons the area reacts to.")
blockedByTemplate: !backendValues.acceptedButtons.isAvailable
}
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.acceptedButtons
model: ["LeftButton", "RightButton", "MiddleButton", "BackButton", "ForwardButton", "AllButtons"]
scope: "Qt"
enabled: backendValue.isAvailable
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Cursor shape")
tooltip: qsTr("Sets which mouse cursor to display on this area.")
blockedByTemplate: !backendValues.cursorShape.isAvailable
}
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.cursorShape
model: ["ArrowCursor", "UpArrowCursor", "CrossCursor", "WaitCursor",
"IBeamCursor", "SizeVerCursor", "SizeHorCursor", "SizeBDiagCursor",
"SizeFDiagCursor", "SizeAllCursor", "BlankCursor", "SplitVCursor",
"SplitHCursor", "PointingHandCursor", "ForbiddenCursor", "WhatsThisCursor",
"BusyCursor", "OpenHandCursor", "ClosedHandCursor", "DragCopyCursor",
"DragMoveCursor", "DragLinkCursor"]
scope: "Qt"
enabled: backendValue.isAvailable
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Hold interval")
tooltip: qsTr("Sets the time before the pressAndHold signal is registered when you press the area.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.pressAndHoldInterval
minimumValue: 0
maximumValue: 2000
decimals: 0
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Scroll gesture")
tooltip: qsTr("Toggles if scroll gestures from non-mouse devices are supported.")
blockedByTemplate: !backendValues.scrollGestureEnabled.isAvailable
}
SecondColumnLayout {
CheckBox {
text: qsTr("Enabled")
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.scrollGestureEnabled
enabled: backendValue.isAvailable
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Prevent stealing")
tooltip: qsTr("Toggles if mouse events can be stolen from this area.")
blockedByTemplate: !backendValues.preventStealing.isAvailable
}
SecondColumnLayout {
CheckBox {
text: backendValues.preventStealing.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.preventStealing
enabled: backendValue.isAvailable
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Propagate events")
tooltip: qsTr("Toggles if composed mouse events should be propagated to other mouse areas overlapping this area.")
blockedByTemplate: !backendValues.propagateComposedEvents.isAvailable
}
SecondColumnLayout {
CheckBox {
text: backendValues.propagateComposedEvents.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.propagateComposedEvents
enabled: backendValue.isAvailable
}
ExpandingSpacer {}
}
}
}
Section {
caption: qsTr("Drag")
anchors.left: parent.left
anchors.right: parent.right
visible: backendValues.drag_target.isAvailable
SectionLayout {
PropertyLabel {
text: qsTr("Target")
tooltip: qsTr("Sets the component to have drag functionalities.")
}
SecondColumnLayout {
ItemFilterComboBox {
typeFilter: "QtQuick.QtObject"
backendValue: backendValues.drag_target
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Axis")
tooltip: qsTr("Sets in which directions the dragging work.")
}
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
scope: "Drag"
model: ["XAxis", "YAxis", "XAndYAxis"]
backendValue: backendValues.drag_axis
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Threshold")
tooltip: qsTr("Sets a threshold after which the drag starts to work.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.drag_threshold
minimumValue: 0
maximumValue: 5000
decimals: 0
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Filter children")
tooltip: qsTr("Toggles if the dragging overrides descendant mouse areas.")
}
SecondColumnLayout {
CheckBox {
text: backendValues.drag_filterChildren.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.drag_filterChildren
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Smoothed")
tooltip: qsTr("Toggles if the move is smoothly animated.")
}
SecondColumnLayout {
CheckBox {
text: backendValues.drag_smoothed.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.drag_smoothed
}
ExpandingSpacer {}
}
}
}
}