<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hi,<br>
</p>
<p>Far be it from me to tell the FX team what it should do, I am
still wondering the following:</p>
<p>- A 3rd party control, RichTextFX already exists -- what is this
new proposal adding that RichTextFX does not have?<br>
- What (if anything) is stopping a 3rd party from building a
RichTextArea themselves?<br>
</p>
<p>In other words, I think the FX team ought to focus on
**facilitating** the building of complex controls like
RichTextArea, by identifying gaps in the current Control API that
is **stopping** 3rd parties from doing this themselves in the same
integrated manner as a "native" FX control.</p>
<p>Enabling thousands or tens of thousand of developers to build
more complicated controls seems to me like a much better
investment than what I think will be a significant investment in
one of the most complex controls imaginable. RichTextFX was
actively developed over a 4 year period, with 45 contributors and
over 1400 commits (for comparison, JavaFX had 250 commits in the
past year). If it will be significantly less complicated, then
what does it offer over RichTextFX?</p>
<p>--John<br>
</p>
<div class="moz-cite-prefix">On 21/02/2024 19:07, Andy Goryachev
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:BL3PR10MB6185D054232AEE40C10F1DA5E5572@BL3PR10MB6185.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:"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;}@font-face
{font-family:"Iosevka Fixed SS16 Light";
panose-1:2 0 4 9 3 0 0 0 0 4;}@font-face
{font-family:AppleSystemUIFont;
panose-1:2 11 6 4 2 2 2 2 2 4;}p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:12.0pt;
font-family:"Calibri",sans-serif;
mso-ligatures:standardcontextual;}a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Iosevka Fixed SS16";
color:windowtext;}.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;}div.WordSection1
{page:WordSection1;}</style>
<div class="WordSection1">
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16
Light"">Dear JavaFX developers:<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16
Light""><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16
Light"">We would like to propose a new feature - rich
text control, RichTextArea, intended to bridge the
functional gap with Swing and its
StyledEditorKit/JEditorPane. The main design goal is to
provide a control that is complete enough to be useful
out-of-the box, as well as open to extension by the
application developers.<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16
Light""><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16
Light"">This is a complex feature with a large API
surface that would be nearly impossible to get right the
first time, even after an extensive review. We are,
therefore, introducing this in an incubating module, <b>javafx.incubator.richtext</b>.
This will allow us to evolve the API in future releases
without the strict compatibility constraints that other
JavaFX modules have.<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16
Light""><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16
Light"">Please take a look at the proposal [0], a list
of discussion points [1], and the API Specification
(javadoc) [2]. While the proposed API is ready for review,
it isn't complete nor set in stone. We are looking for
feedback, and will update the proposal based on the
suggestions we receive from the community. We encourage you
to comment either in the mailing list, or by leaving
comments inline in a draft pull request [3]. For context,
the links to the original RFE [4] and a list of missing APIs
related to rich text [5] are provided below.<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16
Light""><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16
Light"">Sincerely,<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16
Light"">Your friendly JavaFX development team.<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16
Light""><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16
Light""><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16
Light"">References<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16
Light""><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16
Light""><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16
Light"">[0] Proposal:
<a
href="https://github.com/andy-goryachev-oracle/Test/blob/rich.jep.review/doc/RichTextArea/RichTextArea.md"
moz-do-not-send="true" class="moz-txt-link-freetext">
https://github.com/andy-goryachev-oracle/Test/blob/rich.jep.review/doc/RichTextArea/RichTextArea.md</a><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16
Light"">[1] Discussion points:
<a
href="https://github.com/andy-goryachev-oracle/Test/blob/rich.jep.review/doc/RichTextArea/RichTextAreaDiscussion.md"
moz-do-not-send="true" class="moz-txt-link-freetext">
https://github.com/andy-goryachev-oracle/Test/blob/rich.jep.review/doc/RichTextArea/RichTextAreaDiscussion.md</a><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16
Light"">[2] API specification (javadoc):
<a
href="https://cr.openjdk.org/~angorya/RichTextArea/javadoc"
moz-do-not-send="true" class="moz-txt-link-freetext">https://cr.openjdk.org/~angorya/RichTextArea/javadoc</a><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16
Light"">[3] Draft Pull Request for API comments and
feedback:
<a href="https://github.com/openjdk/jfx/pull/1374"
moz-do-not-send="true" class="moz-txt-link-freetext">https://github.com/openjdk/jfx/pull/1374</a><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16
Light"" lang="DE">[4] RichTextArea RFE:
<a href="https://bugs.openjdk.org/browse/JDK-8301121"
moz-do-not-send="true" class="moz-txt-link-freetext">https://bugs.openjdk.org/browse/JDK-8301121</a><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16
Light"">[5] Missing APIs related to rich text control:
<a href="https://bugs.openjdk.org/browse/JDK-8300569"
moz-do-not-send="true" class="moz-txt-link-freetext">https://bugs.openjdk.org/browse/JDK-8300569</a><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>
</blockquote>
</body>
</html>