Ejemplo n.º 1
0
        public override void PaintScreen(List <ShowItemBase> ShowItemList)
        {
            this.ShowItemList = ShowItemList;

            base.PaintScreen(ShowItemList);

            // find the first field on the screen.
            var cursor = VisualItems.FirstInputItem();

            if (cursor != null)
            {
                this.CaretCursor = new ItemCanvasCursor(cursor);
                var item = cursor.GetVisualItem();
                CanvasCaret.StartBlink(item, item.StrLoc, "_");
            }
        }
Ejemplo n.º 2
0
        private void Item_PreviewKeyDown(object sender, KeyEventArgs e)
        {
            string keyText = TextCanvasLib.Ext.KeyExt.ToTextInput(e.Key);

            if (keyText != null)
            {
                this.CaretCursor = PutText_AdvanceCaret(this.CaretCursor, keyText);
                this.CanvasCaret.StartBlink(this.CaretCursor);
                e.Handled = true;
            }
            else if (e.Key == Key.Tab)
            {
                if (Keyboard.IsKeyDown(Key.LeftShift) == false)
                {
                    this.CaretCursor = this.CaretCursor.NextInputItem();
                }
                else
                {
                    this.CaretCursor = this.CaretCursor.PrevInputItem();
                }

                var item = this.CaretCursor.GetVisualItem();
                CanvasCaret.SetLocation(item.StrLoc);
                e.Handled = true;
            }
            else if (e.Key == Key.Down)
            {
                e.Handled = true;
            }
            else if (e.Key == Key.Enter)
            {
                CanvasCaret.BlinkSymbol(this.CaretLoc, "_");
            }
            else if (e.Key == Key.Right)
            {
                this.CaretCursor.AdvanceRight(HowAdvance.NextColumn);
                this.CanvasCaret.StartBlink(this.CaretCursor);
                e.Handled = true;
            }
            else if (e.Key == Key.Left)
            {
                this.CaretCursor.AdvanceLeft(HowAdvance.NextColumn);
                this.CanvasCaret.StartBlink(this.CaretCursor);
                e.Handled = true;
            }
            else if (e.Key == Key.Up)
            {
                e.Handled = true;
            }
            else if (e.Key == Key.Back)
            {
                PutText(" ", this.CaretLoc);
                CanvasCaret.BlinkSymbol(this.CaretLoc, "_");
                e.Handled = true;
            }

            else if (e.Key == Key.Delete)
            {
                CanvasCaret.BlinkSymbol(this.CaretLoc, "_");
                e.Handled = true;
            }

            // f3-exit.  Signal the screen exit event.
            else if (e.Key == Key.F3)
            {
                if (this.ScreenExitEvent != null)
                {
                    this.ScreenExitEvent(this, new EventArgs());
                }
            }
        }