public static CanvasPositionCursor PrevInputItem( this CanvasPositionCursor Cursor, ScreenVisualItems VisualItems, VisualFeature?Feature = null, bool Reuse = true) { VisualItemCursor vc = null; var cursor = Cursor; if (cursor.IsOutsideVisualItem() == true) { vc = VisualItems.FindPrevInputItem(cursor.RowCol, Feature); } else { vc = Cursor.ItemCursor.PrevInputItem(Feature); } if (vc == null) { cursor = null; } else if (Reuse == true) { cursor.ItemCursor = vc; cursor.Position = 1; } else { cursor = new CanvasPositionCursor(vc, 1); } return(cursor); }
public void PositionCaret(OneRowCol CaretRowCol) { // position the caret cursor. VisualItemCursor ic = null; if (CaretRowCol != null) { var rowCol = CaretRowCol.ToZeroRowCol(); this.CaretCursor = VisualItems.FindVisualItemCanvas(rowCol); } else { // find the first field on the screen. ic = VisualItems.InputItemList().FirstOrDefault(); this.CaretCursor = new CanvasPositionCursor(ic); } // by default. place the caret at first input field on screen. if (this.CaretCursor.RowCol == null) { var rowCol = new ZeroRowCol(0, 0); this.CaretCursor = VisualItems.FindVisualItemCanvas(rowCol); } // position the caret cursor at the visual item. this.CanvasCaret.StartBlink(this.CaretCursor, true); }
/// <summary> /// construct cursor from position within a visual item. /// </summary> /// <param name="ItemCursor"></param> /// <param name="Position"></param> public CanvasPositionCursor(VisualItemCursor VisualCursor, int Position = 1) { this.ItemCursor = VisualCursor; this.Position = Position; }