<html><head></head><body><div style="font-family: Verdana;font-size: 12.0px;"><div>I think this can still be implemented for cells without any special handling.</div>

<div>It is rather unexpected that a cell does not give the correct pref width, so we need to think about how to improve the current situation.</div>

<div>In my opinion, it should not be the concern of the Cell to give the actual width of the column it belongs to, but the pref width, as we would expect.</div>

<div>We need to check where this is called.</div>

<div> </div>

<div>-- Marius</div>

<div> 
<div> 
<div name="quote" style="margin:10px 5px 5px 10px; padding: 10px 0 10px 10px; border-left:2px solid #C3D9E5; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">
<div style="margin:0 0 10px 0;"><b>Gesendet:</b> Donnerstag, 07. März 2024 um 16:07 Uhr<br/>
<b>Von:</b> "Daniel Peintner" <daniel.peintner@gmail.com><br/>
<b>An:</b> "Andy Goryachev" <andy.goryachev@oracle.com><br/>
<b>Cc:</b> "openjfx-dev@openjdk.org" <openjfx-dev@openjdk.org><br/>
<b>Betreff:</b> Re: [External] : Re: Q: Labeled.textTruncated Property (RFE)</div>

<div name="quoted-content">
<div>Andy, all,<br/>
<br/>
Some comments below:<br/>
 
