| Modifier and Type | Field and Description |
|---|---|
| private final List | |
| private Reference | |
| private final SpreadsheetHandle | |
| private final SpreadsheetView |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| protected double | computeMaxHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)
Overrides javafx. Computes the maximum allowable height of the Skin, based on the provided width. |
| protected double | computeMinHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)
Overrides javafx. Computes the minimum allowable height of the Skin, based on the provided width. |
| protected double | computePrefHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)
Overrides javafx. Calculates the preferred height of this |
| protected double | computePrefWidth(double height, double topInset, double rightInset, double bottomInset, double leftInset)
Overrides javafx. Calculates the preferred width of this |
| private CellView | |
| private HashMap | |
| private double | |
| private double | |
| private void | |
| private boolean | |
| private boolean | |
| private boolean | isInvisible(double
beginning of the cell x, double total width of the cell width, double hbarValue, double width of the visible portion of the tableView headerWidth, int columnSpan)Return true if the current cell is part of the sceneGraph. |
| protected void | layoutChildren(double x, final double y, final double w, final double h)
Overrides javafx. The Layout algorithm works like this: - Get the labeled w/h, graphic w/h, text w/h - Compute content w/h based on graphicVPos, graphicHPos, graphicTextGap, and graphic w/h and text w/h - (Note that the text content has been pre-truncated where necessary) - compute content x/y based on content w/h and labeled w/h and the labeled's hpos and vpos - position the graphic and text |
| private void | |
| private void | |
| private void | |
| private void | requestCellUpdate()
/ fixedCellSize = fixedCellSizeProperty().get(); / fixedCellSizeEnabled = fixedCellSize > 0; |
| cells | back to summary |
|---|---|
| private final List<CellView> cells | |
| cellsMap | back to summary |
|---|---|
| private Reference<HashMap<TableColumnBase<S, T>, CellView>> cellsMap | |
| handle | back to summary |
|---|---|
| private final SpreadsheetHandle handle | |
| spreadsheetView | back to summary |
|---|---|
| private final SpreadsheetView spreadsheetView | |
| GridRowSkin | back to summary |
|---|---|
| public GridRowSkin(SpreadsheetHandle handle, TableRow<ObservableList<SpreadsheetCell>> gridRow) | |
| computeMaxHeight | back to summary |
|---|---|
| protected double computeMaxHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset) Overrides javafx. Doc from javafx. Computes the maximum allowable height of the Skin, based on the provided width.
| |
| computeMinHeight | back to summary |
|---|---|
| protected double computeMinHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset) Overrides javafx. Doc from javafx. Computes the minimum allowable height of the Skin, based on the provided width.
| |
| computePrefHeight | back to summary |
|---|---|
| protected double computePrefHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset) Overrides javafx. Doc from javafx. Calculates the preferred height of this
| |
| computePrefWidth | back to summary |
|---|---|
| protected double computePrefWidth(double height, double topInset, double rightInset, double bottomInset, double leftInset) Overrides javafx. Doc from javafx. Calculates the preferred width of this
| |
| getCell | back to summary |
|---|---|
| private CellView getCell(TableColumnBase<S, T> tcb) This will retrieve a cell for the specified column. If the cell exists in the cache, it's extracted from it. Otherwise, a cell is created. | |
| getCellsMap | back to summary |
|---|---|
| private HashMap Return the Cache. Here we use a WeakReference because the WeakHashMap is not working. TableCell added to it are not removed if the GC wants them. So we put the whole cache in WeakReference. In normal condition, the cache is not trashed that much and is efficient. In the case where the user scroll horizontally a lot, that cache can then be trashed in order to avoid OutOfMemoryError. | |
| getFixedRowShift | back to summary |
|---|---|
| private double getFixedRowShift(int index) Return the space we need to shift that row if it's fixed. Also update the | |
| getTableRowHeight | back to summary |
|---|---|
| private double getTableRowHeight(int row) Return the height of a row. | |
| handleFixedCell | back to summary |
|---|---|
| private void handleFixedCell(List<CellView> fixedCells, int index) This handles the fixed cells in column. | |
| hasLeftBorder | back to summary |
|---|---|
| private boolean hasLeftBorder(CellView tableCell) | |
| hasRightBorder | back to summary |
|---|---|
| private boolean hasRightBorder(CellView tableCell) | |
| isInvisible | back to summary |
|---|---|
| private boolean isInvisible(double x, double width, double hbarValue, double headerWidth, int columnSpan) Return true if the current cell is part of the sceneGraph.
| |
| layoutChildren | back to summary |
|---|---|
| protected void layoutChildren(double x, final double y, final double w, final double h) Overrides javafx. Doc from javafx. The Layout algorithm works like this: - Get the labeled w/h, graphic w/h, text w/h - Compute content w/h based on graphicVPos, graphicHPos, graphicTextGap, and graphic w/h and text w/h - (Note that the text content has been pre-truncated where necessary) - compute content x/y based on content w/h and labeled w/h and the labeled's hpos and vpos - position the graphic and text
| |
| putCellsInCache | back to summary |
|---|---|
| private void putCellsInCache() This will put all current displayed cell into the cache. | |
| removeDeportedCells | back to summary |
|---|---|
| private void removeDeportedCells() | |
| removeUselessCell | back to summary |
|---|---|
| private void removeUselessCell(int index) Here we want to remove of the sceneGraph cells that are not used. Before we were removing the cells that we were getting from the cache. But that is not enough because some cells can be added somehow, and stay within the row. Since we do not often clear the children because of some deportedCell present inside, we must use that Predicate to clear all CellView not contained in cells and with the same index. Thus we preserve the deported cell. | |
| requestCellUpdate | back to summary |
|---|---|
| private void requestCellUpdate() / fixedCellSize = fixedCellSizeProperty().get(); / fixedCellSizeEnabled = fixedCellSize > 0; | |