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;
            }
        }
 public void BeginEdit()
 {
     isEditing       = true;
     editingPosition = WHEEL_SIZE_POSITION_0;
     approving       = EndEditEnum.Approving;
 }
        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 BeginEdit()
 {
     isEditing = true;
     editingPosition = HOUR_POSITION_0;
     approving = EndEditEnum.Approving;
 }
        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;
            }
        }