Exemple #1
0
 //deals with button inputs and sorts out the display accordingly
 public void SingleOperationButtonPress(OperationButtonType buttonType)
 {
     try
     {
         var operationType = buttonType.GetOperationType();
         calculatorManager.ExecuteSingularOperation(operationType);
         Display = calculatorManager.Display;
     }
     catch (CalculatorException exception)
     {
         MessageBox.Show(exception.Message, "Calculator", MessageBoxButton.OK, MessageBoxImage.Error);
     }
 }
Exemple #2
0
        public static OperationType GetOperationType(this OperationButtonType buttonType)
        {
            switch (buttonType)
            {
            case OperationButtonType.SUM:
                return(OperationType.SUM);

            case OperationButtonType.SUBTRACTION:
                return(OperationType.SUBTRACTION);

            case OperationButtonType.MULTIPLICATION:
                return(OperationType.MULTIPLICATION);

            case OperationButtonType.DIVISION:
                return(OperationType.DIVISION);

            case OperationButtonType.EQUAL:
                return(OperationType.EQUAL);

            case OperationButtonType.FACTORIAL:
                return(OperationType.FACTORIAL);

            case OperationButtonType.INVERSE:
                return(OperationType.INVERSE);

            case OperationButtonType.POSITION:
                return(OperationType.POSITION);

            case OperationButtonType.CHANGE_SIGN:
                return(OperationType.CHANGE_SIGN);

            case OperationButtonType.RADICAL:
                return(OperationType.RADICAL);

            case OperationButtonType.EXPONENTIATION:
                return(OperationType.EXPONENTIATION);

            default:
                return(OperationType.NONE);
            }
        }
Exemple #3
0
        private bool CanSingleOperationButtonPress(OperationButtonType buttonType)
        {
            var operationType = buttonType.GetOperationType();

            return(calculatorManager.CanOperationBeExecuted(operationType));
        }