Esempio n. 1
0
        /// <summary>Triggered when a key is pressed, and handles what to do with it.</summary>
        /// <param name="PressedKey"></param>
        /// <returns>Returns True if the window should remain open, otherwise false.</returns>
        protected virtual bool OnKeyPress(ConsoleKeyInfo PressedKey)
        {
            if (PressedKey.Modifiers == ConsoleModifiers.Control && PressedKey.Key == ConsoleKey.W)
            {
                Close(); return(false);
            }
            switch (HighlightedElement?.OnKeyPress(PressedKey))
            {
            case KeyPressReturn.NOTHING:
                break;

            case KeyPressReturn.NEXT_ELEMENT:
                if (HighlightedElement.NextElement != null)
                {
                    HighlightedElement.Highlighted = false;
                    HighlightedElement             = HighlightedElement.NextElement;
                    HighlightedElement.Highlighted = true;
                }
                break;

            case KeyPressReturn.PREV_ELEMENT:
                if (HighlightedElement.PreviousElement != null)
                {
                    HighlightedElement.Highlighted = false;
                    HighlightedElement             = HighlightedElement.PreviousElement;
                    HighlightedElement.Highlighted = true;
                }
                break;

            case KeyPressReturn.CLOSE:
                Close(); return(false);

            default:
                break;
            }
            return(true);
        }
Esempio n. 2
0
 /// <summary>Adds an Element to the Window</summary>
 /// <param name="NewElement"></param>
 public void AddElement(WindowElement NewElement)
 {
     AllElements.Add(NewElement);
 }