> # Use Case > > typing into RichTextArea with a default model (or any other model that > supports discrete styles), in the presence of a tool bar or similar UI that > allows to specify the styles to take effect on the next key press. Example: > - open MS Word or another rich text editor such as TextEdit > - type something > - place cursor at the middle of the typed text and hit command-B or ctrl-B on > Win/Linux > - notice how the formatting toolbar highlights [b] button indicating that the > style for next character to be inserted has changed to bold > - type something and confirm that inserted text is bold > the new style is captured only in the toolbar UI, so clicking on some other > part of the text reverts the bold button to the unselected state. > > > # Problem > > typing a character uses the model's logic to deal with the styles, via > StyledTextModel::replace(StyleResolver resolver, TextPos start, TextPos end, > String text) method, see RichTextAreaBehavior::handleTypedChar(). This > worked well initially, however it makes it impossible (without extending > RichTextAreaBehavior which is not a public class) to implement the behavior > described earlier. > > > # Solution > > - add 'insertStyles<StyleAttributeMap>' property to the RichTextArea, which > will override the model styles in RichTextAreaBehavior::handleTypedChar() if > the value is not null
Andy Goryachev has updated the pull request incrementally with one additional commit since the last revision: review comments ------------- Changes: - all: https://git.openjdk.org/jfx/pull/2017/files - new: https://git.openjdk.org/jfx/pull/2017/files/67066b6e..ff264fc0 Webrevs: - full: https://webrevs.openjdk.org/?repo=jfx&pr=2017&range=02 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=2017&range=01-02 Stats: 8 lines in 2 files changed: 7 ins; 0 del; 1 mod Patch: https://git.openjdk.org/jfx/pull/2017.diff Fetch: git fetch https://git.openjdk.org/jfx.git pull/2017/head:pull/2017 PR: https://git.openjdk.org/jfx/pull/2017
