Пример #1
0
 private void SetupEditingTools()
 {
     _shapeEditingContainer = new EditingContainer();
     _gizmoContainer        = new GizmoContainer();
     _editingTools.Clear();
     _editingTools.Add(_shapeEditingContainer);
     _editingTools.Add(_gizmoContainer);
     _editingTools.Add(new FloatingToolbarEditingTool());
 }
Пример #2
0
        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();
                    }
                }
            }
        }