<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    Andy, unfortunately, I don't have that text and the link to the
    issue will come only when the issue is approved.<br>
    Sorry, we can only wait now.<br>
    <br>
    Best regards. Pavel<br>
    <br>
    <div class="moz-cite-prefix">On 5/12/25 20:40, Andy Goryachev wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CY8PR10MB7265FD69F4966C211D47C995E597A@CY8PR10MB7265.namprd10.prod.outlook.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta name="Generator"
        content="Microsoft Word 15 (filtered medium)">
      <style>@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
        {font-family:"Yu Gothic";
        panose-1:2 11 4 0 0 0 0 0 0 0;}@font-face
        {font-family:Aptos;
        panose-1:2 11 0 4 2 2 2 2 2 4;}@font-face
        {font-family:"Iosevka Fixed SS16";
        panose-1:2 0 5 9 3 0 0 0 0 4;}@font-face
        {font-family:"Times New Roman \(Body CS\)";
        panose-1:2 11 6 4 2 2 2 2 2 4;}@font-face
        {font-family:"\@Yu Gothic";
        panose-1:2 11 4 0 0 0 0 0 0 0;}p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:10.0pt;
        font-family:"Aptos",sans-serif;}a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}span.EmailStyle200
        {mso-style-type:personal-reply;
        font-family:"Iosevka Fixed SS16";
        color:windowtext;}.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;
        mso-ligatures:none;}div.WordSection1
        {page:WordSection1;}</style>
      <div class="WordSection1">
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">Pavel:<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">if
            you don't mind, could you forward the text from the bug to
            the mailing list as a new message, so it does not get
            appended to the PR?<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">The
            reason is - it'll take some time to percolate the ticket
            through the webbugs system.<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">Thanks!<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">-andy<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""><o:p> </o:p></span></p>
        <div id="mail-editor-reference-message-container">
          <div>
            <div>
              <div
style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
                <p class="MsoNormal" style="margin-bottom:12.0pt"><b><span
                      style="font-size:12.0pt;color:black">From:
                    </span></b><span
                    style="font-size:12.0pt;color:black">openjfx-dev
                    <a class="moz-txt-link-rfc2396E" href="mailto:openjfx-dev-retn@openjdk.org"><openjfx-dev-retn@openjdk.org></a> on behalf of
                    PavelTurk <a class="moz-txt-link-rfc2396E" href="mailto:pavelturk2000@gmail.com"><pavelturk2000@gmail.com></a><br>
                    <b>Date: </b>Monday, May 12, 2025 at 10:31<br>
                    <b>To: </b><a class="moz-txt-link-abbreviated" href="mailto:openjfx-dev@openjdk.org">openjfx-dev@openjdk.org</a>
                    <a class="moz-txt-link-rfc2396E" href="mailto:openjfx-dev@openjdk.org"><openjfx-dev@openjdk.org></a><br>
                    <b>Subject: </b>Re: RFR: 8355774: RichTextArea:
                    provide mechanism for CSS styling of highlights<o:p></o:p></span></p>
              </div>
              <p class="MsoNormal" style="margin-bottom:12.0pt"><span
                  style="font-size:12.0pt">Andy, thank you for your time
                  and the detailed discussion. I'm sure it was very
                  helpful.
                  <br>
                  <br>
                  That's why I just opened a new issue with ID: 9078500.<br>
                  <br>
                  Best regards, Pavel<o:p></o:p></span></p>
              <div>
                <p class="MsoNormal"><span style="font-size:12.0pt">On
                    5/12/25 19:58, Andy Goryachev wrote:<o:p></o:p></span></p>
              </div>
              <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
                <div>
                  <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">JDK-8355774
                      adds methods to style highlights added via
                      addHighlight() with CSS.</span><o:p></o:p></p>
                  <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                  <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">What
                      (I think) you want is an ability to style a single
                      text segment with (background | underlines | etc)
                      attributes, which is still debatable - because you
                      already can do all that, albeit with some
                      additional code.  The addHighlight() is more
                      flexible, as it allows to style not only the
                      segment being added, but also multiple segments of
                      parts of segments.  So, in effect, the existing
                      APIs (plus JDK-8355774) allow you address your
                      requirements.</span><o:p></o:p></p>
                  <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                  <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">Or
                      is there something you that is still impossible to
                      do?</span><o:p></o:p></p>
                  <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                  <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">-andy</span><o:p></o:p></p>
                  <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                  <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                  <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                  <div id="mail-editor-reference-message-container">
                    <div>
                      <div>
                        <div
