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); }
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; } }
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); }
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, "_"); } }
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()); } } }