overte/interface/resources/qml/hifi/toolbars/ToolbarButton.qml
2016-07-15 17:12:49 -07:00

64 lines
1.3 KiB
QML

import QtQuick 2.5
import QtQuick.Controls 1.4
Item {
id: button
property alias imageURL: image.source
property alias alpha: image.opacity
property var subImage;
property int yOffset: 0
property int buttonState: 0
property int hoverState: -1
property int defaultState: -1
property var toolbar;
property real size: 50 // toolbar ? toolbar.buttonSize : 50
width: size; height: size
property bool pinned: false
clip: true
onButtonStateChanged: {
yOffset = size * buttonState;
}
Component.onCompleted: {
if (subImage) {
if (subImage.y) {
yOffset = subImage.y;
}
}
}
signal clicked()
Image {
id: image
y: -button.yOffset;
width: parent.width
}
Timer {
id: asyncClickSender
interval: 10
repeat: false
running: false
onTriggered: button.clicked();
}
MouseArea {
id: mouseArea
hoverEnabled: true
anchors.fill: parent
onClicked: asyncClickSender.start();
onEntered: {
if (hoverState >= 0) {
buttonState = hoverState;
}
}
onExited: {
if (defaultState >= 0) {
buttonState = defaultState;
}
}
}
}