style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
                          <p class="MsoNormal"
                            style="margin-bottom:12.0pt"><b><span
                                style="font-size:12.0pt;color:black">From:
                              </span></b><span
                              style="font-size:12.0pt;color:black">openjfx-dev
                              <a
href="mailto:openjfx-dev-retn@openjdk.org" moz-do-not-send="true">
                                <openjfx-dev-retn@openjdk.org></a>
                              on behalf of PavelTurk <a
                                href="mailto:pavelturk2000@gmail.com"
                                moz-do-not-send="true">
                                <pavelturk2000@gmail.com></a><br>
                              <b>Date: </b>Monday, May 12, 2025 at
                              09:49<br>
                              <b>To: </b><a
                                href="mailto:openjfx-dev@openjdk.org"
                                moz-do-not-send="true"
                                class="moz-txt-link-freetext">openjfx-dev@openjdk.org</a>
                              <a href="mailto:openjfx-dev@openjdk.org"
                                moz-do-not-send="true">
                                <openjfx-dev@openjdk.org></a><br>
                              <b>Subject: </b>Re: RFR: 8355774:
                              RichTextArea: provide mechanism for CSS
                              styling of highlights</span><o:p></o:p></p>
                        </div>
                        <p class="MsoNormal"
                          style="margin-bottom:12.0pt"><span
                            style="font-size:12.0pt">Thank you very much
                            for the detailed explanation. Am I right in
                            understanding that JDK-8355774 does not
                            <br>
                            consider the possibility of styling
                            underline/wavy underline via a CSS file
                            (without calling special methods<br>
                            like addHighlight, addWavyUnderline? <br>
                            <br>
                            If so, should I open another issue?<br>
                            <br>
                            Best regards, Pavel</span><o:p></o:p></p>
                        <div>
                          <p class="MsoNormal"><span
                              style="font-size:12.0pt">On 5/12/25 19:41,
                              Andy Goryachev wrote:</span><o:p></o:p></p>
                        </div>
                        <blockquote
                          style="margin-top:5.0pt;margin-bottom:5.0pt">
                          <div>
                            <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">Yes,
                                I know.  But we must support both
                                options, since the RichTextArea provides
                                models that allow to style
                                programmatically and independently from
                                the stylesheet.  Our goal is to provide
                                the tools that can be used equally well
                                in either situation.  "The most frequent
                                operations must be easy, all other must
                                be possible".</span><o:p></o:p></p>
                            <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                            <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">-andy</span><o:p></o:p></p>
                            <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                            <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                            <div
id="mail-editor-reference-message-container">
                              <div>
                                <div>
                                  <div
style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
                                    <p class="MsoNormal"
                                      style="margin-bottom:12.0pt"><b><span
style="font-size:12.0pt;color:black">From:
                                        </span></b><span
style="font-size:12.0pt;color:black">openjfx-dev <a
href="mailto:openjfx-dev-retn@openjdk.org" moz-do-not-send="true">
<openjfx-dev-retn@openjdk.org></a> on behalf of PavelTurk <a
href="mailto:pavelturk2000@gmail.com" moz-do-not-send="true">
<pavelturk2000@gmail.com></a><br>
                                        <b>Date: </b>Monday, May 12,
                                        2025 at 09:34<br>
                                        <b>To: </b><a
href="mailto:openjfx-dev@openjdk.org" moz-do-not-send="true"
                                          class="moz-txt-link-freetext">openjfx-dev@openjdk.org</a>
                                        <a
href="mailto:openjfx-dev@openjdk.org" moz-do-not-send="true">
<openjfx-dev@openjdk.org></a><br>
                                        <b>Subject: </b>Re: RFR:
                                        8355774: RichTextArea: provide
                                        mechanism for CSS styling of
                                        highlights</span><o:p></o:p></p>
                                  </div>
                                  <p class="MsoNormal"
                                    style="margin-bottom:12.0pt"><span
                                      style="font-size:12.0pt">Andy,
                                      thank you very much for your
                                      response. But as I’ve said many
                                      times, I’m only considering
                                      styling through a CSS file.
                                      <br>
                                      <br>
                                      Best regards, Pavel<br>
                                      <br>
                                      On 5/12/25 19:28, Andy Goryachev
                                      wrote:</span><o:p></o:p></p>
                                  <blockquote
style="margin-top:5.0pt;margin-bottom:5.0pt">
                                    <div>
                                      <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">Pavel:</span><o:p></o:p></p>
                                      <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                                      <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">Underlines
                                          and strike-through attributes
                                          are available via
                                          StyleAttributeMap.STRIKE_THROUGH
                                          and
                                          StyleAttributeMap.UNDERLINE
                                          (using text color).  On the
                                          other hand, adding this
                                          functionality via
                                          addHighlight() would allow the
                                          application to style the
                                          shapes via CSS.</span><o:p></o:p></p>
                                      <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                                      <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">-andy</span><o:p></o:p></p>
                                      <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                                      <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                                      <div
id="mail-editor-reference-message-container">
                                        <div>
                                          <div>
                                            <div
style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
                                              <p class="MsoNormal"
style="margin-bottom:12.0pt"><b><span
style="font-size:12.0pt;color:black">From:
                                                  </span></b><span
style="font-size:12.0pt;color:black">openjfx-dev <a
href="mailto:openjfx-dev-retn@openjdk.org" moz-do-not-send="true">
<openjfx-dev-retn@openjdk.org></a> on behalf of PavelTurk <a
href="mailto:pavelturk2000@gmail.com" moz-do-not-send="true">
<pavelturk2000@gmail.com></a><br>
                                                  <b>Date: </b>Thursday,
                                                  May 8, 2025 at 22:18<br>
                                                  <b>To: </b><a
href="mailto:openjfx-dev@openjdk.org" moz-do-not-send="true"
class="moz-txt-link-freetext">openjfx-dev@openjdk.org</a> <a
href="mailto:openjfx-dev@openjdk.org" moz-do-not-send="true">
<openjfx-dev@openjdk.org></a><br>
                                                  <b>Subject: </b>Re:
                                                  RFR: 8355774:
                                                  RichTextArea: provide
                                                  mechanism for CSS
                                                  styling of highlights</span><o:p></o:p></p>
                                            </div>
                                            <p class="MsoNormal"
style="margin-bottom:12.0pt"><span style="font-size:12.0pt">Andy, I'm
                                                really glad we figured
                                                out the background-color
                                                issue, and I'm also very
                                                grateful to you!<br>
                                                <br>
                                                Regarding wavy lines and
                                                other types of
                                                underlining — in my
                                                previous message, I
                                                listed the key
                                                attributes
                                                <br>
                                                that are essential for a
                                                modern CodeArea. For
                                                example, underline for
                                                links — I don't think
                                                it's necessary to write
                                                <br>
                                                that the internet is
                                                extremely popular today
                                                and that links in code
                                                are common practice, and
                                                so on.<br>
                                                <br>
                                                Of course, all of these
                                                properties should be set
                                                via a CSS file, since
                                                that's the most
                                                efficient way to use CSS
                                                —
                                                <br>
                                                when styling is
                                                completely separated
                                                from logic.<br>
                                                <br>
                                                So, the list contains
                                                five properties. If two
                                                of them are not
                                                supported, that means
                                                (to me) that only 60% of
                                                the
                                                <br>
                                                core properties are
                                                supported.<br>
                                                <br>
                                                That's just my feedback
                                                — the decision is, of
                                                course, yours :)<br>
                                                <br>
                                                Best regards, Pavel</span><o:p></o:p></p>
                                            <div>
                                              <p class="MsoNormal"><span
