-
Enhancement
-
Resolution: Fixed
-
P3
-
jfx11, 9
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8232822 | jfx11.0.5 | Samir Hadzic | P3 | Closed | Fixed |
This prevents the SpreadsheetView and other components from ControlsFX to work.
Back in 2013 before JDK 8 was released, I pledged to open some methods in order to override some com.sun.XXX.skin classes. Now we have made a move forward and switch these skin into public API. But that cannot be done if you switch back some methods into private because it makes impossible to create new components.
In javafx.scene.control.skin.TableHeaderRow:
getRootHeader() should be protected but since the method "createRootHeader()" is protected, one can access the rootHeader when actually creating it.
updateTableWidth() should be protected
updateScrollX() should be protected
These three methods are necessary if anyone wants to override the TableHeaderRow. See
In javafx.scene.control.skin.TableColumnHeader
getTableHeaderRow() should be protected
getTableSkin() should be protected
In javafx.scene.control.skin. TableViewSkinBase:
scrollHorizontally() should be protected
scrollHorizontally(TC col) should be protected
getTableHeaderRow() should be protected because the method createTableHeaderRow() is itself protected. What's the point of allowing the customization of the TableHeaderRow if you don't give access to it..?
In javafx.scene.control.skin.VirtualFlow:
getHbar() was protected and should remain
getVbar() was protected and should remain
reconfigureCells() was protected and should remain
getCells() was protected and should remain
getFirstVisibleCellWithinViewPort() was public and should at least be protected
getLastVisibleCellWithinViewPort() was public and should at least be protected
resizeCellSize()
getPrivateCell()
The access to the VirtualFlow was made possible with that ticket :
But we should go back to the way it was in JDK 8 with these tickets :
If anyone wants to override the VirtualFlow, it's because he wants to add some cells, to remove some, to play with it. We should allow that otherwise it's pointless.
I know I'm late in the process and we are already in RDP1. But if this go through, we could have a working version of ControlsFX for JDK 11 which is the next LTS and that would be much appreciated.
I'm listed as an "author" here : http://openjdk.java.net/census#openjfx
I don't know what that actually means but I'm willing to provide Pull requests if necessary to ease the process as much as I can.
- backported by
-
JDK-8232822 Add new protected VirtualFlow methods for subclassing
- Closed
- csr for
-
JDK-8212584 Add new protected VirtualFlow methods for subclassing
- Closed
- relates to
-
JDK-8213540 TableViewSkin: move focus with left/right keys must scroll to focused cell
- Open
-
JDK-8215444 Evaluate return type of TableColumnHeader::TableViewSkinBase
- Resolved
-
JDK-8207957 TableSkinUtils should not contain actual code implementation
- Resolved
-
JDK-8186067 Nested/TableColumnHeader: missing api to access tableSkin/tableHeaderRow
- Open
-
JDK-8187379 VirtualContainerBase: createVirtualFlow must be protected
- Resolved
-
JDK-8186069 TableXXHeaders: add api to un-/register changeListeners
- Open
-
JDK-8102843 TableHeaderRow : make some methods protected
- Resolved
-
JDK-8102946 Make some VirtualFlow method protected
- Resolved
-
JDK-8103193 VirtualFlow - Change "getIndex()" by a protected method
- Resolved
- links to