public void InsertAt(int offset, char text, ITextDocumentFilterChain bypass) { if (Filter(text)) { bypass.InsertAt(offset, text); } }
public void InsertAt(int offset, char text, ITextDocumentFilterChain bypass) { var ml = maxLengthFunction(); if (ml > 0) { if (document.TextLength + 1 < ml) { bypass.InsertAt(offset, text); } } else { bypass.InsertAt(offset, text); } }
public void InsertAt(int offset, char text, ITextDocumentFilterChain bypass) { if (rules.IsLineBreak('\0', text) == LineBreakType.None) { bypass.InsertAt(offset, text); } }
public void InsertAt(int offset, string text, ITextDocumentFilterChain bypass) { var ml = maxLengthFunction(); if (ml > 0) { var remainingSpace = Math.Max(0, ml - document.TextLength); if (remainingSpace > 0) { bypass.InsertAt(offset, text.Substring(0, Math.Min(text.Length, remainingSpace))); } } else { bypass.InsertAt(offset, text); } }
public void InsertAt(int offset, string text, ITextDocumentFilterChain bypass) { buffer.Clear(); buffer.EnsureCapacity(text.Length); for (var index = 0; index < text.Length; index++) { var c = text[index]; if (Filter(c)) { buffer.Append(c); } } if (buffer.Length > 0) { bypass.InsertAt(offset, buffer.ToString()); } }
public void InsertAt(int offset, string text, ITextDocumentFilterChain bypass) { bufferContent.Clear(); bufferContent.EnsureCapacity(text.Length); bufferContent.Insert(0, text); buffer.Clear(); buffer.EnsureCapacity(text.Length); var breaker = new BreakIterator <LineBreakType>(bufferContent, rules.IsLineBreak, 0, bufferContent.Length); while (breaker.MoveNext()) { if (breaker.Current == LineBreakType.None) { buffer.Append(breaker.CurrentChar); } } if (buffer.Length > 0) { bypass.InsertAt(offset, buffer.ToString()); } }