style="font-size:12.0pt">On 5/9/25 00:09, Andy Goryachev wrote:</span><o:p></o:p></p>
                                            </div>
                                            <blockquote
style="margin-top:5.0pt;margin-bottom:5.0pt">
                                              <div>
                                                <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">The
                                                    only property that
                                                    makes sense is the
                                                    background color. 
                                                    The wavy and other
                                                    kinds of underlines,
                                                    while they make some
                                                    sense in the context
                                                    of the CodeArea,
                                                    would fail in
                                                    general in the
                                                    context of
                                                    RichTextArea where
                                                    the content may
                                                    include nodes and
                                                    images.  The
                                                    highlights were
                                                    designed
                                                    specifically for the
                                                    case to highlight
                                                    the content range
                                                    regardless of what
                                                    is in it.</span><o:p></o:p></p>
                                                <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                                                <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">I've
                                                    reopened
                                                    <a
href="https://bugs.openjdk.org/browse/JDK-8356436"
moz-do-not-send="true" class="moz-txt-link-freetext">https://bugs.openjdk.org/browse/JDK-8356436</a>
                                                    for the background
                                                    color.</span><o:p></o:p></p>
                                                <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                                                <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">Thank
                                                    you for your
                                                    patience and good
                                                    suggestions!</span><o:p></o:p></p>
                                                <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                                                <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">-andy</span><o:p></o:p></p>
                                                <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                                                <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                                                <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                                                <div
