Unplanned
Last Updated: 26 Aug 2019 11:41 by ADMIN
When trying to import a document containing bookmark and BookmarkRangeEnd is after the last paragraph, a StackOverflowException is thrown in IntervalNode while trying to rebuild the document cache. (RadDocumentChildrenCache.RebuildTree()).

The same could be observed if the bookmark end is last in the header/footer, between table cells in the RadDocument body, or when all paragraphs after the bookmark range end are hidden (with vanish property).

Workaround: Detect the problematic annotations and remove them:
foreach (var rangeStart in document.EnumerateChildrenOfType<AnnotationRangeStart>())
{
    if (rangeStart.End == null || rangeStart.End.Parent == null || rangeStart.End.Parent.Parent == null)
    {
        //MessageBox.Show("This indicates a problem.");
        rangeStart.Parent.Children.Remove(rangeStart);
    }
}

Note: Until 2017 R2 SP1 release StackOverflowException is thrown, after this release an ArgumentException should be thrown.
Unplanned
Last Updated: 12 Jun 2019 13:58 by ADMIN

Please refer to the attached gif file.

Let's take for instance demo application with its default document, with text "RadRichTextEditor for WinForms" at the beginning in font Calibri of size 28. Suppose the user wants to add A, then empty line, then C in single line, followed by the rest of the document, and to have these three new lines in Times New Roman in size 10.

If there is no empty line, but letter B in middle line, then user can set caret to document start, set the font and size, and type A<Return>B<Return>C<Return>. And it would look fine (and even then, if we set caret just after B and press Return the new paragraph will have spacing after set to 7.5 for no apparent reason).

If we want an empty line instead of B in the line, then there is no simple way to do it. Typing A<Return><Return>C<Return> would produce a huge gap between A and C (we still first set the caret, and font and size). One way to accomplish what we want is to select all new text, set font size to something other than 10, and then back to 10 (which is also weird to have to do).

Unplanned
Last Updated: 17 Jan 2019 09:50 by ADMIN
RadRichTextEditor: MoveToDocumentElementStart works incorrectly when called consecutively with PermissionRangeStart as parameter
When the MoveToDocumentElementStart is called with parameter that is PermissionRangeStart and then is called a second time, the position moves to the previous position instead.


Unplanned
Last Updated: 24 Aug 2018 12:44 by ADMIN
Unplanned
Last Updated: 30 Jul 2020 04:33 by ADMIN
When the rtf document contains a table as the one below and the empty declaration is used in the following structure, the document cannot be imported:

{\fonttbl
{\f0 Verdana;}
{\f1 Times New Roman;}
{\f2 ;}
{\f3 Segoe UI;}}
Unplanned
Last Updated: 21 May 2018 13:09 by ADMIN
Unplanned
Last Updated: 23 May 2018 14:35 by ADMIN
Applying negative LeftIndent or FirstLineIndent of a paragraph in web layout mode will visualize the paragraph to the left of RadRichTextBox boundaries.
Unplanned
Last Updated: 23 May 2018 14:28 by ADMIN
Unplanned
Last Updated: 23 May 2018 14:59 by ADMIN
When there is a hyperlink enclosed in another annotation (e.g comment, bookmark, read-only range), and the user moves the caret position just before or just after the hyperlink, and starts typing there, the text is inserted with the style of the hyperlink (by default, blue with blue underline). Instead, the text should be inserted without such style.
Unplanned
Last Updated: 22 May 2018 09:49 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: RichTextEditor
Type: Bug Report
1
To reproduce: run the project, load the document available in the project's folder and start clicking the words. You will notice that the cursor is shifted on the right. 

Workaround: don't enable the RightToLeft property.
Unplanned
Last Updated: 17 Apr 2018 09:19 by ADMIN
When CJK text (Chinese, Korean, Japanes) is copied from WordPad and paste into RadRichTextBox text, the characters are imported incorrectly (as '?' and as different characters). The same applies if WordPad document containing CJK is imported from RTF. 

