private void SetupEditingTools() { _shapeEditingContainer = new EditingContainer(); _gizmoContainer = new GizmoContainer(); _editingTools.Clear(); _editingTools.Add(_shapeEditingContainer); _editingTools.Add(_gizmoContainer); _editingTools.Add(new FloatingToolbarEditingTool()); }
internal void SendFirstKey(string c, bool replace) { foreach (char ch in c) { if (((ch != '\r') && (ch != '\n')) && char.IsControl(ch)) { return; } } var box = _editorLayer.Editor; if ((box != null) && !box.IsReadOnly) { if (replace) { box.Text = c; box.SelectionStart = box.Text.Length; } else { int selectionStart = box.SelectionStart; int startIndex = selectionStart; string text = box.Text; if (!string.IsNullOrEmpty(box.Text)) { MatchCollection matchs = Regex.Matches(box.Text.Replace("\n", "").Substring(0, selectionStart), "\r"); if (matchs != null) { startIndex += matchs.Count; } } if (startIndex <= box.Text.Length) { box.Text = box.Text.Insert(startIndex, c); box.SelectionStart = selectionStart + 1; EditingContainer.InvalidateMeasure(); EditingContainer.InvalidateArrange(); } } } }