id="mail-editor-reference-message-container">
                                                  <div>
                                                    <div>
                                                      <div
style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
                                                        <p
class="MsoNormal" style="margin-bottom:12.0pt"><b><span
style="font-size:12.0pt;color:black">From:
                                                          </span></b><span
style="font-size:12.0pt;color:black">openjfx-dev <a
href="mailto:openjfx-dev-retn@openjdk.org" moz-do-not-send="true">
<openjfx-dev-retn@openjdk.org></a> on behalf of PavelTurk <a
href="mailto:pavelturk2000@gmail.com" moz-do-not-send="true">
<pavelturk2000@gmail.com></a><br>
                                                          <b>Date: </b>Thursday,
                                                          May 8, 2025 at
                                                          13:13<br>
                                                          <b>To: </b><a
href="mailto:openjfx-dev@openjdk.org" moz-do-not-send="true"
class="moz-txt-link-freetext">openjfx-dev@openjdk.org</a> <a
href="mailto:openjfx-dev@openjdk.org" moz-do-not-send="true">
<openjfx-dev@openjdk.org></a><br>
                                                          <b>Subject: </b>Re:
                                                          RFR: 8355774:
                                                          RichTextArea:
                                                          provide
                                                          mechanism for
                                                          CSS styling of
                                                          highlights</span><o:p></o:p></p>
                                                      </div>
                                                      <p
class="MsoNormal" style="margin-bottom:12.0pt"><span
style="font-size:12.0pt">Since we’re talking about code styling, I would
                                                          highlight the
                                                          following as
                                                          the main
                                                          properties:<br>
                                                          - foreground
                                                          color (+)<br>
                                                          - background
                                                          color (-)<br>
                                                          - font
                                                          (weight,
                                                          italic, size,
                                                          name) (+)<br>
                                                          - underline
                                                          (e.g. for
                                                          links) (?)<br>
                                                          - wavy
                                                          underline
                                                          (e.g. for
                                                          spelling) (-)<br>
                                                          <br>
                                                          I think these
                                                          properties
                                                          cover 99% of
                                                          all the
                                                          necessary
                                                          properties for
                                                          CodeArea.<br>
                                                          I used + and -
                                                          to show what
                                                          has already
                                                          been
                                                          implemented.<br>
                                                          <br>
                                                          Best regards,
                                                          Pavel</span><o:p></o:p></p>
                                                      <div>
                                                        <p
class="MsoNormal"><span style="font-size:12.0pt">On 5/8/25 22:21, Andy
                                                          Goryachev
                                                          wrote:</span><o:p></o:p></p>
                                                      </div>
                                                      <blockquote
style="margin-top:5.0pt;margin-bottom:5.0pt">
                                                        <div>
                                                          <p
class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">Oh,
                                                          I finally get
                                                          it what you
                                                          want.  Thanks!</span><o:p></o:p></p>
                                                          <p
class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                                                          <p
class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">What
                                                          you asking is
                                                          effectively to
                                                          add support
                                                          for some
                                                          additional
                                                          properties to
                                                          the class that
                                                          renders the
                                                          text segment
                                                          (currently,
                                                          Text).  My
                                                          first question
                                                          is - what are
                                                          the additional
                                                          properties,
                                                          beside the
                                                          background-color? 
                                                          If it's only
                                                          the background
                                                          color, it's
                                                          probably easy
                                                          to add.</span><o:p></o:p></p>
                                                          <p
class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                                                          <p
class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">Anything
                                                          beyond that,
                                                          such as
                                                          equivalent of
                                                          full
                                                          -fx-region-background
                                                          or
                                                          -fx-region-border,
                                                          would be
                                                          extremely
                                                          unlikely.</span><o:p></o:p></p>
                                                          <p
class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                                                          <p
class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">-andy</span><o:p></o:p></p>
                                                          <p
