示例#1
0
		public void Add(TextMarker m)
		{
			if (markers.Contains(m))
				return;

			markers.Add(m);
		}
示例#2
0
		public void Remove(TextMarker marker)
		{
			if (marker == null)
				throw new ArgumentNullException("marker");
			var m = marker as TextMarker;
			if (markers.Remove(m)) {
				Redraw(m);
			}
		}
示例#3
0
		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();
		}
示例#4
0
		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;
		}