On Fri, 8 Mar 2024 21:08:25 GMT, Andy Goryachev <ango...@openjdk.org> wrote:

>> Adds **Labeled.textTruncated** property which indicates when the text is 
>> visually truncated (and the ellipsis string is inserted) in order to fit the 
>> available width.
>> 
>> The new property reacts to changes in the following properties:
>> - ellipsisString
>> - font
>> - height
>> - text
>> - width
>> - wrapText
>> 
>> I don't think it's worth creating a headful test (headless won't work) due 
>> to relative simplicity of the code.
>> 
>> **Alternative**
>> 
>> The desired functionality can be just as easily achieved on an application 
>> level, by adding a similar property to a subclass.  What is the benefit of 
>> adding this functionality to the core?
>> 
>> UPDATE 2024/03/07: 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.
>> 
>> **See Also**
>> 
>> * [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 (...)
>
> Andy Goryachev has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   labeled helper

Changes requested by mhanl (Committer).

modules/javafx.controls/src/main/java/javafx/scene/control/skin/TreeTableCellSkin.java
 line 133:

> 131:     protected double computePrefWidth(double height, double topInset, 
> double rightInset, double bottomInset,
> 132:             double leftInset) {
> 133:         if (LabeledHelper.isUseContentWidth() || 
> isDeferToParentForPrefWidth) {

I'm not conviced that this is the correct solution here. 
First of all I would keep this PR simple and ONLY add the truncated Property.
Second, I would rather want to see if this can be changed without adding some 
flags which once again will not help application developers that may want to 
extend something like this.

IMO, the separation of concern is wrong. A Cell should always give back the 
prefWidth, other callers should think if they want to use the pref width or the 
table column width.

In order to move this forward, I would like to see only the necessary changes, 
which is the truncated property. Some tests for it would be good as well.

-------------

PR Review: https://git.openjdk.org/jfx/pull/1389#pullrequestreview-1929489141
PR Review Comment: https://git.openjdk.org/jfx/pull/1389#discussion_r1520481720

Reply via email to