Ejemplo n.º 1
0
        public void ProcessKey(FEZ_Shields.KeypadLCD.Keys keyPressed)
        {
            if (currentLine1.IsProcessingKey())
            {
                currentLine1.ProcessKey(keyPressed);
            }
            else if (currentLine2.IsProcessingKey())
            {
                currentLine2.ProcessKey(keyPressed);
            }
            else
            {
                switch (keyPressed)
                {
                    case FEZ_Shields.KeypadLCD.Keys.Up:
                        ClearLine(LinesEnum.Line2);

                        if (currentLine2 is WheelSizeDisplayProcessor)
                        {
                            currentLine2 = odoTripCtrl;
                        }
                        else if (currentLine2 is SetTimeDisplayProcessor)
                        {
                            currentLine2 = wheelCtrl;
                        }

                        break;

                    case FEZ_Shields.KeypadLCD.Keys.Down:
                        ClearLine(LinesEnum.Line2);

                        if (currentLine2 is OdometerTripTimeDisplayProcessor)
                        {
                            currentLine2 = wheelCtrl;
                        }
                        else if (currentLine2 is WheelSizeDisplayProcessor)
                        {
                            currentLine2 = setTimeCtrl;
                        }

                        break;

                    case FEZ_Shields.KeypadLCD.Keys.Select:
                        currentLine2.BeginEdit();
                        break;
                }
            }
        }
 public void ProcessKey(FEZ_Shields.KeypadLCD.Keys keyPressed)
 {
     return;
 }
        public void ProcessKey(FEZ_Shields.KeypadLCD.Keys keyPressed)
        {
            switch (keyPressed)
            {
                case FEZ_Shields.KeypadLCD.Keys.Right:
                    editingPosition++;
                    if (editingPosition > EXIT_CHAR_POSITION)
                    {
                        editingPosition = EXIT_CHAR_POSITION;
                    }
                    break;

                case FEZ_Shields.KeypadLCD.Keys.Left:
                    editingPosition--;
                    if (editingPosition < HOUR_POSITION_0)
                    {
                        editingPosition = HOUR_POSITION_0;
                    }
                    break;

                case FEZ_Shields.KeypadLCD.Keys.Up:
                    if (editingPosition >= HOUR_POSITION_0 && editingPosition <= SECOND_POSITION_1)
                    {
                        char editedChar = editingText[editingPosition];
                        if (editedChar != '9')
                        {
                            editedChar++;
                            editingText[editingPosition] = editedChar;
                        }
                    }
                    else if (editingPosition == EXIT_CHAR_POSITION)
                    {
                        if (approving == EndEditEnum.Approving) approving = EndEditEnum.Cancelling;
                        else if (approving == EndEditEnum.Cancelling) approving = EndEditEnum.Approving;
                    }
                    break;

                case FEZ_Shields.KeypadLCD.Keys.Down:
                    if (editingPosition >= HOUR_POSITION_0 && editingPosition <= SECOND_POSITION_1)
                    {
                        char editedChar = editingText[editingPosition];
                        if (editedChar != '0')
                        {
                            editedChar--;
                            editingText[editingPosition] = editedChar;
                        }
                    }
                    else if (editingPosition == EXIT_CHAR_POSITION)
                    {
                        if (approving == EndEditEnum.Approving) approving = EndEditEnum.Cancelling;
                        else if (approving == EndEditEnum.Cancelling) approving = EndEditEnum.Approving;
                    }
                    break;

                case FEZ_Shields.KeypadLCD.Keys.Select:
                    if (editingPosition == EXIT_CHAR_POSITION)
                    {
                        if (approving == EndEditEnum.Approving)
                        {
                            string strHour = new string(editingText, 0, 2);
                            string strMinute = new string(editingText, 2, 2);
                            string strSecond = new string(editingText, 4, 2);

                            int iHour = int.Parse(strHour);
                            int iMinute = int.Parse(strMinute);
                            int iSecond = int.Parse(strSecond);

                            Utility.SetLocalTime(new DateTime(2011, 01, 01, iHour, iMinute, iSecond, 0));
                        }
                        isEditing = false;
                        isInitialised = false;
                        approving = EndEditEnum.NotEditing;
                    }
                    break;
            }
        }
        public void ProcessKey(FEZ_Shields.KeypadLCD.Keys keyPressed)
        {
            switch (keyPressed)
            {
                case FEZ_Shields.KeypadLCD.Keys.Right:
                    editingPosition++;
                    if (editingPosition > EXIT_CHAR_POSITION)
                    {
                        editingPosition = EXIT_CHAR_POSITION;
                    }
                    break;

                case FEZ_Shields.KeypadLCD.Keys.Left:
                    editingPosition--;
                    if (editingPosition < WHEEL_SIZE_POSITION_0)
                    {
                        editingPosition = WHEEL_SIZE_POSITION_0;
                    }
                    break;

                case FEZ_Shields.KeypadLCD.Keys.Up:
                    if (editingPosition >= WHEEL_SIZE_POSITION_0 && editingPosition <= WHEEL_SIZE_POSITION_2)
                    {
                        char editedChar = editingText[editingPosition];
                        if (editedChar != '9')
                        {
                            editedChar++;
                            editingText[editingPosition] = editedChar;
                        }
                    }
                    else if (editingPosition == EXIT_CHAR_POSITION)
                    {
                        if (approving == EndEditEnum.Approving) approving = EndEditEnum.Cancelling;
                        else if (approving == EndEditEnum.Cancelling) approving = EndEditEnum.Approving;
                    }
                    break;

                case FEZ_Shields.KeypadLCD.Keys.Down:
                    if (editingPosition >= WHEEL_SIZE_POSITION_0 && editingPosition <= WHEEL_SIZE_POSITION_2)
                    {
                        char editedChar = editingText[editingPosition];
                        if (editedChar != '0')
                        {
                            editedChar--;
                            editingText[editingPosition] = editedChar;
                        }
                    }
                    else if (editingPosition == EXIT_CHAR_POSITION)
                    {
                        if (approving == EndEditEnum.Approving) approving = EndEditEnum.Cancelling;
                        else if (approving == EndEditEnum.Cancelling) approving = EndEditEnum.Approving;
                    }
                    break;

                case FEZ_Shields.KeypadLCD.Keys.Select:
                    if (editingPosition == EXIT_CHAR_POSITION)
                    {
                        if (approving == EndEditEnum.Approving)
                        {
                            string newValue = new string(editingText);
                            bikeData.WheelSize = int.Parse(newValue);
                        }
                        isEditing = false;
                        isInitialised = false;
                        approving = EndEditEnum.NotEditing;
                    }
                    break;
            }
        }