The problem is related to the specified \fcharset134 RTF tag, which is not properly interpreted.
Unplanned
Last Updated: 16 Apr 2018 13:11 by zhijun
Unplanned
Last Updated: 01 May 2018 10:45 by ADMIN
How to reproduce: create a table with 1px of the inner borders and 3px of the outer borders. The attached screenshots demonstrates the issue. A similar result can be also observed with other widths as well.
Unplanned
Last Updated: 12 Mar 2018 15:51 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: RichTextEditor
Type: Bug Report
2
When you have more than one RadRichTextEditor controls on the form and you have selected text in both of theme, only the focused RadRichTextEditor should show the selection. 
Unplanned
Last Updated: 21 Jun 2018 14:39 by ADMIN
To reproduce: 
- Load a right to left document with Hebrew characters.
- Export it to PDF
- The characters' position is not correct.

Unplanned
Last Updated: 06 Mar 2018 15:05 by ADMIN
Workaround: 
private void RadRichTextEditor1_CommandExecuting(object sender, CommandExecutingEventArgs e)
{
    if (!(e.Command is PasteCommand))
    {
        return;
    }

    DocumentFragment res = ClipboardEx.GetDocumentFromClipboard("RadDocumentGUID");
    if (res == null)
    {
        foreach (ClipboardHandler settings in ClipboardEx.ClipboardHandlers)
        {
            res = ClipboardEx.GetDocumentFromClipboard(settings.ClipboardDataFormat, settings.ClipboardStringFilter);
        }
    }

    if (res == null)
    {
        e.Cancel = true;
        System.Drawing.Image bitmapSource = Clipboard.GetImage();
        if (bitmapSource == null)
        {
            return;
        }

        Telerik.WinForms.Documents.Layout.Padding sectionmargin = this.radRichTextEditor1.Document.CaretPosition.GetCurrentSectionBox().AssociatedSection.ActualPageMargin;

        double originalPixelWidth = bitmapSource.Width;
        double originalPixelHeight = bitmapSource.Height;

        if (originalPixelWidth == 0 || originalPixelHeight == 0)
        {
            originalPixelWidth = 10;
            originalPixelHeight = 10;
        }

        double width = originalPixelWidth;
        double height = originalPixelHeight;
        
        if (this.radRichTextEditor1.Document.LayoutMode == DocumentLayoutMode.Paged)
        {
            Section currentSection = this.radRichTextEditor1.Document.CaretPosition.GetCurrentSectionBox().AssociatedSection;
            Telerik.WinForms.Documents.Model.SizeF pageSize = (Telerik.WinForms.Documents.Model.SizeF)currentSection.GetType().GetProperty("ActualPageSize", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).GetValue(currentSection);

            double maxWidth = pageSize.Width - (sectionmargin.Left + sectionmargin.Right);
            double maxHeight = pageSize.Height - (sectionmargin.Top + sectionmargin.Bottom);
            width = Math.Min(maxWidth, width);
            height = Math.Min(maxHeight, height);
        }
        
        double ratio = originalPixelWidth / originalPixelHeight;
        width = Math.Min(width, height * ratio);
        height = width / ratio;
        
        Telerik.WinControls.RichTextEditor.UI.Size size = new Telerik.WinControls.RichTextEditor.UI.Size(width, height);
        ImageInline imageInline = new ImageInline(new WriteableBitmap(bitmapSource));
        imageInline.Size = size;
        
        this.radRichTextEditor1.RichTextBoxElement.ActiveDocumentEditor.InsertInline(imageInline);
    }
}
Unplanned
Last Updated: 21 Feb 2018 13:30 by ADMIN
Pressing Tab/Shift+Tab when caret position is at the beginning of a paragraph should change current paragraph FirstLineIndent instead of LeftIndent.

First line indent should be changed to Document.DefaultTabWidth step.

Workaround:
private void RadRichTextEditor1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyData != Keys.Tab)
    {
        return;
    }

    this.radRichTextEditor1.Insert("\t");
    e.SuppressKeyPress = true;
    e.Handled = true;
}
Unplanned
Last Updated: 15 Feb 2018 09:27 by ADMIN