Andy, Marius, all,

Thank you for your input and your insights.

If I understand correctly we cannot purely do it with public methods for
now (at least not for TableCells)

This makes the argument to support https://github.com/openjdk/jfx/pull/1389
even stronger and maybe should be mentioned in the PR as well.

Thanks,

-- Daniel



On Thu, Mar 7, 2024 at 7:53 PM Andy Goryachev <andy.goryac...@oracle.com>
wrote:

> Daniel:
>
>
>
> Thank you for providing a sample app!
>
>
>
> You are right: turns out Labeled in a TableView (in a TreeTableView as
> well) lives by different rules (TableCellSkinBase:152,
> TreeTableCellSkin:126).
>
>
>
> The consequence of this is that the new functionality **cannot** be fully
> implemented with the public APIs alone.
>
>
>
> Cheers,
>
> -andy
>
>
>
>
>
>
>
> *From: *Daniel Peintner <daniel.peint...@gmail.com>
> *Date: *Thursday, March 7, 2024 at 07:11
> *To: *Andy Goryachev <andy.goryac...@oracle.com>
> *Cc: *openjfx-dev@openjdk.org <openjfx-dev@openjdk.org>
> *Subject: *Re: [External] : Re: Q: Labeled.textTruncated Property (RFE)
>
> Andy, all,
>
> Some comments below:
>
>    1. 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)
>    2. I tried to achieve what you did in JavaFX core for my use-case,
>    TableView cells.
>
>
>    1. In my real application I tried and failed since the boolean
>       condition in
>       
> https://github.com/openjdk/jfx/blob/8a5cb17ed6525b0a218595865ead3e399e3b29dd/modules/javafx.controls/src/main/java/javafx/scene/control/Labeled.java#L838-L841
>       
> <https://urldefense.com/v3/__https:/github.com/openjdk/jfx/blob/8a5cb17ed6525b0a218595865ead3e399e3b29dd/modules/javafx.controls/src/main/java/javafx/scene/control/Labeled.java*L838-L841__;Iw!!ACWV5N9M2RV99hQ!O5PIY6RzCkXt8IZB_cJDcwbbQtpWdIn_eD5UALkoKFCGeCJeVYBBfkTd4q6zuLXtArNITv6DWEHxlHfs3Gv6skap9isYa3A$>
>       always reports false
>       2. Hence I tried to create a short self-contained TableView example
>       to explore it further, see Gist
>       https://gist.github.com/danielpeintner/9b561eb57261e8c5bc608f1346df74cf
>       
> <https://urldefense.com/v3/__https:/gist.github.com/danielpeintner/9b561eb57261e8c5bc608f1346df74cf__;!!ACWV5N9M2RV99hQ!O5PIY6RzCkXt8IZB_cJDcwbbQtpWdIn_eD5UALkoKFCGeCJeVYBBfkTd4q6zuLXtArNITv6DWEHxlHfs3Gv6skapYpmRbZI$>
>       It still fails :-(
>       3. 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.
>       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"
>       4. Hence I also added a *normal* MyLabel example which does work as
>       intended
>
> Maybe I miss something obvious but TableCells seem to be special Labeled
> instances and behave differently.
>
>
>
> Thanks,
>
>
>
> -- Daniel
>
>
>
> [1] https://stackoverflow.com/a/52432862
> <https://urldefense.com/v3/__https:/stackoverflow.com/a/52432862__;!!ACWV5N9M2RV99hQ!O5PIY6RzCkXt8IZB_cJDcwbbQtpWdIn_eD5UALkoKFCGeCJeVYBBfkTd4q6zuLXtArNITv6DWEHxlHfs3Gv6skappYtR2cY$>
>
>
>
>
>
> On Wed, Mar 6, 2024 at 6:10 PM Andy Goryachev <andy.goryac...@oracle.com>
> wrote:
>
> Dear Daniel:
>
>
>
> 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):
>
>
>
> JDK-8327483 <https://bugs.openjdk.org/browse/JDK-8327483> TreeView: Allow
> for tooltip when cell text is truncated
>
>
>
> 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:
> https://github.com/openjdk/jfx/pull/1389
> <https://urldefense.com/v3/__https:/github.com/openjdk/jfx/pull/1389__;!!ACWV5N9M2RV99hQ!LUwCrjMEKxlGC0k5v9-zO0Axw6TqddmMJM7_6onFdHOLL1eo5MDNu1lVj7grGquhgJdnqXX_eCyA7MGEMNyIivVMcBB9XfY$>
>
>
>
> -andy
>
>
>
>
>
> *From: *Daniel Peintner <daniel.peint...@gmail.com>
> *Date: *Tuesday, March 5, 2024 at 23:53
> *To: *Andy Goryachev <andy.goryac...@oracle.com>
> *Cc: *openjfx-dev@openjdk.org <openjfx-dev@openjdk.org>
> *Subject: *[External] : Re: Q: Labeled.textTruncated Property (RFE)
>
> Hi Andy, all,
>
>
>
> Thank you for the effort which I very much appreciate.
>
> We have a similar use-case as the one mentioned in JDK-8205211.
>
>
>
> 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.
>
>
>
> 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.
>
>
>
> Thanks,
>
>
>
> -- Daniel
>
>
>
> [1] https://stackoverflow.com/a/52432862
> <https://urldefense.com/v3/__https:/stackoverflow.com/a/52432862__;!!ACWV5N9M2RV99hQ!LUwCrjMEKxlGC0k5v9-zO0Axw6TqddmMJM7_6onFdHOLL1eo5MDNu1lVj7grGquhgJdnqXX_eCyA7MGEMNyIivVMSbAOrZg$>
>
>
>
> On Tue, Mar 5, 2024 at 10:15 PM Andy Goryachev <andy.goryac...@oracle.com>
> wrote:
>
> Dear colleagues:
>
>
>
> Do you think a new property, *ReadOnlyBooleanProperty textTruncated*,
> should be added to the Labeled control?
>
>
>
>
>
> On one hand, we do have a couple of tickets in JBS requesting that:
>
>
>
>    - JDK-8091891 <https://bugs.openjdk.org/browse/JDK-8091891> TreeView:
>    There is no tooltip available on truncated node
>    - JDK-8205211 <https://bugs.openjdk.org/browse/JDK-8205211> Ability to
>    show Tooltip only when text is shown with ellipsis (...)
>
>
>
> 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.
>
>
>
> JBS:
>
>    - JDK-8092102 <https://bugs.openjdk.org/browse/JDK-8092102> Labeled:
>    truncated property
>
>
>
> Pull Request: https://github.com/openjdk/jfx/pull/1389
> <https://urldefense.com/v3/__https:/github.com/openjdk/jfx/pull/1389__;!!ACWV5N9M2RV99hQ!LUwCrjMEKxlGC0k5v9-zO0Axw6TqddmMJM7_6onFdHOLL1eo5MDNu1lVj7grGquhgJdnqXX_eCyA7MGEMNyIivVMcBB9XfY$>
>
>
>
> What do you think?
>
>
>
> -andy
>
>

Reply via email to