modules/controls/src/test/java/com/sun/javafx/scene/control/infrastructure/VirtualFlowTestUtils.java
Print this page
rev 9240 : 8076423: JEP 253: Prepare JavaFX UI Controls & CSS APIs for Modularization
*** 1,7 ****
/*
! * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
--- 1,7 ----
/*
! * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
*** 24,40 ****
*/
package com.sun.javafx.scene.control.infrastructure;
import static org.junit.Assert.assertNotNull;
- import com.sun.javafx.scene.control.skin.*;
import javafx.geometry.Orientation;
- import javafx.scene.Group;
import javafx.scene.Node;
- import javafx.scene.Scene;
import javafx.scene.control.*;
! import javafx.stage.Stage;
import javafx.util.Callback;
import java.util.List;
import static org.junit.Assert.*;
--- 24,44 ----
*/
package com.sun.javafx.scene.control.infrastructure;
import static org.junit.Assert.assertNotNull;
import javafx.geometry.Orientation;
import javafx.scene.Node;
import javafx.scene.control.*;
! import javafx.scene.control.skin.ComboBoxListViewSkin;
! import com.sun.javafx.scene.control.LabeledText;
! import javafx.scene.control.skin.NestedTableColumnHeader;
! import javafx.scene.control.skin.TableColumnHeader;
! import javafx.scene.control.skin.TableHeaderRow;
! import javafx.scene.control.skin.TableViewSkinBase;
! import javafx.scene.control.skin.VirtualFlow;
! import com.sun.javafx.scene.control.VirtualScrollBar;
import javafx.util.Callback;
import java.util.List;
import static org.junit.Assert.*;
*** 310,320 ****
}
public static void assertTableHeaderColumnExists(final Control control, final TableColumnBase column, boolean expected) {
TableHeaderRow headerRow = getTableHeaderRow(control);
! NestedTableColumnHeader rootHeader = headerRow.getRootHeader();
boolean match = false;
for (TableColumnHeader header : rootHeader.getColumnHeaders()) {
match = column.equals(header.getTableColumn());
if (match) break;
}
--- 314,324 ----
}
public static void assertTableHeaderColumnExists(final Control control, final TableColumnBase column, boolean expected) {
TableHeaderRow headerRow = getTableHeaderRow(control);
! NestedTableColumnHeader rootHeader = getNestedTableColumnHeader(headerRow);
boolean match = false;
for (TableColumnHeader header : rootHeader.getColumnHeaders()) {
match = column.equals(header.getTableColumn());
if (match) break;
}
*** 338,348 ****
VirtualFlow<?> flow;
if (control instanceof ComboBox) {
final ComboBox cb = (ComboBox) control;
final ComboBoxListViewSkin skin = (ComboBoxListViewSkin) cb.getSkin();
! control = skin.getListView();
}
flow = (VirtualFlow<?>)control.lookup("#virtual-flow");
if (stageLoaderCreated && sl != null && ! BLOCK_STAGE_LOADER_DISPOSE) {
--- 342,352 ----
VirtualFlow<?> flow;
if (control instanceof ComboBox) {
final ComboBox cb = (ComboBox) control;
final ComboBoxListViewSkin skin = (ComboBoxListViewSkin) cb.getSkin();
! control = (ListView) skin.getPopupContent();
}
flow = (VirtualFlow<?>)control.lookup("#virtual-flow");
if (stageLoaderCreated && sl != null && ! BLOCK_STAGE_LOADER_DISPOSE) {
*** 365,375 ****
public static TableHeaderRow getTableHeaderRow(final Control control) {
if (control.getSkin() == null) {
throw new IllegalStateException("getTableHeaderRow requires the control to be visible in a stage");
}
! TableViewSkinBase<?,?,?,?,?,?> skin = (TableViewSkinBase) control.getSkin();
TableHeaderRow headerRow = null;
for (Node n : skin.getChildren()) {
if (n instanceof TableHeaderRow) {
headerRow = (TableHeaderRow) n;
break;
--- 369,379 ----
public static TableHeaderRow getTableHeaderRow(final Control control) {
if (control.getSkin() == null) {
throw new IllegalStateException("getTableHeaderRow requires the control to be visible in a stage");
}
! TableViewSkinBase<?,?,?,?,?> skin = (TableViewSkinBase) control.getSkin();
TableHeaderRow headerRow = null;
for (Node n : skin.getChildren()) {
if (n instanceof TableHeaderRow) {
headerRow = (TableHeaderRow) n;
break;
*** 393,403 ****
return scrollBar;
}
public static TableColumnHeader getTableColumnHeader(Control table, TableColumnBase<?,?> column) {
TableHeaderRow headerRow = VirtualFlowTestUtils.getTableHeaderRow(table);
! return findColumnHeader(headerRow.getRootHeader(), column);
}
private static TableColumnHeader findColumnHeader(NestedTableColumnHeader nestedHeader, TableColumnBase<?,?> column) {
for (TableColumnHeader header : nestedHeader.getColumnHeaders()) {
if (header instanceof NestedTableColumnHeader) {
--- 397,407 ----
return scrollBar;
}
public static TableColumnHeader getTableColumnHeader(Control table, TableColumnBase<?,?> column) {
TableHeaderRow headerRow = VirtualFlowTestUtils.getTableHeaderRow(table);
! return findColumnHeader(getNestedTableColumnHeader(headerRow), column);
}
private static TableColumnHeader findColumnHeader(NestedTableColumnHeader nestedHeader, TableColumnBase<?,?> column) {
for (TableColumnHeader header : nestedHeader.getColumnHeaders()) {
if (header instanceof NestedTableColumnHeader) {
*** 411,416 ****
--- 415,431 ----
}
}
}
return null;
}
+
+ public static NestedTableColumnHeader getNestedTableColumnHeader(TableHeaderRow headerRow) {
+ NestedTableColumnHeader rootHeader = null;
+
+ for (Node n : headerRow.getChildren()) {
+ if (n instanceof NestedTableColumnHeader) {
+ rootHeader = (NestedTableColumnHeader) n;
+ }
+ }
+ return rootHeader;
+ }
}