<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <div class="moz-cite-prefix">Apparently I had checked out an old
      repository where that code was missing. Should have looked again
      in the URL before posting.</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">Anyhow, I've progressed to the point
      where I can insert an image using the W3C insertImage command.
      Works fine, but it is picky when it can be executed. However, the
      queryCommandEnabled does not return a correct value; the true or
      false does not actually match whether the insertImage command will
      succeed. The value is only correct after focus is moved out of the
      WebView, but that doesn't work practically (you can hardly bounce
      the focus after every keystroke). <br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">I'll give the insertHtml command a try.<br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">On 2024-07-22 17:27, Andy Goryachev
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:BL3PR10MB6185CDBC1AF002494B8CCA25E5A82@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: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;}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.EmailStyle19
        {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 style="margin:0in;background:white"><span
style="font-family:"Iosevka Fixed SS16";color:black">   
          </span><span
style="font-family:"Iosevka Fixed SS16";color:#FF2600">/**</span><span
style="font-family:"Iosevka Fixed SS16";color:black"><o:p></o:p></span></p>
        <p style="margin:0in;background:white"><span
style="font-family:"Iosevka Fixed SS16";color:#FF2600">     *
            Represents commands that can be passed into the HTMLEditor
            web engine.</span><span
style="font-family:"Iosevka Fixed SS16";color:black"><o:p></o:p></span></p>
        <p style="margin:0in;background:white"><span
style="font-family:"Iosevka Fixed SS16";color:#FF2600">     */</span><span
style="font-family:"Iosevka Fixed SS16";color:black"><o:p></o:p></span></p>
        <p style="margin:0in;background:white"><span
style="font-family:"Iosevka Fixed SS16";color:black">   
          </span><span
style="font-family:"Iosevka Fixed SS16";color:#4E8F00">public</span><span
style="font-family:"Iosevka Fixed SS16";color:black">
          </span><span
style="font-family:"Iosevka Fixed SS16";color:#4E8F00">enum</span><span
style="font-family:"Iosevka Fixed SS16";color:black">
            <span style="background:#D4D4D4">Command</span> {<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"">line
            1167<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
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-discuss
                  <a class="moz-txt-link-rfc2396E" href="mailto:openjfx-discuss-retn@openjdk.org"><openjfx-discuss-retn@openjdk.org></a> on behalf of
                  Tom Eugelink <a class="moz-txt-link-rfc2396E" href="mailto:tbee@tbee.org"><tbee@tbee.org></a><br>
                  <b>Date: </b>Saturday, July 20, 2024 at 00:21<br>
                  <b>To: </b><a class="moz-txt-link-abbreviated" href="mailto:openjfx-discuss@openjdk.org">openjfx-discuss@openjdk.org</a>
                  <a class="moz-txt-link-rfc2396E" href="mailto:openjfx-discuss@openjdk.org"><openjfx-discuss@openjdk.org></a><br>
                  <b>Subject: </b>Re: HTMLEditor customization<o:p></o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal" style="margin-bottom:12.0pt"><span
                  style="font-size:11.0pt">It seems those 10 year old
                  hacks are not working anymore. All of the 'selection'
                  objects in javascript appear to be either null, or
                  unwilling to return a range.<br>
                  <br>
                  The other approach would be to extend the HTMLEditor
                  implementation, because why not? While investigating
                  that approach I got confused:<br>
                  <a
href="https://github.com/javafxports/openjdk-jfx/blob/develop/modules/javafx.web/src/main/java/javafx/scene/web/HTMLEditorSkin.java"
                    moz-do-not-send="true" class="moz-txt-link-freetext">https://github.com/javafxports/openjdk-jfx/blob/develop/modules/javafx.web/src/main/java/javafx/scene/web/HTMLEditorSkin.java</a><br>
                  import static
                  javafx.scene.web.HTMLEditorSkin.Command.*;<br>
                  <br>
                  Where did the Command enum hide? It should be in the
                  HTMLEditorSkin class?<br>
                  <br>
                  <br>
                  On 2024-07-19 07:37, Tom Eugelink wrote:<br>
                  > I was wondering; is the HTML editor still at the
                  point where any customization is done by executing
                  javascript code via the WebEngine? I find some 10 year
                  old or so articles on how to insert things at the
                  cursor position using that approach. And inserting
                  additional buttons in the toolbar by finding it via
                  its CSS class?<br>
                  ><br>
                  > Because the vanilla version of the HTML editor is
                  limited; no image support and all.<br>
                  ><br>
                  > Regards, Tom<br>
                  ><br>
                  ><o:p></o:p></span></p>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <p><br>
    </p>
  </body>
</html>