source: trunk/examples/script/calculator/calculator.js@ 641

Last change on this file since 641 was 561, checked in by Dmitry A. Kuminov, 15 years ago

trunk: Merged in qt 4.6.1 sources.

File size: 8.4 KB
Line 
1Function.prototype.bind = function() {
2 var func = this;
3 var thisObject = arguments[0];
4 var args = Array.prototype.slice.call(arguments, 1);
5 return function() {
6 return func.apply(thisObject, args);
7 }
8}
9
10//! [0]
11function Calculator(ui)
12{
13 this.ui = ui;
14
15 this.pendingAdditiveOperator = Calculator.NO_OPERATOR;
16 this.pendingMultiplicativeOperator = Calculator.NO_OPERATOR;
17 this.sumInMemory = 0;
18 this.sumSoFar = 0;
19 this.factorSoFar = 0;
20 this.waitingForOperand = true;
21
22 with (ui) {
23 display.text = "0";
24
25 zeroButton.clicked.connect(this.digitClicked.bind(this, 0));
26 oneButton.clicked.connect(this.digitClicked.bind(this, 1));
27 twoButton.clicked.connect(this.digitClicked.bind(this, 2));
28 threeButton.clicked.connect(this.digitClicked.bind(this, 3));
29 fourButton.clicked.connect(this.digitClicked.bind(this, 4));
30 fiveButton.clicked.connect(this.digitClicked.bind(this, 5));
31 sixButton.clicked.connect(this.digitClicked.bind(this, 6));
32 sevenButton.clicked.connect(this.digitClicked.bind(this, 7));
33 eightButton.clicked.connect(this.digitClicked.bind(this, 8));
34 nineButton.clicked.connect(this.digitClicked.bind(this, 9));
35
36 pointButton.clicked.connect(this, "pointClicked");
37 changeSignButton.clicked.connect(this, "changeSignClicked");
38
39 backspaceButton.clicked.connect(this, "backspaceClicked");
40 clearButton.clicked.connect(this, "clear");