public void Add(TextMarker m) { if (markers.Contains(m)) return; markers.Add(m); }
public void Remove(TextMarker marker) { if (marker == null) throw new ArgumentNullException("marker"); var m = marker as TextMarker; if (markers.Remove(m)) { Redraw(m); } }
void AddMarkerForOffsetUntilEnd(TextEditor editor, TextMarkerService tms, int beginOffset,ErrorType type) { if (type == ErrorType.Message || type==ErrorType.Information) return; var tm = new TextMarker(tms,beginOffset,true); tm.MarkerType = TextMarkerType.None; tm.ForegroundColor = type==ErrorType.Error? Colors.Red:Colors.OrangeRed; tms.Add(tm); tm.Redraw(); }
public TextMarker Create(int startOffset, int length) { int textLength = Editor.Document.TextLength; if (startOffset < 0 || startOffset > textLength) throw new ArgumentOutOfRangeException("startOffset", startOffset, "Value must be between 0 and " + textLength); if (length < 0 || startOffset + length > textLength) throw new ArgumentOutOfRangeException("length", length, "length must not be negative and startOffset+length must not be after the end of the document"); var m = new TextMarker(this, startOffset, length); markers.Add(m); // no need to mark segment for redraw: the text marker is invisible until a property is set return m; }