Class ViewportRange

java.lang.Object
javafx.beans.value.ObservableValueBase<com.google.common.collect.Range<Integer>>
com.iamsoft.util.ui.javafx.table.ViewportRange
All Implemented Interfaces:
javafx.beans.Observable, javafx.beans.value.ObservableValue<com.google.common.collect.Range<Integer>>

public class ViewportRange extends javafx.beans.value.ObservableValueBase<com.google.common.collect.Range<Integer>>
Observable value capturing visible rows within a table.
See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
    ViewportRange(javafx.scene.control.TableView<?> pTableView)
     
    ViewportRange(javafx.scene.control.TableView<?> pTableView, float pResizeTopFactor, float pResizeBottomFactor)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    com.google.common.collect.Range<Integer>
     
    static int[]
    getVisibleRows(javafx.scene.control.TableView<?> pTableView)
    This is a total hack.

    Methods inherited from class javafx.beans.value.ObservableValueBase

    addListener, addListener, fireValueChangedEvent, removeListener, removeListener

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface javafx.beans.value.ObservableValue

    flatMap, map, orElse, when
  • Constructor Details

    • ViewportRange

      public ViewportRange(javafx.scene.control.TableView<?> pTableView)
    • ViewportRange

      public ViewportRange(javafx.scene.control.TableView<?> pTableView, float pResizeTopFactor, float pResizeBottomFactor)
      Parameters:
      pResizeTopFactor - Specifies a scale factor (against range size) to use to resize range from start. For example, if range is [7,10) and scale factor is 2, range is resized to [1,10).
      pResizeBottomFactor - Specifies a scale factor (against range size) to use to resize range from end. For example, if range is [7,10) and scale factor is 3, range is resized to [7,19).
  • Method Details

    • getValue

      public com.google.common.collect.Range<Integer> getValue()
    • getVisibleRows

      public static int[] getVisibleRows(javafx.scene.control.TableView<?> pTableView)
      This is a total hack. We need it as scrollTo jumps the selected row to the top of the table. Jarring if the row is already visible. As a workaround, we only scroll if the row isn't already visible
      Returns:
      A 2 element ray with the start and end index of visible rows