public void FindNext() { if (this.Document.Selection.IsEmpty) { this.FindNext(this.Document.CaretPosition); } else { DocumentPosition fromPosition = new DocumentPosition(this.Document.Selection.Ranges.Last.StartPosition); fromPosition.MoveToNext(); this.FindNext(fromPosition); } }
private void HighlightOccurrencesInVisibleBoxes(IEnumerable <SpanLayoutBox> spanList) { if (spanList.Count() == 0) { return; } SpanLayoutBox firstBox = spanList.First(); SpanLayoutBox lastBox = spanList.Last(); DocumentPosition searchStart = new DocumentPosition(this.Document); DocumentPosition searchEnd = new DocumentPosition(this.Document); searchStart.MoveToInline(firstBox, 0); searchEnd.MoveToInline(lastBox, lastBox.PositionsCountInBox - 1); DocumentTextSearch textSearch = new DocumentTextSearch(this.Document); TextRange textRange = textSearch.Find(word, searchStart, searchEnd); int count = 0; while (textRange != null) { count++; DocumentPosition lineStart = new DocumentPosition(textRange.StartPosition); DocumentPosition lineEnd = new DocumentPosition(lineStart); lineEnd.MoveToCurrentLineEnd(); while (lineEnd < textRange.EndPosition) { this.FlushBoxes(lineStart, lineEnd); lineStart.MoveToCurrentLineEnd(); lineStart.MoveToNext(); lineEnd.MoveToNext(); lineEnd.MoveToCurrentLineEnd(); } this.FlushBoxes(lineStart, textRange.EndPosition); searchStart.MoveToPosition(textRange.EndPosition); if (searchStart >= searchEnd) { break; } textRange = textSearch.Find(word, searchStart, searchEnd); } }
private void ShowDialog() { ImageInline imageInline = this.radRichTextBox.Document.EnumerateChildrenOfType<ImageInline>().FirstOrDefault(); if (imageInline != null) { DocumentPosition start = new DocumentPosition(this.radRichTextBox.Document); DocumentPosition end = new DocumentPosition(this.radRichTextBox.Document); start.MoveToInline(imageInline); end.MoveToPosition(start); end.MoveToNext(); this.radRichTextBox.Document.Selection.AddSelectionStart(start); this.radRichTextBox.Document.Selection.AddSelectionEnd(end); if (this.radRichTextBox.Document.Selection.GetSelectedSingleInline() is ImageInline) { this.radRichTextBox.ShowImageEditorDialog(); } } }
private void ShowImageEditorDialog() { ImageInline imageInline = this.radRichTextBox.Document.EnumerateChildrenOfType <ImageInline>().FirstOrDefault(); if (imageInline != null) { DocumentPosition start = new DocumentPosition(this.radRichTextBox.Document); DocumentPosition end = new DocumentPosition(this.radRichTextBox.Document); start.MoveToInline(imageInline); end.MoveToPosition(start); end.MoveToNext(); this.radRichTextBox.Document.Selection.AddSelectionStart(start); this.radRichTextBox.Document.Selection.AddSelectionEnd(end); if (this.radRichTextBox.Document.Selection.GetSelectedSingleInline() is ImageInline) { this.radRichTextBox.ShowImageEditorDialog(); } } }
private void HighlightOccurrencesInVisibleBoxes(IEnumerable<SpanLayoutBox> spanList) { if (spanList.Count() == 0) { return; } SpanLayoutBox firstBox = spanList.First(); SpanLayoutBox lastBox = spanList.Last(); DocumentPosition searchStart = new DocumentPosition(this.Document); DocumentPosition searchEnd = new DocumentPosition(this.Document); searchStart.MoveToInline(firstBox, 0); searchEnd.MoveToInline(lastBox, lastBox.PositionsCountInBox - 1); DocumentTextSearch textSearch = new DocumentTextSearch(this.Document); TextRange textRange = textSearch.Find(word, searchStart, searchEnd); int count = 0; while (textRange != null) { count++; DocumentPosition lineStart = new DocumentPosition(textRange.StartPosition); DocumentPosition lineEnd = new DocumentPosition(lineStart); lineEnd.MoveToCurrentLineEnd(); while (lineEnd < textRange.EndPosition) { this.FlushBoxes(lineStart, lineEnd); lineStart.MoveToCurrentLineEnd(); lineStart.MoveToNext(); lineEnd.MoveToNext(); lineEnd.MoveToCurrentLineEnd(); } this.FlushBoxes(lineStart, textRange.EndPosition); searchStart.MoveToPosition(textRange.EndPosition); if (searchStart >= searchEnd) { break; } textRange = textSearch.Find(word, searchStart, searchEnd); } }
private void ReplaceSemanticRange(RadDocument document, string semanticRangeName, DocumentFragment replacement) { RecipeRangeStart start = null; RecipeRangeEnd end = null; foreach (RecipeRangeStart rangeStart in document.GetAnnotationMarkersOfType<RecipeRangeStart>()) { if (rangeStart.Name == semanticRangeName) { start = rangeStart; end = (RecipeRangeEnd)rangeStart.End; } } if (start != null && end != null) { DocumentPosition startPosition = new DocumentPosition(document); startPosition.MoveToInline((InlineLayoutBox)start.FirstLayoutBox, 0); startPosition.MoveToNext(); DocumentPosition endPosition = new DocumentPosition(document); endPosition.MoveToInline((InlineLayoutBox)end.FirstLayoutBox, 0); document.DeleteRange(startPosition, endPosition); document.CaretPosition.MoveToInline((InlineLayoutBox)start.FirstLayoutBox, 0); document.CaretPosition.MoveToNext(); document.InsertFragment(replacement); } }