stc_rpncalc/qt_gui/main.qml
2019-04-04 02:46:10 -04:00

87 lines
1.4 KiB
QML

import QtQuick 2.0
import QtQuick.Controls 1.0
ApplicationWindow
{
visible: true
width: 1000
height: 1000
title: qsTr("RPN Calculator")
//calculator
Column {
id: base;
spacing: 5;
width: 4 * (100 + 5)
height: 5 * (100 + 5) + 200 + 30
//quit button
Rectangle{
width: 100
height: 25
color: "red"
Text {text: "Quit"}
MouseArea {
onClicked: Qt.quit()
anchors.fill: parent
}
}
//LCD
Rectangle {
objectName: "lcd";
color: "lightgray"
width: 4 * (100 + 5) - 5
height: 200
Text {
objectName: "lcd_text";
text: _calculator.lcdText
font: _fixedFont
anchors.centerIn: parent
}
}
//Keyboard
Repeater {
model: 5;
//row
delegate: Row {
id: key_row
spacing: 5
objectName: index
//keys within row
Repeater {
model: 4;
delegate: Rectangle {
id: key_key;
width: 100;
height: 100;
color: "gray"
border { width: 1; color: "black" }
Text {
text: {getText(parent.parent.objectName, index)}
anchors.centerIn: parent
}
MouseArea {
onClicked: _calculator.buttonClicked(parent.parent.objectName + "," + index)
anchors.fill: parent
}
}
}
}
}
}
function getText(row, col) {
var keys = [
["Shift", "x<->y", "+/-", "C"],
["7", "8", "9", "/"],
["4", "5", "6", "*"],
["1", "2", "3", "-"],
["0", ".", "Enter", "+"]
]
return keys[row][col]
}
}