RFR: JDK-8320444: Column drag header is positioned wrong for nested columns
Andy Goryachev
angorya at openjdk.org
Tue Nov 21 17:31:21 UTC 2023
On Tue, 21 Nov 2023 13:42:05 GMT, Karthik P K <kpk at openjdk.org> wrote:
>> When a nested column is dragged, the column drag header (blue) is positioned wrong.
>> It appears at the very left of the table and not where the column is.
>>
>> 
>>
>> The fix is to calculate the bound based off the `TableHeaderRow` (and not the parent `NestedTableColumnHeader`.
>
> modules/javafx.controls/src/test/java/test/javafx/scene/control/skin/TableViewSkinTest.java line 225:
>
>> 223: TableColumnHeaderShim.columnReordering(tableColumnHeader, bounds.getMinX() + 20, bounds.getMinY());
>> 224:
>> 225: // 200, since we have 2 columns to the left with a size of 100.
>
> Can you also add why assertion is done for 220 in this comment?
good point.
May I suggest to declare constants for column widths and column reordering coordinates so the origin of these numbers becomes clear?
Also, we are comparing floating point numbers, so perhaps it's better specify a small delta:
double CWIDTH = 100;
double EPSILON = 0.0001;
assertEquals(CWIDTH + CWIDTH + OFFSET, columnDragHeader.getTranslateX(), EPSILON);
-------------
PR Review Comment: https://git.openjdk.org/jfx/pull/1292#discussion_r1400936411
More information about the openjfx-dev
mailing list