class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                                                          <p
class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                                                          <p
class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                                                          <div
id="mail-editor-reference-message-container">
                                                          <div>
                                                          <div>
                                                          <div
style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
                                                          <p
class="MsoNormal" style="margin-bottom:12.0pt"><b><span
style="font-size:12.0pt;color:black">From:
                                                          </span></b><span
style="font-size:12.0pt;color:black">openjfx-dev <a
href="mailto:openjfx-dev-retn@openjdk.org" moz-do-not-send="true">
<openjfx-dev-retn@openjdk.org></a> on behalf of PavelTurk <a
href="mailto:pavelturk2000@gmail.com" moz-do-not-send="true">
<pavelturk2000@gmail.com></a><br>
                                                          <b>Date: </b>Thursday,
                                                          May 8, 2025 at
                                                          11:44<br>
                                                          <b>To: </b><a
href="mailto:openjfx-dev@openjdk.org" moz-do-not-send="true"
class="moz-txt-link-freetext">openjfx-dev@openjdk.org</a> <a
href="mailto:openjfx-dev@openjdk.org" moz-do-not-send="true">
<openjfx-dev@openjdk.org></a><br>
                                                          <b>Subject: </b>Re:
                                                          RFR: 8355774:
                                                          RichTextArea:
                                                          provide
                                                          mechanism for
                                                          CSS styling of
                                                          highlights</span><o:p></o:p></p>
                                                          </div>
                                                          <p
class="MsoNormal" style="margin-bottom:12.0pt"><span
style="font-size:12.0pt">Andy, thank you for your reply.
                                                          <br>
                                                          <br>
                                                          I have already
                                                          provided some
                                                          examples, but
                                                          I’ll give one
                                                          more very
                                                          simple example
                                                          that clearly
                                                          illustrates
                                                          the problem.<br>
                                                          <br>
                                                          I have a
                                                          library that
                                                          uses JFX
                                                          CodeArea.
                                                          Naturally, all
                                                          styles are
                                                          stored in a
                                                          CSS file.
                                                          Users of this
                                                          library can
                                                          customize
                                                          <br>
                                                          how the code
                                                          is displayed
                                                          by modifying
                                                          the styles in
                                                          the CSS file.
                                                          Let’s take the
                                                          search feature
                                                          as an example.
                                                          In the
                                                          <br>
                                                          CSS file,
                                                          there is a
                                                          class:<br>
                                                          <br>
                                                          .search-match
                                                          {<br>
                                                             
                                                          -fx-background-color:
                                                          orange;<br>
                                                          }<br>
                                                          <br>
                                                          But the user
                                                          wants to
                                                          change not the
                                                          background
                                                          color, but the
                                                          foreground
                                                          color and font
                                                          weight. So
                                                          they write:<br>
                                                          <br>
                                                          .search-match
                                                          {<br>
                                                              -fx-fill:
                                                          orange;<br>
                                                             
                                                          -fx-font-weight:
                                                          bold;<br>
                                                          }<br>
                                                          <br>
                                                          And this
                                                          should work.
                                                          If it doesn’t,
                                                          then it’s no
                                                          longer
                                                          CSS-based
                                                          styling.<br>
                                                          <br>
                                                          If, for some
                                                          reason, the
                                                          -fx-background-color
                                                          property
                                                          cannot be
                                                          used, an
                                                          alternative
                                                          property can
                                                          be introduced,
                                                          <br>
                                                          such as
                                                          -fx-highlight-color.
                                                          However,
                                                          everything
                                                          else in the
                                                          example should
                                                          work as
                                                          described.<br>
                                                          <br>
                                                          Best regards,
                                                          Pavel</span><o:p></o:p></p>
                                                          <div>
                                                          <p
class="MsoNormal"><span style="font-size:12.0pt">On 5/8/25 21:25, Andy
                                                          Goryachev
                                                          wrote:</span><o:p></o:p></p>
                                                          </div>
                                                          <blockquote
style="margin-top:5.0pt;margin-bottom:5.0pt">
                                                          <div>
                                                          <p
class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">Pavel:</span><o:p></o:p></p>
                                                          <p
class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                                                          <p
class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">I
                                                          think your
                                                          comments in
                                                          the ticket are
                                                          still
                                                          invisible to
                                                          me, so I can't
                                                          comment.</span><o:p></o:p></p>
                                                          <p
