blob: b7370a4fb71e60d531b42f6f08bec336bedda9bb [file] [log] [blame]
/****************************************************************************
**
** Copyright (C) 2018 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the manual tests of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:GPL-EXCEPT$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import "content"
Rectangle {
id: root
width: 640
height: 480
color: "#444"
Component {
id: buttonsAndStuff
Column {
anchors.fill: parent
anchors.margins: 8
spacing: 8
Rectangle {
objectName: "buttonWithMA"
width: parent.width
height: 30
color: buttonMA.pressed ? "lightsteelblue" : "#999"
border.color: buttonMA.containsMouse ? "cyan" : "transparent"
MouseArea {
id: buttonMA
objectName: "buttonMA"
hoverEnabled: true
cursorShape: Qt.UpArrowCursor
anchors.fill: parent
onClicked: console.log("clicked MA")
}
Text {
anchors.centerIn: parent
text: "MouseArea"
}
}
Rectangle {
objectName: "buttonWithHH"
width: parent.width
height: 30
color: flash ? "#999" : "white"
border.color: buttonHH.hovered ? "cyan" : "transparent"
property bool flash: true
HoverHandler {
id: buttonHH
objectName: "buttonHH"
acceptedDevices: PointerDevice.AllDevices
cursorShape: tapHandler.pressed ? Qt.BusyCursor : Qt.PointingHandCursor
}
TapHandler {
id: tapHandler
onTapped: tapFlash.start()
}
Text {
anchors.centerIn: parent
text: "HoverHandler"
}
FlashAnimation on flash {
id: tapFlash
}
}
}
}
Rectangle {
id: paddle
width: 100
height: 40
color: paddleHH.hovered ? "indianred" : "#888"
y: parent.height - 100
radius: 10
HoverHandler {
id: paddleHH
objectName: "paddleHH"
}
SequentialAnimation on x {
NumberAnimation {
to: root.width - paddle.width
duration: 2000
easing { type: Easing.InOutQuad }
}
PauseAnimation { duration: 100 }
NumberAnimation {
to: 0
duration: 2000
easing { type: Easing.InOutQuad }
}
PauseAnimation { duration: 100 }
loops: Animation.Infinite
}
}
Rectangle {
objectName: "topSidebar"
radius: 5
antialiasing: true
x: -radius
y: -radius
width: 120
height: 200
border.color: topSidebarHH.hovered ? "cyan" : "black"
color: "#777"
Rectangle {
color: "cyan"
width: 10
height: width
radius: width / 2
visible: topSidebarHH.hovered
x: topSidebarHH.point.position.x - width / 2
y: topSidebarHH.point.position.y - height / 2
z: 100
}
HoverHandler {
id: topSidebarHH
objectName: "topSidebarHH"
cursorShape: Qt.OpenHandCursor
}
Loader {
objectName: "topSidebarLoader"
sourceComponent: buttonsAndStuff
anchors.fill: parent
}
}
Rectangle {
objectName: "bottomSidebar"
radius: 5
antialiasing: true
x: -radius
anchors.bottom: parent.bottom
anchors.bottomMargin: -radius
width: 120
height: 200
border.color: bottomSidebarMA.containsMouse ? "cyan" : "black"
color: "#777"
MouseArea {
id: bottomSidebarMA
objectName: "bottomSidebarMA"
hoverEnabled: true
cursorShape: Qt.ClosedHandCursor
anchors.fill: parent
}
Loader {
objectName: "bottomSidebarLoader"
sourceComponent: buttonsAndStuff
anchors.fill: parent
}
}
}