Пример #1
0
        protected override bool OnKeyDown(TvConsoleKeyboardEvent evt, BehaviorContext <TextboxState> updateContext)
        {
            var character = evt.Character;

            updateContext.State.ProcessKey(evt.AsConsoleKeyInfo());
            return(true);
        }
Пример #2
0
        protected override bool OnKeyDown(TvConsoleKeyboardEvent evt, BehaviorContext <ListState <T> > updateContext)
        {
            var info = evt.AsConsoleKeyInfo();

            if (info.Key == ConsoleKey.DownArrow && updateContext.State.CanScrollDown)
            {
                if (updateContext.State.NeedsToScrollDown)
                {
                    updateContext.State.ScrollDown(1);
                }
                updateContext.State.SelectedIndex++;
                return(true);
            }

            if (info.Key == ConsoleKey.UpArrow && updateContext.State.CanScrollUp)
            {
                if (updateContext.State.NeedsToScrollUp)
                {
                    updateContext.State.ScrollUp(1);
                }
                updateContext.State.SelectedIndex--;
                return(true);
            }

            if (info.Key == ConsoleKey.Enter)
            {
                _itemClickedAction?.Invoke();
                return(true);
            }

            return(false);
        }
Пример #3
0
        protected override bool OnKeyDown(TvConsoleKeyboardEvent evt, BehaviorContext <WindowState> updateContext)
        {
            var keyInfo = evt.AsConsoleKeyInfo();

            if (keyInfo.Modifiers == ConsoleModifiers.Control && keyInfo.Key == ConsoleKey.Spacebar)
            {
                _moving = true;
                return(false);
            }

            if (_moving)
            {
                switch (keyInfo.Key)
                {
                case ConsoleKey.RightArrow:
                    updateContext.UpdateViewport(updateContext.Viewport.Translate(new TvPoint(1, 0)));
                    return(true);

                case ConsoleKey.LeftArrow:
                    updateContext.UpdateViewport(updateContext.Viewport.Translate(new TvPoint(-1, 0)));
                    return(true);

                case ConsoleKey.UpArrow:
                    updateContext.UpdateViewport(updateContext.Viewport.Translate(new TvPoint(0, -1)));
                    return(true);

                case ConsoleKey.DownArrow:
                    updateContext.UpdateViewport(updateContext.Viewport.Translate(new TvPoint(0, 1)));
                    return(true);

                case ConsoleKey.Escape:
                    _moving = false;
                    return(false);
                }
            }
            else
            {
                if (keyInfo.Key == ConsoleKey.Escape)
                {
                    updateContext.State.RequestClose();
                }
            }
            return(false);
        }
Пример #4
0
        protected override bool OnKeyUp(TvConsoleKeyboardEvent evt, BehaviorContext <CheckboxState> updateContext)
        {
            var info = evt.AsConsoleKeyInfo();

            if (info.Key == ConsoleKey.Spacebar)
            {
                var checkState = updateContext.State.Checked;
                switch (checkState)
                {
                case TvCheckboxState.Checked:
                case TvCheckboxState.Partial:
                    updateContext.State.Checked = TvCheckboxState.Unchecked;
                    break;

                default:
                    updateContext.State.Checked = TvCheckboxState.Checked;
                    break;
                }
            }

            return(true);
        }
Пример #5
0
 protected override bool OnKeyDown(TvConsoleKeyboardEvent evt, BehaviorContext <CheckboxState> updateContext) => true;
Пример #6
0
 protected override bool OnKeyUp(TvConsoleKeyboardEvent evt, BehaviorContext <ListState <T> > updateContext) => true;
Пример #7
0
 protected override bool OnKeyUp(TvConsoleKeyboardEvent evt, BehaviorContext <TextboxState> updateContext)
 {
     return(true);
 }
Пример #8
0
 protected abstract bool OnKeyUp(TvConsoleKeyboardEvent evt, BehaviorContext <T> updateContext);
Пример #9
0
 protected override bool OnKeyUp(TvConsoleKeyboardEvent evt, BehaviorContext <WindowState> updateContext) => true;