summaryrefslogtreecommitdiffstats
path: root/demos/declarative/calculator/Core/Button.qml
diff options
context:
space:
mode:
Diffstat (limited to 'demos/declarative/calculator/Core/Button.qml')
-rw-r--r--demos/declarative/calculator/Core/Button.qml39
1 files changed, 39 insertions, 0 deletions
diff --git a/demos/declarative/calculator/Core/Button.qml b/demos/declarative/calculator/Core/Button.qml
new file mode 100644
index 0000000..8948adc
--- /dev/null
+++ b/demos/declarative/calculator/Core/Button.qml
@@ -0,0 +1,39 @@
+import Qt 4.7
+
+BorderImage {
+ id: button
+
+ property alias operation: buttonText.text
+ property string color: ""
+
+ signal clicked
+
+ source: "images/button-" + color + ".png"; clip: true
+ border { left: 10; top: 10; right: 10; bottom: 10 }
+
+ Rectangle {
+ id: shade
+ anchors.fill: button; radius: 10; color: "black"; opacity: 0
+ }
+
+ Text {
+ id: buttonText
+ anchors.centerIn: parent; anchors.verticalCenterOffset: -1
+ font.pixelSize: parent.width > parent.height ? parent.height * .5 : parent.width * .5
+ style: Text.Sunken; color: "white"; styleColor: "black"; smooth: true
+ }
+
+ MouseArea {
+ id: mouseArea
+ anchors.fill: parent
+ onClicked: {
+ doOp(operation)
+ button.clicked()
+ }
+ }
+
+ states: State {
+ name: "pressed"; when: mouseArea.pressed == true
+ PropertyChanges { target: shade; opacity: .4 }
+ }
+}