Ignore:
Timestamp:
Feb 11, 2010, 11:19:06 PM (15 years ago)
Author:
Dmitry A. Kuminov
Message:

trunk: Merged in qt 4.6.1 sources.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/examples/script/calculator/calculator.js

    r2 r561  
     1
     2
     3
     4
     5
     6
     7
     8
     9
    110//! [0]
    211function Calculator(ui)
     
    413    this.ui = ui;
    514
    6     this.pendingAdditiveOperator = "";
    7     this.pendingMultiplicativeOperator = "";
     15    this.pendingAdditiveOperator = ;
     16    this.pendingMultiplicativeOperator = ;
    817    this.sumInMemory = 0;
    918    this.sumSoFar = 0;
     
    1423        display.text = "0";
    1524
    16         zeroButton.clicked.connect(this, this.digitClicked);
    17         oneButton.clicked.connect(this, "digitClicked");
    18         twoButton.clicked.connect(this, "digitClicked");
    19         threeButton.clicked.connect(this, "digitClicked");
    20         fourButton.clicked.connect(this, "digitClicked");
    21         fiveButton.clicked.connect(this, "digitClicked");
    22         sixButton.clicked.connect(this, "digitClicked");
    23         sevenButton.clicked.connect(this, "digitClicked");
    24         eightButton.clicked.connect(this, "digitClicked");
    25         nineButton.clicked.connect(this, "digitClicked");
     25        zeroButton.clicked.connect(this);
     26        oneButton.clicked.connect(this);
     27        twoButton.clicked.connect(this);
     28        threeButton.clicked.connect(this);
     29        fourButton.clicked.connect(this);
     30        fiveButton.clicked.connect(this);
     31        sixButton.clicked.connect(this);
     32        sevenButton.clicked.connect(this);
     33        eightButton.clicked.connect(this);
     34        nineButton.clicked.connect(this);
    2635
    2736        pointButton.clicked.connect(this, "pointClicked");
     
    3746        addToMemoryButton.clicked.connect(this, "addToMemory");
    3847 
    39         divisionButton.clicked.connect(this, "multiplicativeOperatorClicked");
    40         timesButton.clicked.connect(this, "multiplicativeOperatorClicked");
    41         minusButton.clicked.connect(this, "additiveOperatorClicked");
    42         plusButton.clicked.connect(this, "additiveOperatorClicked");
    43 
    44         squareRootButton.clicked.connect(this, "unaryOperatorClicked");
    45         powerButton.clicked.connect(this, "unaryOperatorClicked");
    46         reciprocalButton.clicked.connect(this, "unaryOperatorClicked");
     48        divisionButton.clicked.connect(this);
     49        timesButton.clicked.connect(this);
     50        minusButton.clicked.connect(this);
     51        plusButton.clicked.connect(this);
     52
     53        squareRootButton.clicked.connect(this);
     54        powerButton.clicked.connect(this);
     55        reciprocalButton.clicked.connect(this);
    4756        equalButton.clicked.connect(this, "equalClicked");
    4857    }
    4958}
    5059//! [0]
     60
     61
     62
     63
     64
     65
     66
     67
     68
    5169
    5270Calculator.prototype.abortOperation = function()
     
    5876Calculator.prototype.calculate = function(rightOperand, pendingOperator)
    5977{
    60     if (pendingOperator == "+") {
     78    if (pendingOperator == ) {
    6179        this.sumSoFar += rightOperand;
    62     } else if (pendingOperator == "-") {
     80    } else if (pendingOperator == ) {
    6381        this.sumSoFar -= rightOperand;
    64     } else if (pendingOperator == "*") {
     82    } else if (pendingOperator == ) {
    6583        this.factorSoFar *= rightOperand;
    66     } else if (pendingOperator == "/") {
     84    } else if (pendingOperator == ) {
    6785        if (rightOperand == 0)
    68         return false;
     86        return false;
    6987        this.factorSoFar /= rightOperand;
    7088    }
     
    7391
    7492//! [1]
    75 Calculator.prototype.digitClicked = function()
    76 {
    77     var digitValue = __qt_sender__.text - 0;
     93Calculator.prototype.digitClicked = function(digitValue)
     94{
    7895    if ((digitValue == 0) && (this.ui.display.text == "0"))
    7996        return;
     
    86103//! [1]
    87104
    88 Calculator.prototype.unaryOperatorClicked = function()
     105Calculator.prototype.unaryOperatorClicked = function()
    89106{
    90107    var operand = this.ui.display.text - 0;
    91108    var result = 0;
    92     if (__qt_sender__.text == "Sqrt") {
     109    if () {
    93110        if (operand < 0) {
    94111            this.abortOperation();
     
    96113        }
    97114        result = Math.sqrt(operand);
    98     } else if (__qt_sender__.text == "x^2") {
     115    } else if () {
    99116        result = Math.pow(operand, 2);
    100     } else if (__qt_sender__.text == "1/x") {
     117    } else if () {
    101118        if (operand == 0.0) {
    102119            this.abortOperation();
     
    109126}
    110127
    111 Calculator.prototype.additiveOperatorClicked = function()
    112 {
    113     var operand = this.ui.display.text - 0;
    114 
    115     if (this.pendingMultiplicativeOperator.length != 0) {
     128Calculator.prototype.additiveOperatorClicked = function()
     129{
     130    var operand = this.ui.display.text - 0;
     131
     132    if (this.pendingMultiplicativeOperator) {
    116133        if (!this.calculate(operand, this.pendingMultiplicativeOperator)) {
    117134            this.abortOperation();
     
    121138        operand = this.factorSoFar;
    122139        this.factorSoFar = 0;
    123         this.pendingMultiplicativeOperator = "";
    124     }
    125 
    126     if (this.pendingAdditiveOperator.length != 0) {
     140        this.pendingMultiplicativeOperator = ;
     141    }
     142
     143    if (this.pendingAdditiveOperator) {
    127144        if (!this.calculate(operand, this.pendingAdditiveOperator)) {
    128145            this.abortOperation();
     
    134151    }
    135152
    136     this.pendingAdditiveOperator = __qt_sender__.text;
    137     this.waitingForOperand = true;
    138 }
    139 
    140 Calculator.prototype.multiplicativeOperatorClicked = function()
    141 {
    142     var operand = this.ui.display.text - 0;
    143 
    144     if (this.pendingMultiplicativeOperator.length != 0) {
     153    this.pendingAdditiveOperator = ;
     154    this.waitingForOperand = true;
     155}
     156
     157Calculator.prototype.multiplicativeOperatorClicked = function()
     158{
     159    var operand = this.ui.display.text - 0;
     160
     161    if (this.pendingMultiplicativeOperator) {
    145162        if (!this.calculate(operand, this.pendingMultiplicativeOperator)) {
    146163            this.abortOperation();
     
    152169    }
    153170
    154     this.pendingMultiplicativeOperator = __qt_sender__.text;
     171    this.pendingMultiplicativeOperator = ;
    155172    this.waitingForOperand = true;
    156173}
     
    160177    var operand = this.ui.display.text - 0;
    161178
    162     if (this.pendingMultiplicativeOperator.length != 0) {
     179    if (this.pendingMultiplicativeOperator) {
    163180        if (!this.calculate(operand, this.pendingMultiplicativeOperator)) {
    164181            this.abortOperation();
     
    167184        operand = this.factorSoFar;
    168185        this.factorSoFar = 0.0;
    169         this.pendingMultiplicativeOperator = "";
    170     }
    171     if (this.pendingAdditiveOperator.length != 0) {
     186        this.pendingMultiplicativeOperator = ;
     187    }
     188    if (this.pendingAdditiveOperator) {
    172189        if (!this.calculate(operand, this.pendingAdditiveOperator)) {
    173190            this.abortOperation();
    174191            return;
    175192        }
    176         this.pendingAdditiveOperator = "";
     193        this.pendingAdditiveOperator = ;
    177194    } else {
    178195        this.sumSoFar = operand;
     
    235252    this.sumSoFar = 0.0;
    236253    this.factorSoFar = 0.0;
    237     this.pendingAdditiveOperator = "";
    238     this.pendingMultiplicativeOperator = "";
     254    this.pendingAdditiveOperator = ;
     255    this.pendingMultiplicativeOperator = ;
    239256    this.ui.display.text = "0";
    240257    this.waitingForOperand = true;
Note: See TracChangeset for help on using the changeset viewer.