class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                                                          <p
class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">About
                                                          your recent
                                                          comment in the
                                                          PR - I have
                                                          difficulty
                                                          understanding
                                                          what you
                                                          mean.  We are
                                                          not adding
                                                          methods to
                                                          "style
                                                          individual
                                                          properties". 
                                                          We are adding
                                                          methods that
                                                          allow the
                                                          application to
                                                          use CSS to
                                                          style parts of
                                                          the visual
                                                          representation
                                                          of the given
                                                          RichParagraph.</span><o:p></o:p></p>
                                                          <p
class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                                                          <p
class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">Perhaps
                                                          if you
                                                          describe what
                                                          kind of visual
                                                          representation
                                                          you have in
                                                          mind, we can
                                                          show how to
                                                          achieve that
                                                          in the code.</span><o:p></o:p></p>
                                                          <p
class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                                                          <p
class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">-andy</span><o:p></o:p></p>
                                                          <p
class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                                                          <p
class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                                                          <div
id="mail-editor-reference-message-container">
                                                          <div>
                                                          <div>
                                                          <div
style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
                                                          <p
class="MsoNormal" style="margin-bottom:12.0pt"><b><span
style="font-size:12.0pt;color:black">From:
                                                          </span></b><span
style="font-size:12.0pt;color:black">openjfx-dev <a
href="mailto:openjfx-dev-retn@openjdk.org" moz-do-not-send="true">
<openjfx-dev-retn@openjdk.org></a> on behalf of PavelTurk <a
href="mailto:pavelturk2000@gmail.com" moz-do-not-send="true">
<pavelturk2000@gmail.com></a><br>
                                                          <b>Date: </b>Thursday,
                                                          May 8, 2025 at
                                                          11:04<br>
                                                          <b>To: </b><a
href="mailto:openjfx-dev@openjdk.org" moz-do-not-send="true"
class="moz-txt-link-freetext">openjfx-dev@openjdk.org</a> <a
href="mailto:openjfx-dev@openjdk.org" moz-do-not-send="true">
<openjfx-dev@openjdk.org></a><br>
                                                          <b>Subject: </b>Re:
                                                          RFR: 8355774:
                                                          RichTextArea:
                                                          provide
                                                          mechanism for
                                                          CSS styling of
                                                          highlights</span><o:p></o:p></p>
                                                          </div>
                                                          <div>
                                                          <p
class="MsoNormal" style="margin-bottom:12.0pt"><span
style="font-size:11.0pt">I am not a member of the JavaFX team, but if I
                                                          may, I’d like
                                                          to express my
                                                          opinion. I
                                                          believe that
                                                          creating
                                                          separate<br>
                                                          methods for
                                                          styling
                                                          individual
                                                          properties is
                                                          a very
                                                          problematic
                                                          and dangerous
                                                          decision.<br>
                                                          <br>
                                                          First, the
                                                          usefulness of
                                                          such methods
                                                          is minimal
                                                          because when
                                                          styling is
                                                          done via CSS,
                                                          the assumption
                                                          is that<br>
                                                          adjusting the
                                                          CSS file
                                                          should be
                                                          sufficient—something
                                                          that won’t
                                                          work in this
                                                          case. For
                                                          example one
                                                          user for
                                                          search<br>
                                                          result wants
                                                          to set
                                                          background
                                                          color for
                                                          matches but
                                                          another one
                                                          wants to set
                                                          foreground
                                                          color +
                                                          weight.<br>
                                                          Second, it
                                                          violates
                                                          fundamental
                                                          CSS
                                                          principles.
                                                          Third, if
                                                          these methods
                                                          are added to
                                                          the API, they
                                                          cannot later<br>
                                                          be removed
                                                          without
                                                          breaking
                                                          backward
                                                          compatibility.<br>
                                                          <br>
                                                          I wrote about
                                                          this in detail
                                                          in the
                                                          additional
                                                          information
                                                          for
                                                          JDK-8356436,
                                                          but my comment
                                                          has not yet
                                                          been approved<br>
                                                          by a
                                                          moderator.<br>
                                                          <br>
                                                          When in doubt,
                                                          it’s very
                                                          helpful to see
                                                          how others are
                                                          doing it. In
                                                          RichTextFX,
                                                          special CSS
                                                          properties
                                                          were
                                                          introduced,<br>
                                                          which resulted
                                                          in a
                                                          consistent
                                                          standard for
                                                          applying CSS
                                                          styles to all
