public void insertOP(OPERATION op) { double res; Double.TryParse(currentBuffer, out res); if (op == OPERATION.NEG) { res = -res; total = res; calcWindow.onCurrentValueChange(total.ToString()); return; } if (active_op == OPERATION.NULL) { total += res; calcWindow.onCurrentValueChange(total.ToString()); active_op = op; state = STATE.INSERT_BINARY_OP; return; } switch (active_op) { case OPERATION.ADD: total += res; break; case OPERATION.SUB: total -= res; break; case OPERATION.DIV: total /= res; break; case OPERATION.MUL: total *= res; break; } active_op = op; calcWindow.onCurrentValueChange(total.ToString()); state = STATE.INSERT_BINARY_OP; }
public Calculator(CalculatorWindow win) { calcWindow = win; win.onCurrentValueChange(currentBuffer); history = new LinkedList <string>(); }