<ol>
        <li>Even if it is possible to do the same with public means I think it is useful. Anyhow we need to promote the solutions better (e.g., on StackOverflow)<br/>
         </li>
        <li>I tried to achieve what you did in JavaFX core for my use-case, TableView cells.
        <ol>
                <li>In my real application I tried and failed since the boolean condition in <a href="https://github.com/openjdk/jfx/blob/8a5cb17ed6525b0a218595865ead3e399e3b29dd/modules/javafx.controls/src/main/java/javafx/scene/control/Labeled.java#L838-L841" target="_blank">https://github.com/openjdk/jfx/blob/8a5cb17ed6525b0a218595865ead3e399e3b29dd/modules/javafx.controls/src/main/java/javafx/scene/control/Labeled.java#L838-L841</a> always reports false</li>
                <li>Hence I tried to create a short self-contained TableView example to explore it further, see Gist <a href="https://gist.github.com/danielpeintner/9b561eb57261e8c5bc608f1346df74cf" target="_blank">https://gist.github.com/danielpeintner/9b561eb57261e8c5bc608f1346df74cf</a><br/>
                It still fails :-(</li>
                <li>The Email field in the table ideally should report "true" once the text entered exceeds the visible view. Somehow it fails... getWidth() and  prefWidth(-1) always return the same double value. Please try the Gist above to confirm.<br/>
                e.g., edit cell and extend the email text to longer than column width --> results in System.out "Table-Email-Cell !isWrapText: 182.0 < 182.0 --> false"</li>
                <li>Hence I also added a *normal* MyLabel example which does work as intended</li>
        </ol>
        </li>
</ol>

<div>Maybe I miss something obvious but TableCells seem to be special Labeled instances and behave differently.</div>

<div> </div>

<div>Thanks,</div>

<div> </div>

<div>-- Daniel</div>

<div> </div>

<div>[1] <a href="https://stackoverflow.com/a/52432862" target="_blank">https://stackoverflow.com/a/52432862</a></div>

<div> </div>
</div>
 

<div class="gmail_quote">
<div class="gmail_attr">On Wed, Mar 6, 2024 at 6:10 PM Andy Goryachev <<a href="mailto:andy.goryachev@oracle.com" onclick="" target="_blank">andy.goryachev@oracle.com</a>> wrote:</div>

<blockquote class="gmail_quote" style="margin: 0.0px 0.0px 0.0px 0.8ex;border-left: 1.0px solid rgb(204,204,204);padding-left: 1.0ex;">
<div class="msg-5390978088994589097">
<div>
<div class="m_-5390978088994589097WordSection1">
<p class="MsoNormal"><span style="font-size: 11.0pt;font-family: "Iosevka Fixed SS16";">Dear Daniel:</span></p>

<p class="MsoNormal"><span style="font-size: 11.0pt;font-family: "Iosevka Fixed SS16";"> </span></p>

<p class="MsoNormal"><span style="font-size: 11.0pt;font-family: "Iosevka Fixed SS16";">Thank you for confirming the need for this enhancement.  Your case is covered by this ticket (I included a wrong ticket in my previous message by mistake, sorry):</span></p>

<p class="MsoNormal"><span style="font-size: 11.0pt;font-family: "Iosevka Fixed SS16";"> </span></p>

<p class="MsoNormal"><span class="m_-5390978088994589097s1"><span style="font-size: 11.0pt;font-family: "Iosevka Fixed SS16";color: rgb(23,43,77);background: white;"><a href="https://bugs.openjdk.org/browse/JDK-8327483" target="_blank"><span class="m_-5390978088994589097s2"><span style="color: rgb(0,82,204);">JDK-8327483</span></span></a></span></span><span style="font-size: 11.0pt;font-family: "Iosevka Fixed SS16";color: rgb(23,43,77);background: white;"> TreeView: Allow for tooltip when cell text is truncated</span></p>

<p class="MsoNormal"><span style="font-size: 11.0pt;font-family: "Iosevka Fixed SS16";"> </span></p>

<p class="MsoNormal"><span style="font-size: 11.0pt;font-family: "Iosevka Fixed SS16";">My only concern is that this functionality theoretically can be achieved by the application code just as easy, since the solution does not use any internal APIs, as can be seen here: </span><span style="font-family: "Iosevka Fixed SS16";"><a href="https://urldefense.com/v3/__https:/github.com/openjdk/jfx/pull/1389__;!!ACWV5N9M2RV99hQ!LUwCrjMEKxlGC0k5v9-zO0Axw6TqddmMJM7_6onFdHOLL1eo5MDNu1lVj7grGquhgJdnqXX_eCyA7MGEMNyIivVMcBB9XfY$" target="_blank">https://github.com/openjdk/jfx/pull/1389</a></span></p>

<p class="MsoNormal"><span style="font-size: 11.0pt;font-family: "Iosevka Fixed SS16";"> </span></p>

<p class="MsoNormal"><span style="font-size: 11.0pt;font-family: "Iosevka Fixed SS16";">-andy</span></p>

<p class="MsoNormal"><span style="font-size: 11.0pt;font-family: "Iosevka Fixed SS16";"> </span></p>

<p class="MsoNormal"><span style="font-size: 11.0pt;font-family: "Iosevka Fixed SS16";"> </span></p>

<div id="m_-5390978088994589097mail-editor-reference-message-container">
<div>
<div style="border-width: 1.0pt medium medium;border-style: solid none none;padding: 3.0pt 0.0in 0.0in;">
<p class="MsoNormal" style="margin-bottom: 12.0pt;"><b><span style="font-size: 12.0pt;font-family: Aptos , sans-serif;color: black;">From: </span></b><span style="font-size: 12.0pt;font-family: Aptos , sans-serif;color: black;">Daniel Peintner <<a href="mailto:daniel.peintner@gmail.com" onclick="" target="_blank">daniel.peintner@gmail.com</a>><br/>
<b>Date: </b>Tuesday, March 5, 2024 at 23:53<br/>
<b>To: </b>Andy Goryachev <<a href="mailto:andy.goryachev@oracle.com" onclick="" target="_blank">andy.goryachev@oracle.com</a>><br/>
<b>Cc: </b><a href="mailto:openjfx-dev@openjdk.org" onclick="" target="_blank">openjfx-dev@openjdk.org</a> <<a href="mailto:openjfx-dev@openjdk.org" onclick="" target="_blank">openjfx-dev@openjdk.org</a>><br/>
<b>Subject: </b>[External] : Re: Q: Labeled.textTruncated Property (RFE)</span></p>
</div>

<div>
<div>
<p class="MsoNormal"><span style="font-size: 11.0pt;">Hi Andy, all,</span></p>
</div>

<div>
<p class="MsoNormal"><span style="font-size: 11.0pt;"> </span></p>
</div>

<div>
<p class="MsoNormal"><span style="font-size: 11.0pt;">Thank you for the effort which I very much appreciate.</span></p>
</div>

<div>
<p class="MsoNormal"><span style="font-size: 11.0pt;">We have a similar use-case as the one mentioned in JDK-8205211.</span></p>
</div>

<div>
<p class="MsoNormal"><span style="font-size: 11.0pt;"> </span></p>
</div>

<div>
<p class="MsoNormal"><span style="font-size: 11.0pt;">We would like to show a Tooltip with the corresponding text once the text is shown with ellipsis for a TableCell. The *hacky* solution we are using is sketched in [1] and requires us to calculate the width again. Moreover, once different fonts come into the game it becomes even more brittle.</span></p>
</div>

<div>
<p class="MsoNormal"><span style="font-size: 11.0pt;"> </span></p>
</div>

<div>
<p class="MsoNormal"><span style="font-size: 11.0pt;">Having an easy (easier?) way to detect and observe whether a label is truncated is of importance for us and definitely improves the usability of JavaFX.</span></p>
</div>

<div>
<p class="MsoNormal"><span style="font-size: 11.0pt;"> </span></p>
</div>

<div>
<p class="MsoNormal"><span style="font-size: 11.0pt;">Thanks,</span></p>
</div>

<div>
<p class="MsoNormal"><span style="font-size: 11.0pt;"> </span></p>
</div>

<div>
<p class="MsoNormal"><span style="font-size: 11.0pt;">-- Daniel</span></p>
</div>

<div>
<p class="MsoNormal"><span style="font-size: 11.0pt;"> </span></p>
</div>

<div>
<p class="MsoNormal"><span style="font-size: 11.0pt;">[1] <a href="https://urldefense.com/v3/__https:/stackoverflow.com/a/52432862__;!!ACWV5N9M2RV99hQ!LUwCrjMEKxlGC0k5v9-zO0Axw6TqddmMJM7_6onFdHOLL1eo5MDNu1lVj7grGquhgJdnqXX_eCyA7MGEMNyIivVMSbAOrZg$" target="_blank"> https://stackoverflow.com/a/52432862</a></span></p>
</div>
</div>

<p class="MsoNormal"><span style="font-size: 11.0pt;"> </span></p>

<div>
<div>
<p class="MsoNormal"><span style="font-size: 11.0pt;">On Tue, Mar 5, 2024 at 10:15 PM Andy Goryachev <<a href="mailto:andy.goryachev@oracle.com" onclick="" target="_blank">andy.goryachev@oracle.com</a>> wrote:</span></p>
</div>

<blockquote style="border-width: medium medium medium 1.0pt;border-style: none none none solid;padding: 0.0in 0.0in 0.0in 6.0pt;margin-left: 4.8pt;margin-right: 0.0in;">
<div>
<div>
<div>
<p class="MsoNormal"><span style="font-size: 11.0pt;font-family: "Iosevka Fixed SS16";">Dear colleagues:</span></p>

<p class="MsoNormal"><span style="font-size: 11.0pt;font-family: "Iosevka Fixed SS16";"> </span></p>

<p class="MsoNormal"><span style="font-size: 11.0pt;font-family: "Iosevka Fixed SS16";">Do you think a new property, <b>ReadOnlyBooleanProperty textTruncated</b>, should be added to the Labeled control?</span></p>

<p class="MsoNormal"><span style="font-size: 11.0pt;font-family: "Iosevka Fixed SS16";"> </span></p>

<p class="MsoNormal"><span style="font-size: 11.0pt;font-family: "Iosevka Fixed SS16";"> </span></p>

<p class="MsoNormal"><span style="font-size: 11.0pt;font-family: "Iosevka Fixed SS16";">On one hand, we do have a couple of tickets in JBS requesting that:</span></p>

<p class="MsoNormal"><span style="font-size: 11.0pt;font-family: "Iosevka Fixed SS16";"> </span></p>

<ul type="disc">
        <li class="m_-5390978088994589097m-7845812002942874958li1"><span class="m_-5390978088994589097m-7845812002942874958s1"><span style="font-family: "Iosevka Fixed SS16";"><a href="https://bugs.openjdk.org/browse/JDK-8091891" target="_blank"><span class="m_-5390978088994589097m-7845812002942874958s2">JDK-8091891</span></a></span></span><span style="font-family: "Iosevka Fixed SS16";"> TreeView: There is no tooltip available on truncated node</span></li>
        <li class="m_-5390978088994589097m-7845812002942874958li1"><span class="m_-5390978088994589097m-7845812002942874958s1"><span style="font-family: "Iosevka Fixed SS16";"><a href="https://bugs.openjdk.org/browse/JDK-8205211" target="_blank"><span class="m_-5390978088994589097m-7845812002942874958s2">JDK-8205211</span></a></span></span><span style="font-family: "Iosevka Fixed SS16";"> Ability to show Tooltip only when text is shown with ellipsis (...)</span></li>
</ul>

<p class="MsoNormal"><span style="font-size: 11.0pt;font-family: "Iosevka Fixed SS16";"> </span></p>

<p class="MsoNormal"><span style="font-size: 11.0pt;font-family: "Iosevka Fixed SS16";">On the other hand, this functionality can in theory be implemented at the application level, although the number of changes required might be uncomfortably large in the case of Tree/TreeTable/TableView.</span></p>

<p class="MsoNormal"><span style="font-size: 11.0pt;font-family: "Iosevka Fixed SS16";"> </span></p>

<p class="MsoNormal"><span style="font-size: 11.0pt;font-family: "Iosevka Fixed SS16";">JBS:</span></p>

<ul type="disc">
        <li class="m_-5390978088994589097m-7845812002942874958li1"><span class="m_-5390978088994589097m-7845812002942874958s1"><span style="font-family: "Iosevka Fixed SS16";"><a href="https://bugs.openjdk.org/browse/JDK-8092102" target="_blank"><span class="m_-5390978088994589097m-7845812002942874958s2">JDK-8092102</span></a></span></span><span style="font-family: "Iosevka Fixed SS16";"> Labeled: truncated property</span></li>
</ul>

<p class="m_-5390978088994589097m-7845812002942874958p2"><span style="font-family: "Iosevka Fixed SS16";"> </span></p>

<p class="m_-5390978088994589097m-7845812002942874958p1"><span style="font-family: "Iosevka Fixed SS16";">Pull Request: <a href="https://urldefense.com/v3/__https:/github.com/openjdk/jfx/pull/1389__;!!ACWV5N9M2RV99hQ!LUwCrjMEKxlGC0k5v9-zO0Axw6TqddmMJM7_6onFdHOLL1eo5MDNu1lVj7grGquhgJdnqXX_eCyA7MGEMNyIivVMcBB9XfY$" target="_blank"> https://github.com/openjdk/jfx/pull/1389</a></span></p>

<p class="MsoNormal"><span style="font-size: 11.0pt;font-family: "Iosevka Fixed SS16";"> </span></p>

<p class="MsoNormal"><span style="font-size: 11.0pt;font-family: "Iosevka Fixed SS16";">What do you think?</span></p>

<p class="MsoNormal"><span style="font-size: 11.0pt;font-family: "Iosevka Fixed SS16";"> </span></p>

<p class="MsoNormal"><span style="font-size: 11.0pt;font-family: "Iosevka Fixed SS16";">-andy</span></p>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</div></div></body></html>