properties—fully aligned with established CSS norms.<br>
                                                          <br>
                                                          This is my
                                                          personal
                                                          opinion,
                                                          which, of
                                                          course, can be
                                                          wrong.<br>
                                                          <br>
                                                          Best regards,
                                                          Pavel<br>
                                                          <br>
                                                          On 5/8/25
                                                          20:46, Andy
                                                          Goryachev
                                                          wrote:<br>
                                                          > Adding
                                                          missing APIs
                                                          related to
                                                          styling the
                                                          highlights
                                                          with CSS:<br>
                                                          ><br>
                                                          >
                                                          ![Screenshot
                                                          2025-05-07 at
                                                          15 08 53](<a
href="https://github.com/user-attachments/assets/e37062b4-9804-40a7-872d-830fe0f584c1"
moz-do-not-send="true" class="moz-txt-link-freetext">https://github.com/user-attachments/assets/e37062b4-9804-40a7-872d-830fe0f584c1</a>)<br>
                                                          ><br>
                                                          ><br>
                                                          ><br>
                                                          > Adds
                                                          methods to the
`RichParagraph.Builder`:<br>
                                                          ><br>
                                                          ><br>
                                                          >         
                                                          /**<br>
                                                          >          
                                                          * Adds a wavy
                                                          underline
                                                          (typically
                                                          used as a
                                                          spell checker
                                                          indicator)
                                                          with the
                                                          specified
                                                          style name(s).<br>
                                                          >          
                                                          * <p><br>
                                                          >          
                                                          * The
                                                          corresponding
                                                          styles should
                                                          define CSS
                                                          properties
                                                          applicable to
                                                          {@link
                                                          javafx.scene.shape.Path}.<br>
                                                          >          
                                                          *<br>
                                                          >          
                                                          * @param start
                                                          the start
                                                          offset<br>
                                                          >          
                                                          * @param
                                                          length the end
                                                          offset<br>
                                                          >          
                                                          * @param css
                                                          the style
                                                          name(s)<br>
                                                          >          
                                                          * @return this
                                                          {@code
                                                          Builder}
                                                          instance<br>
                                                          >          
                                                          * @since 25<br>
                                                          >          
                                                          */<br>
                                                          >         
                                                          public Builder
addWavyUnderline(int start, int length, String ... css) {<br>
                                                          ><br>
                                                          ><br>
                                                          ><br>
                                                          >         
                                                          /**<br>
                                                          >          
                                                          * Adds a
                                                          highlight with
                                                          the specified
                                                          style name(s).<br>
                                                          >          
                                                          * Use
                                                          translucent
                                                          colors to
                                                          enable
                                                          multiple
                                                          highlights in
                                                          the same
                                                          region of
                                                          text.<br>
                                                          >          
                                                          * <p><br>
                                                          >          
                                                          * The
                                                          corresponding
                                                          styles should
                                                          define CSS
                                                          properties
                                                          applicable to
                                                          {@link
                                                          javafx.scene.shape.Path}.<br>
                                                          >          
                                                          *<br>
                                                          >          
                                                          * @param start
                                                          the start
                                                          offset<br>
                                                          >          
                                                          * @param
                                                          length the end
                                                          offset<br>
                                                          >          
                                                          * @param css
                                                          the style
                                                          name(s)<br>
                                                          >          
                                                          * @return this
                                                          {@code
                                                          Builder}
                                                          instance<br>
                                                          >          
                                                          * @since 25<br>
                                                          >          
                                                          */<br>
                                                          >         
                                                          public Builder
addHighlight(int start, int length, String ... css) {<br>
                                                          ><br>
                                                          ><br>
                                                          ><br>
                                                          > Also
                                                          adding similar
                                                          methods to the
`SimpleViewOnlyStyledModel` class:<br>
                                                          ><br>
                                                          ><br>
                                                          >      /**<br>
                                                          >       *
                                                          Adds a
                                                          highlight of
                                                          the given
                                                          color to the
                                                          specified
                                                          range within
                                                          the last
                                                          paragraph,<br>
                                                          >       *
                                                          with the
                                                          specified
                                                          style name(s).<br>
                                                          >       *<br>
                                                          >       *
                                                          @param start
                                                          the start
                                                          offset<br>
                                                          >       *
                                                          @param length
                                                          the length of
                                                          the highlight<br>
                                                          >       *
                                                          @param css the
                                                          highlight
                                                          style name(s)<br>
                                                          >       *
                                                          @return this
                                                          model instance<br>
                                                          >       *
                                                          @since 25<br>
                                                          >       */<br>
                                                          >     
                                                          public
                                                          SimpleViewOnlyStyledModel
                                                          highlight(int
                                                          start, int
                                                          length, String
                                                          ... css) {<br>
                                                          ><br>
                                                          ><br>
                                                          >      /**<br>
                                                          >       *
                                                          Adds a wavy
                                                          underline
                                                          (typically
                                                          used as a
                                                          spell checker
                                                          indicator)<br>
                                                          >       *
                                                          to the
                                                          specified
                                                          range within
                                                          the last
                                                          paragraph,
                                                          with the
                                                          specified
                                                          style name(s).<br>
                                                          >       *<br>
                                                          >       *
                                                          @param start
                                                          the start
                                                          offset<br>
                                                          >       *
                                                          @param length
                                                          the length of
                                                          the highlight<br>
                                                          >       *
                                                          @param css the
                                                          highlight
                                                          style name(s)<br>
                                                          >       *
                                                          @return this
                                                          model instance<br>
                                                          >       *
                                                          @since 25<br>
                                                          >       */<br>
                                                          >     
                                                          public
                                                          SimpleViewOnlyStyledModel
addWavyUnderline(int start, int length, String ... css) {<br>
                                                          ><br>
                                                          >
                                                          -------------<br>
                                                          ><br>
                                                          > Commit
                                                          messages:<br>
                                                          >   - tab<br>
                                                          >   - css<br>
                                                          ><br>
                                                          > Changes:
                                                          <a
href="https://git.openjdk.org/jfx/pull/1802/files"
moz-do-not-send="true" class="moz-txt-link-freetext">https://git.openjdk.org/jfx/pull/1802/files</a><br>
                                                          >   
                                                          Webrev: <a
href="https://webrevs.openjdk.org/?repo=jfx&pr=1802&range=00"
moz-do-not-send="true">https://webrevs.openjdk.org/?repo=jfx&pr=1802&range=00</a><br>
                                                          >    Issue:
                                                          <a
href="https://bugs.openjdk.org/browse/JDK-8355774"
moz-do-not-send="true" class="moz-txt-link-freetext">https://bugs.openjdk.org/browse/JDK-8355774</a><br>
                                                          >    Stats:
                                                          128 lines in 4
                                                          files changed:
                                                          110 ins; 8
                                                          del; 10 mod<br>
                                                          >    Patch:
                                                          <a
href="https://git.openjdk.org/jfx/pull/1802.diff" moz-do-not-send="true"
class="moz-txt-link-freetext">https://git.openjdk.org/jfx/pull/1802.diff</a><br>
                                                          >    Fetch:
                                                          git fetch <a
href="https://git.openjdk.org/jfx.git" moz-do-not-send="true"
class="moz-txt-link-freetext">https://git.openjdk.org/jfx.git</a>
                                                          pull/1802/head:pull/1802<br>
                                                          ><br>
                                                          > PR: <a
href="https://git.openjdk.org/jfx/pull/1802" moz-do-not-send="true"
class="moz-txt-link-freetext">https://git.openjdk.org/jfx/pull/1802</a></span><o:p></o:p></p>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </blockquote>
                                                          <p
class="MsoNormal"><span style="font-size:12.0pt"> </span><o:p></o:p></p>
                                                          </div>
                                                          </div>
                                                          </div>
                                                        </div>
                                                      </blockquote>
                                                      <p
class="MsoNormal"><span style="font-size:12.0pt"> </span><o:p></o:p></p>
                                                    </div>
                                                  </div>
                                                </div>
                                              </div>
                                            </blockquote>
                                            <p class="MsoNormal"><span
                                                style="font-size:12.0pt"> </span><o:p></o:p></p>
                                          </div>
                                        </div>
                                      </div>
                                    </div>
                                  </blockquote>
                                  <p class="MsoNormal"><span
                                      style="font-size:12.0pt"> </span><o:p></o:p></p>
                                </div>
                              </div>
                            </div>
                          </div>
                        </blockquote>
                        <p class="MsoNormal"><span
                            style="font-size:12.0pt"> </span><o:p></o:p></p>
                      </div>
                    </div>
                  </div>
                </div>
              </blockquote>
              <p class="MsoNormal"><span style="font-size:12.0pt"><o:p> </o:p></span></p>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
  </body>
</html>