On Fri, 12 May 2023 11:08:57 GMT, Lukasz Kostyra <[email protected]> wrote:

>> This PR changes the `columnPopupMenu`, so that it is created lazily.
>> 
>> The problem here is, that the `columnPopupMenu` is always initialized and 
>> updated via bindings, even if the table menu button is never shown 
>> (`setTableMenuButtonVisible(false)`) or the user never clicked on it.
>> This problem can be solved by creating the `columnPopupMenu` and related 
>> bindings when it should be shown the first time.
>> 
>> I also added many tests to ensure that everything still works (there are no 
>> tests for that area as of now).
>> 
>> Side note: There are a bunch of tickets with the wish to customize the Popup 
>> shown by the table menu button or show it programmatically. This ticket will 
>> prepare this, as now all Popup related code is on one place and in the 
>> future we can think of implementing a way to override this behaviour in a 
>> way that the Popup and all related bindings are never created and therefore 
>> do not decrease performance.
>
> modules/javafx.controls/src/shims/java/javafx/scene/control/skin/TableHeaderRowShim.java
>  line 38:
> 
>> 36: 
>> 37:     public static ContextMenu getColumnPopupMenu(TableHeaderRow 
>> tableHeaderRow) {
>> 38:         return tableHeaderRow.getColumnPopupMenu();
> 
> Minor: I would keep `tr` instead of `tableHeaderRow` for consistency with 
> already existing static method.

I would too - avoids wrapping the line, and there is no need to spell the name 
for a one line method.

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

PR Review Comment: https://git.openjdk.org/jfx/pull/1133#discussion_r1192630713

Reply via email to