Example #1
0
        private VisualItem PutTextToVisualItem(ItemCanvasCursor CanvasCursor, string Text, int Pos)
        {
            var item    = CanvasCursor.GetVisualItem();
            var absPos  = item.StrColNum + Pos - 1;
            var locText = new LocatedString(absPos, Text);

            item.ApplyText(locText);
            return(item);
        }
Example #2
0
        private void Canvas_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            var pos          = e.GetPosition(this.Canvas);
            var loc          = pos.CanvasPosToScreenLoc(this.CharDim);
            var canvasCursor = VisualItems.FindVisualItem(loc);

            if (canvasCursor.VisualCursor != null)
            {
                this.CaretCursor = canvasCursor;
                this.CanvasCaret.StartBlink(this.CaretCursor);
                e.Handled = true;
            }
        }
Example #3
0
        public ItemCanvasCursor PutText_AdvanceCaret(
            ItemCanvasCursor Cursor, string Text, bool Reuse = true)
        {
            ItemCanvasCursor cursor = Cursor;
            VisualItem       item   = null;
            var vi = cursor.GetVisualItem();

            if (vi?.IsInputItem == true)
            {
                item   = PutTextToVisualItem(cursor, Text, cursor.Position);
                cursor = cursor.AdvanceRight(HowAdvance.NextEntryField, Reuse);
            }
            return(cursor);
        }
Example #4
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, "_");
            }
        }
Example #5
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());
                }
            }
        }