Edit C:\Program Files\Java\jdk1.8.0_121\javafx\scene\control\TreeTablePosition.java
/* * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package javafx.scene.control; import java.lang.ref.WeakReference; import javafx.beans.NamedArg; /** * This class is used to represent a single row/column/cell in a TreeTableView. * This is used throughout the TreeTableView API to represent which rows/columns/cells * are currently selected, focused, being edited, etc. Note that this class is * immutable once it is created. * * <p>Because the TreeTableView can have different * {@link SelectionMode selection modes}, the row and column properties in * TablePosition can be 'disabled' to represent an entire row or column. This is * done by setting the unrequired property to -1 or null. * * @param <S> The type of the {@link TreeItem} instances contained within the * TreeTableView. * @param <T> The type of the items contained within the TreeTableColumn. * @see TreeTableView * @see TreeTableColumn * @since JavaFX 8.0 */ public class TreeTablePosition<S,T> extends TablePositionBase<TreeTableColumn<S,T>> { /*************************************************************************** * * * Constructors * * * **************************************************************************/ /** * Constructs a TreeTablePosition instance to represent the given row/column * position in the given TreeTableView instance. Both the TreeTableView and * TreeTableColumn are referenced weakly in this class, so it is possible that * they will be null when their respective getters are called. * * @param treeTableView The TreeTableView that this position is related to. * @param row The row that this TreeTablePosition is representing. * @param tableColumn The TreeTableColumn instance that this TreeTablePosition represents. */ public TreeTablePosition(@NamedArg("treeTableView") TreeTableView<S> treeTableView, @NamedArg("row") int row, @NamedArg("tableColumn") TreeTableColumn<S,T> tableColumn) { super(row, tableColumn); this.controlRef = new WeakReference<>(treeTableView); this.treeItemRef = new WeakReference<>(treeTableView.getTreeItem(row)); } /*************************************************************************** * * * Instance Variables * * * **************************************************************************/ private final WeakReference<TreeTableView<S>> controlRef; private final WeakReference<TreeItem<S>> treeItemRef; int fixedColumnIndex = -1; /*************************************************************************** * * * Public API * * * **************************************************************************/ /** * The column index that this TreeTablePosition represents in the TreeTableView. It * is -1 if the TreeTableView or TreeTableColumn instances are null. */ @Override public int getColumn() { if (fixedColumnIndex > -1) { return fixedColumnIndex; } TreeTableView<S> tableView = getTreeTableView(); TreeTableColumn<S,T> tableColumn = getTableColumn(); return tableView == null || tableColumn == null ? -1 : tableView.getVisibleLeafIndex(tableColumn); } /** * The TreeTableView that this TreeTablePosition is related to. */ public final TreeTableView<S> getTreeTableView() { return controlRef.get(); } @Override public final TreeTableColumn<S,T> getTableColumn() { // Forcing the return type to be TreeTableColumn<S,T>, not TableColumnBase<S,T> return super.getTableColumn(); } /** * Returns the {@link TreeItem} that backs the {@link #getRow()} row}. */ public final TreeItem<S> getTreeItem() { return treeItemRef.get(); } }
Ms-Dos/Windows
Unix
Write backup
jsp File Browser version 1.2 by
www.vonloesch.de