protected override bool OnKeyDown(TvConsoleKeyboardEvent evt, BehaviorContext <TextboxState> updateContext) { var character = evt.Character; updateContext.State.ProcessKey(evt.AsConsoleKeyInfo()); return(true); }
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); }
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); }
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); }
protected override bool OnKeyDown(TvConsoleKeyboardEvent evt, BehaviorContext <CheckboxState> updateContext) => true;
protected override bool OnKeyUp(TvConsoleKeyboardEvent evt, BehaviorContext <ListState <T> > updateContext) => true;
protected override bool OnKeyUp(TvConsoleKeyboardEvent evt, BehaviorContext <TextboxState> updateContext) { return(true); }
protected abstract bool OnKeyUp(TvConsoleKeyboardEvent evt, BehaviorContext <T> updateContext);
protected override bool OnKeyUp(TvConsoleKeyboardEvent evt, BehaviorContext <WindowState> updateContext) => true;