On Mon, 22 Dec 2025 23:29:19 GMT, Andy Goryachev <[email protected]> wrote:

>> This PR addresses the user feedback:
>> 
>> In RichParagraph you have a note to make getSegments() public.  It would be 
>> helpful if it was.
>> 
>> 
>> The problem being solved here is to allow the developers to easily add 
>> functionality to the existing `RichTextModel` (and its storage 
>> implementation) without creating a new model from scratch.
>> 
>> This is done in two parts:
>> 
>> 1. Allowing the custom model to alter the paragraph by giving access to its 
>> Builder via a new protected method
>> 
>> 
>> protected RichParagraph.Builder buildParagraph(int index)
>> 
>> 
>> 2. Adding two methods that give access to the segments in the 
>> `RichParagraph` and `RichParagraph.Builder` classes:
>> 
>> - getSegmentCount()
>> - getSegment(int index)
>> 
>> NOTE: Even though returning an (immutable) List might be considered "more 
>> useful", doing so would necessitate creating a copy - something I do want to 
>> avoid.
>
> Andy Goryachev has updated the pull request with a new target base due to a 
> merge or a rebase. The pull request now contains 14 commits:
> 
>  - prepare paragraph
>  - Merge branch 'master' into 8371070.enhance
>  - javadoc
>  - cleanup
>  - Merge branch 'master' into 8366198.rbuilder
>  - rich paragraph builder api
>  - Merge branch 'master' into 8371070.enhance
>  - npe
>  - merge
>  - Merge branch 'master' into 8371070.enhance
>  - ... and 4 more: https://git.openjdk.org/jfx/compare/b39e1faa...dd3ec196

Looks good.

Go ahead and create the CSR.

modules/jfx.incubator.richtext/src/main/java/jfx/incubator/scene/control/richtext/model/RichTextModel.java
 line 90:

> 88:      * Prepares the paragraph by populating a builder with the paragraph 
> content.
> 89:      * This method allows the custom model to add highlights and 
> decorations
> 90:      * without affecting the base class storage model.

Thank you. This is clear now.

modules/jfx.incubator.richtext/src/main/java/jfx/incubator/scene/control/richtext/model/RichTextModel.java
 line 810:

> 808:         }
> 809: 
> 810:         private RichParagraph.Builder buildParagraph() {

Minor: this is an impl detail, but maybe rename this one, too? Up to you.

-------------

Marked as reviewed by kcr (Lead).

PR Review: https://git.openjdk.org/jfx/pull/1966#pullrequestreview-3606074611
PR Review Comment: https://git.openjdk.org/jfx/pull/1966#discussion_r2641515471
PR Review Comment: https://git.openjdk.org/jfx/pull/1966#discussion_r2641516066

Reply via email to