Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8274065

Tree-/TableRowSkin: must sync itself to state of row

XMLWordPrintable

      the skins listen to changes of row's table but fail to update internal state as needed, in particular

      - don't handle changes to tableProperty
      - incorrect assumption of row's parent hierarchy

      Code in Question:
      - TableRowSkin constructor: registerChangeListener(control.tableViewProperty(), e -> { ... }) does sync only some properties to a changed TableView (not all of them, e.g. the VirtualFlow is not
      - TreeTableRowSkin does not have this listener at all, same problem otherwise

      Both 'fetch' the VirtualFlow, by making the assumption that it must be somewhere in the hierarchy. Therefore, a getParent() loop is used to find it.
      This is not the case for Unit Tests (That is why we have a Nullpointer check there). It should not happen in real life scenarios though, but still not so nice as API design.

      Goal:
      - table changed listener need to synchronize the state for the cells and the flow, +treeColumn in case of the TreeTableView.
      - The VirtualFlow need to be retrieved in another way. I have no idea how to that in a nice way as of now.

         

            fastegal Jeanette Winzenburg
            fastegal Jeanette Winzenburg
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: