下面列出了javafx.scene.control.TreeTableColumn.CellDataFeatures#javafx.scene.control.TreeTableView 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@SuppressWarnings("unchecked")
private String getTreeTableItemText(TreeTableView<?> treeTableView, TreeItem<?> lastPathComponent) {
@SuppressWarnings("rawtypes")
TreeTableColumn treeTableColumn = treeTableView.getTreeColumn();
if (treeTableColumn == null) {
treeTableColumn = treeTableView.getColumns().get(0);
}
ObservableValue<?> cellObservableValue = treeTableColumn.getCellObservableValue(lastPathComponent);
String original = cellObservableValue.getValue().toString();
String itemText = original;
int suffixIndex = 0;
TreeItem<?> parent = lastPathComponent.getParent();
if (parent == null)
return itemText;
ObservableList<?> children = parent.getChildren();
for (int i = 0; i < children.indexOf(lastPathComponent); i++) {
TreeItem<?> child = (TreeItem<?>) children.get(i);
cellObservableValue = treeTableColumn.getCellObservableValue(child);
String current = cellObservableValue.getValue().toString();
if (current.equals(original)) {
itemText = String.format("%s(%d)", original, ++suffixIndex);
}
}
return itemText;
}
@SuppressWarnings("unchecked")
protected void selectTreeTableCells(TreeTableView<?> treeTableView, String value) {
@SuppressWarnings("rawtypes")
TreeTableViewSelectionModel selectionModel = treeTableView.getSelectionModel();
JSONObject cells = new JSONObject(value);
JSONArray object = (JSONArray) cells.get("cells");
for (int i = 0; i < object.length(); i++) {
JSONArray jsonArray = object.getJSONArray(i);
int rowIndex = getTreeTableNodeIndex(treeTableView, jsonArray.getString(0));
int columnIndex = getTreeTableColumnIndex(treeTableView, jsonArray.getString(1));
@SuppressWarnings("rawtypes")
TreeTableColumn column = treeTableView.getColumns().get(columnIndex);
if (getVisibleCellAt(treeTableView, rowIndex, columnIndex) == null) {
treeTableView.scrollToColumn(column);
treeTableView.scrollTo(rowIndex);
}
selectionModel.select(rowIndex, column);
}
}
@Override
public List<IJavaFXElement> getByPseudoElement(String selector, Object[] params) {
if (selector.equals("root")) {
return Arrays.asList(new JavaFXTreeTableViewCellElement(this, 0, 0));
} else if (selector.equals("mnth-cell")) {
return Arrays.asList(new JavaFXTreeTableViewCellElement(this, ((Integer) params[0]).intValue() - 1,
((Integer) params[1]).intValue() - 1));
} else if (selector.equals("all-cells")) {
TreeTableView<?> tableView = (TreeTableView<?>) getComponent();
int rowCount = tableView.getExpandedItemCount();
int columnCount = tableView.getColumns().size();
ArrayList<IJavaFXElement> r = new ArrayList<>();
for (int i = 0; i < rowCount; i++) {
for (int j = 0; j < columnCount; j++) {
r.add(new JavaFXTreeTableViewCellElement(this, i, j));
}
}
return r;
} else if (selector.equals("select-by-properties")) {
return findSelectByProperties(new JSONObject((String) params[0]));
}
return super.getByPseudoElement(selector, params);
}
@SuppressWarnings("unchecked")
@Test
public void selectNoCell() {
TreeTableView<?> treeTableNode = (TreeTableView<?>) getPrimaryStage().getScene().getRoot().lookup(".tree-table-view");
Platform.runLater(() -> {
TreeTableViewSelectionModel<?> selectionModel = treeTableNode.getSelectionModel();
selectionModel.setCellSelectionEnabled(true);
selectionModel.select(0, getTreeTableColumnAt(treeTableNode, 0));
treeTable.marathon_select("");
});
new Wait("Waiting for no cell selection") {
@Override
public boolean until() {
return treeTableNode.getSelectionModel().getSelectedCells().size() == 0;
}
};
}
@SuppressWarnings("unchecked")
@Test
public void selectAllCells() {
TreeTableView<?> treeTableNode = (TreeTableView<?>) getPrimaryStage().getScene().getRoot().lookup(".tree-table-view");
Platform.runLater(() -> {
TreeTableViewSelectionModel<?> selectionModel = treeTableNode.getSelectionModel();
selectionModel.setCellSelectionEnabled(true);
selectionModel.setSelectionMode(SelectionMode.MULTIPLE);
selectionModel.selectRange(0, getTreeTableColumnAt(treeTableNode, 0), treeTableNode.getExpandedItemCount() - 1,
getTreeTableColumnAt(treeTableNode, 1));
treeTable.marathon_select("all");
});
new Wait("Waiting for all cells to be selected") {
@Override
public boolean until() {
return treeTableNode.getSelectionModel().getSelectedCells().size() == treeTableNode.getExpandedItemCount()
* treeTableNode.getColumns().size();
}
};
}
@Test
public void selectMultipleCells() {
TreeTableView<?> treeTableNode = (TreeTableView<?>) getPrimaryStage().getScene().getRoot().lookup(".tree-table-view");
Platform.runLater(() -> {
TreeTableViewSelectionModel<?> selectionModel = treeTableNode.getSelectionModel();
selectionModel.setSelectionMode(SelectionMode.MULTIPLE);
selectionModel.setCellSelectionEnabled(true);
treeTable.marathon_select(
"{\"cells\":[[\"/Sales Department/Ethan Williams\",\"Employee\"],[\"/Sales Department/Michael Brown\",\"Email\"]]}");
});
new Wait("Waiting for cells to be selected") {
@Override
public boolean until() {
return treeTableNode.getSelectionModel().getSelectedCells().size() == 2;
}
};
}
@Test
public void getText() {
TreeTableView<?> treeTableNode = (TreeTableView<?>) getPrimaryStage().getScene().getRoot().lookup(".tree-table-view");
List<String> text = new ArrayList<>();
Platform.runLater(() -> {
treeTableNode.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
treeTable.marathon_select("{\"rows\":[\"/Sales Department/Emma Jones\",\"/Sales Department/Anna Black\"]}");
text.add(treeTable.getAttribute("text"));
});
new Wait("Waiting for tree table text.") {
@Override
public boolean until() {
return text.size() > 0;
}
};
AssertJUnit.assertEquals("{\"rows\":[\"/Sales Department/Emma Jones\",\"/Sales Department/Anna Black\"]}", text.get(0));
}
@Test
public void getText() {
TreeTableView<?> treeTableNode = (TreeTableView<?>) getPrimaryStage().getScene().getRoot().lookup(".tree-table-view");
List<String> text = new ArrayList<>();
Platform.runLater(() -> {
treeTableNode.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
treeTable.marathon_select("{\"rows\":[\"/Sales Department/Emma Jones\",\"/Sales Department/Anna Black\"]}");
text.add(treeTable.getAttribute("text"));
});
new Wait("Waiting for tree table text.") {
@Override
public boolean until() {
return text.size() > 0;
}
};
AssertJUnit.assertEquals("{\"rows\":[\"/Sales Department/Emma Jones\",\"/Sales Department/Anna Black\"]}", text.get(0));
}
protected Point2D getPoint(TreeTableView<?> treeTableView, int rowIndex, int columnIndex) {
Set<Node> treeTableRowCell = treeTableView.lookupAll(".tree-table-row-cell");
TreeTableRow<?> row = null;
for (Node tableRow : treeTableRowCell) {
TreeTableRow<?> r = (TreeTableRow<?>) tableRow;
if (r.getIndex() == rowIndex) {
row = r;
break;
}
}
Set<Node> cells = row.lookupAll(".tree-table-cell");
for (Node node : cells) {
TreeTableCell<?, ?> cell = (TreeTableCell<?, ?>) node;
if (treeTableView.getColumns().indexOf(cell.getTableColumn()) == columnIndex) {
Bounds bounds = cell.getBoundsInParent();
Point2D localToParent = cell.localToParent(bounds.getWidth() / 2, bounds.getHeight() / 2);
Point2D rowLocal = row.localToScene(localToParent, true);
return rowLocal;
}
}
return null;
}
@Test
public void selectMulptipleRows() {
TreeTableView<?> treeTableView = (TreeTableView<?>) getPrimaryStage().getScene().getRoot().lookup(".tree-table-view");
LoggingRecorder lr = new LoggingRecorder();
Platform.runLater(() -> {
treeTableView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
RFXTreeTableView rfxTreeTableView = new RFXTreeTableView(treeTableView, null, null, lr);
treeTableView.getSelectionModel().selectIndices(2, 4);
rfxTreeTableView.focusLost(null);
});
List<Recording> recordings = lr.waitAndGetRecordings(1);
Recording recording = recordings.get(0);
AssertJUnit.assertEquals("recordSelect", recording.getCall());
AssertJUnit.assertEquals("{\"rows\":[\"/Sales Department/Emma Jones\",\"/Sales Department/Anna Black\"]}",
recording.getParameters()[0]);
}
@Test
public void selectAllRows() {
TreeTableView<?> treeTableView = (TreeTableView<?>) getPrimaryStage().getScene().getRoot().lookup(".tree-table-view");
LoggingRecorder lr = new LoggingRecorder();
Platform.runLater(() -> {
treeTableView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
RFXTreeTableView rfxTreeTableView = new RFXTreeTableView(treeTableView, null, null, lr);
int count = treeTableView.getExpandedItemCount();
for (int i = 0; i < count; i++) {
treeTableView.getSelectionModel().select(i);
}
rfxTreeTableView.focusLost(null);
});
List<Recording> recordings = lr.waitAndGetRecordings(1);
Recording recording = recordings.get(0);
AssertJUnit.assertEquals("recordSelect", recording.getCall());
AssertJUnit.assertEquals("all", recording.getParameters()[0]);
}
@SuppressWarnings("unchecked")
@Test
public void selectMultipleCells() {
TreeTableView<?> treeTableView = (TreeTableView<?>) getPrimaryStage().getScene().getRoot().lookup(".tree-table-view");
LoggingRecorder lr = new LoggingRecorder();
Platform.runLater(() -> {
TreeTableViewSelectionModel<?> selectionModel = treeTableView.getSelectionModel();
selectionModel.setCellSelectionEnabled(true);
selectionModel.setSelectionMode(SelectionMode.MULTIPLE);
Point2D point = getPoint(treeTableView, 1, 0);
RFXTreeTableView rfxTreeTableView = new RFXTreeTableView(treeTableView, null, point, lr);
rfxTreeTableView.focusGained(null);
@SuppressWarnings("rawtypes")
TreeTableColumn column = getTreeTableColumnAt(treeTableView, 0);
selectionModel.select(1, column);
selectionModel.select(3, getTreeTableColumnAt(treeTableView, 1));
rfxTreeTableView.focusLost(null);
});
List<Recording> recordings = lr.waitAndGetRecordings(1);
Recording recording = recordings.get(0);
AssertJUnit.assertEquals("recordSelect", recording.getCall());
AssertJUnit.assertEquals(
"{\"cells\":[[\"/Sales Department/Ethan Williams\",\"Employee\"],[\"/Sales Department/Michael Brown\",\"Email\"]]}",
recording.getParameters()[0]);
}
@SuppressWarnings("unchecked")
@Test
public void selectACell() {
TreeTableView<?> treeTableView = (TreeTableView<?>) getPrimaryStage().getScene().getRoot().lookup(".tree-table-view");
LoggingRecorder lr = new LoggingRecorder();
Platform.runLater(() -> {
TreeTableViewSelectionModel<?> selectionModel = treeTableView.getSelectionModel();
selectionModel.setCellSelectionEnabled(true);
Point2D point = getPoint(treeTableView, 1, 0);
RFXTreeTableView rfxTreeTableView = new RFXTreeTableView(treeTableView, null, point, lr);
rfxTreeTableView.focusGained(null);
@SuppressWarnings("rawtypes")
TreeTableColumn column = getTreeTableColumnAt(treeTableView, 0);
selectionModel.select(1, column);
rfxTreeTableView.focusLost(null);
});
List<Recording> recordings = lr.waitAndGetRecordings(1);
Recording recording = recordings.get(0);
AssertJUnit.assertEquals("recordSelect", recording.getCall());
AssertJUnit.assertEquals("{\"cells\":[[\"/Sales Department/Ethan Williams\",\"Employee\"]]}", recording.getParameters()[0]);
}
@SuppressWarnings("unchecked")
@Test
public void selectAllCells() {
TreeTableView<?> treeTableView = (TreeTableView<?>) getPrimaryStage().getScene().getRoot().lookup(".tree-table-view");
LoggingRecorder lr = new LoggingRecorder();
Platform.runLater(() -> {
treeTableView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
RFXTreeTableView rfxTreeTableView = new RFXTreeTableView(treeTableView, null, null, lr);
int count = treeTableView.getExpandedItemCount();
treeTableView.getSelectionModel().selectRange(0, getTreeTableColumnAt(treeTableView, 0), count - 1,
getTreeTableColumnAt(treeTableView, 1));
rfxTreeTableView.focusLost(null);
});
List<Recording> recordings = lr.waitAndGetRecordings(1);
Recording recording = recordings.get(0);
AssertJUnit.assertEquals("recordSelect", recording.getCall());
AssertJUnit.assertEquals("all", recording.getParameters()[0]);
}
@Test
public void getText() {
TreeTableView<?> treeTableView = (TreeTableView<?>) getPrimaryStage().getScene().getRoot().lookup(".tree-table-view");
LoggingRecorder lr = new LoggingRecorder();
List<String> text = new ArrayList<>();
Platform.runLater(() -> {
RFXTreeTableView rfxTreeTableView = new RFXTreeTableView(treeTableView, null, null, lr);
treeTableView.getSelectionModel().select(2);
rfxTreeTableView.focusLost(null);
text.add(rfxTreeTableView.getAttribute("text"));
});
new Wait("Waiting for tree table view text.") {
@Override
public boolean until() {
return text.size() > 0;
}
};
AssertJUnit.assertEquals("{\"rows\":[\"/Sales Department/Emma Jones\"]}", text.get(0));
}
public ServiceViewer() {
FXMLLoader fxmlLoader = new FXMLLoader(
getClass().getResource("ServiceViewer.fxml"));
fxmlLoader.setRoot(this);
fxmlLoader.setController(this);
try {
fxmlLoader.load();
} catch (IOException exception) {
throw new RuntimeException(exception);
}
TreeItem<BrowserItem> root = new TreeBrowserItem(new ServiceRootBrowserItem());
root.setExpanded(true);
servicesTreeTable.setRoot(root);
servicesTreeTable.setShowRoot(false);
servicesTreeTable.setColumnResizePolicy(TreeTableView.CONSTRAINED_RESIZE_POLICY);
TreeTableColumn<BrowserItem,String> nameCol = new TreeTableColumn<>("Name");
TreeTableColumn<BrowserItem,String> descriptionCol = new TreeTableColumn<>("Description");
servicesTreeTable.getColumns().setAll(nameCol, descriptionCol);
nameCol.setCellValueFactory(new TreeItemPropertyValueFactory<>("name"));
descriptionCol.setCellValueFactory(new TreeItemPropertyValueFactory<>("description"));
}
/**
* Copy all rows of selected cells
*
* @param table
* @param addHeader
*/
@SuppressWarnings("rawtypes")
public void copySelectionToClipboard(final TreeTableView<ModularFeatureListRow> table,
boolean addHeader) {
// final Set<Integer> rows = new TreeSet<>();
// for (final TreeTablePosition tablePosition : table.getSelectionModel().getSelectedCells()) {
// rows.add(tablePosition.getRow());
// }
// final StringBuilder strb = new StringBuilder();
// boolean firstRow = true;
// for (final Integer row : rows) {
// if (!firstRow) {
// strb.append('\n');
// } else if (addHeader) {
// for (final TreeTableColumn<ModularFeatureListRow, ?> column : table.getColumns()) {
// strb.append(column.getText());
// }
// strb.append('\n');
// }
// boolean firstCol = true;
// for (final TreeTableColumn<ModularFeatureListRow, ?> column : table.getColumns()) {
// if (!firstCol) {
// strb.append('\t');
// }
// firstCol = false;
// final Object cellData = column.getCellData(row);
// if (cellData == null)
// strb.append("");
// else if (cellData instanceof DataType<?>)
// strb.append(((DataType<?>) cellData).getFormattedString(cellData));
// else
// strb.append(cellData.toString());
// }
// firstRow = false;
// }
// final ClipboardContent clipboardContent = new ClipboardContent();
// clipboardContent.putString(strb.toString());
// Clipboard.getSystemClipboard().setContent(clipboardContent);
}
public String getTreeTableCellText(TreeTableView<?> treeTableView, int row, int column) {
if (column == -1 || row == -1) {
return null;
}
String scolumn = getTreeTableColumnName(treeTableView, column);
if (scolumn == null || "".equals(scolumn)) {
scolumn = "" + column;
}
return new JSONObject()
.put("cell", new JSONArray()
.put(getTreeTableNodePath(treeTableView, treeTableView.getSelectionModel().getModelItem(row))).put(scolumn))
.toString();
}
public TreeTableCell<?, ?> getTreeTableCellAt(TreeTableView<?> treeTableView, Point2D point) {
point = treeTableView.localToScene(point);
Set<Node> lookupAll = getTreeTableCells(treeTableView);
TreeTableCell<?, ?> selected = null;
for (Node cellNode : lookupAll) {
Bounds boundsInScene = cellNode.localToScene(cellNode.getBoundsInLocal(), true);
if (boundsInScene.contains(point)) {
selected = (TreeTableCell<?, ?>) cellNode;
break;
}
}
return selected;
}
protected int getTreeTableColumnAt(TreeTableView<?> treeTableView, Point2D point) {
TreeTableCell<?, ?> selected = getTreeTableCellAt(treeTableView, point);
if (selected == null) {
return -1;
}
return treeTableView.getColumns().indexOf(selected.getTableColumn());
}
protected int getTreeTableRowAt(TreeTableView<?> treeTableView, Point2D point) {
TreeTableCell<?, ?> selected = getTreeTableCellAt(treeTableView, point);
if (selected == null) {
return -1;
}
return selected.getTreeTableRow().getIndex();
}
@SuppressWarnings("rawtypes")
public TreeTableCell getVisibleCellAt(TreeTableView<?> treeTableView, int row, int column) {
Set<Node> lookupAll = getTreeTableCells(treeTableView);
TreeTableCell cell = null;
for (Node node : lookupAll) {
TreeTableCell<?, ?> cell1 = (TreeTableCell<?, ?>) node;
TreeTableRow<?> tableRow = cell1.getTreeTableRow();
TreeTableColumn<?, ?> tableColumn = cell1.getTableColumn();
if (tableRow.getIndex() == row && tableColumn == treeTableView.getColumns().get(column)) {
cell = cell1;
break;
}
}
return cell;
}
private Set<Node> getTreeTableCells(TreeTableView<?> treeTableView) {
Set<Node> l = treeTableView.lookupAll("*");
Set<Node> r = new HashSet<>();
for (Node node : l) {
if (node instanceof TreeTableCell<?, ?>) {
if (!((TreeTableCell<?, ?>) node).isEmpty())
r.add(node);
}
}
return r;
}
public String getTextForTreeTableNode(TreeTableView<?> treeTableView, TreeItem<?> selectedItem) {
StringBuilder sb = new StringBuilder();
Object[] treePath = buildTreePath(selectedItem);
int start = treeTableView.isShowRoot() ? 0 : 1;
for (int i = start; i < treePath.length; i++) {
String pathString = escapeSpecialCharacters(getTextForTreeTableNodeObject(treeTableView, (TreeItem<?>) treePath[i]));
sb.append("/").append(pathString);
}
return sb.toString();
}
public JSONArray getTreeTableNodeText(TreeTableView<?> treeTableView, ObservableList<?> selectedItems) {
JSONArray pa = new JSONArray();
for (Object object : selectedItems) {
pa.put(getTextForTreeTableNode(treeTableView, (TreeItem<?>) object));
}
return pa;
}
public String getTreeTableSelection(TreeTableView<?> treeTableView) {
TreeTableViewSelectionModel<?> selectionModel = treeTableView.getSelectionModel();
ObservableList<Integer> selectedIndices = selectionModel.getSelectedIndices();
ObservableList<?> selectedCells = selectionModel.getSelectedCells();
int rowCount = treeTableView.getExpandedItemCount();
int columnCount = treeTableView.getColumns().size();
if (selectedIndices.size() == 0 || selectedCells.size() == 0) {
return "";
} else if (!selectionModel.isCellSelectionEnabled() && selectedIndices.size() == treeTableView.getExpandedItemCount()
|| selectionModel.isCellSelectionEnabled() && selectedCells.size() == rowCount * columnCount) {
return "all";
} else if (!selectionModel.isCellSelectionEnabled()) {
return getTreeTableRowSelectionText(treeTableView, selectionModel.getSelectedItems());
} else {
int[] rows = new int[selectedCells.size()];
int[] columns = new int[selectedCells.size()];
JSONObject cells = new JSONObject();
JSONArray value = new JSONArray();
for (int i = 0; i < selectedCells.size(); i++) {
TreeTablePosition<?, ?> cell = (TreeTablePosition<?, ?>) selectedCells.get(i);
rows[i] = cell.getRow();
columns[i] = cell.getColumn();
List<String> cellValue = new ArrayList<>();
cellValue.add(getTreeTableNodePath(treeTableView, selectionModel.getModelItem(cell.getRow())));
cellValue.add(getTreeTableColumnName(treeTableView, cell.getColumn()));
value.put(cellValue);
}
cells.put("cells", value);
return cells.toString();
}
}
protected int getTreeTableColumnIndex(TreeTableView<?> treeTableView, String columnName) {
ObservableList<?> columns = treeTableView.getColumns();
int ncolumns = columns.size();
for (int i = 0; i < ncolumns; i++) {
@SuppressWarnings("rawtypes")
String column = ((TreeTableColumn) columns.get(i)).getText();
if (columnName.equals(escapeSpecialCharacters(column))) {
return i;
}
}
throw new RuntimeException("Could not find column " + columnName + " in tree table");
}
protected int[] getTreeTableSelectedRows(TreeTableView<?> treeTableView, String value) {
JSONArray o = new JSONObject(value).getJSONArray("rows");
int[] rows = new int[o.length()];
for (int i = 0; i < o.length(); i++) {
rows[i] = getTreeTableNodeIndex(treeTableView, o.getString(i));
}
return rows;
}
public static void reset() {
add(Node.class, JavaFXElement.class);
add(TextInputControl.class, JavaFXTextInputControlElement.class);
add(HTMLEditor.class, JavaFXHTMLEditor.class);
add(CheckBox.class, JavaFXCheckBoxElement.class);
add(ToggleButton.class, JavaFXToggleButtonElement.class);
add(Slider.class, JavaFXSliderElement.class);
add(Spinner.class, JavaFXSpinnerElement.class);
add(SplitPane.class, JavaFXSplitPaneElement.class);
add(ProgressBar.class, JavaFXProgressBarElement.class);
add(ChoiceBox.class, JavaFXChoiceBoxElement.class);
add(ColorPicker.class, JavaFXColorPickerElement.class);
add(ComboBox.class, JavaFXComboBoxElement.class);
add(DatePicker.class, JavaFXDatePickerElement.class);
add(TabPane.class, JavaFXTabPaneElement.class);
add(ListView.class, JavaFXListViewElement.class);
add(TreeView.class, JavaFXTreeViewElement.class);
add(TableView.class, JavaFXTableViewElement.class);
add(TreeTableView.class, JavaFXTreeTableViewElement.class);
add(CheckBoxListCell.class, JavaFXCheckBoxListCellElement.class);
add(ChoiceBoxListCell.class, JavaFXChoiceBoxCellElement.class);
add(ComboBoxListCell.class, JavaFXComboBoxCellElement.class);
add(CheckBoxTreeCell.class, JavaFXCheckBoxTreeCellElement.class);
add(ChoiceBoxTreeCell.class, JavaFXChoiceBoxCellElement.class);
add(ComboBoxTreeCell.class, JavaFXComboBoxCellElement.class);
add(TableCell.class, JavaFXTableViewCellElement.class);
add(CheckBoxTableCell.class, JavaFXCheckBoxTableCellElement.class);
add(ChoiceBoxTableCell.class, JavaFXChoiceBoxCellElement.class);
add(ComboBoxTableCell.class, JavaFXComboBoxCellElement.class);
add(TreeTableCell.class, JavaFXTreeTableCellElement.class);
add(CheckBoxTreeTableCell.class, JavaFXCheckBoxTreeTableCell.class);
add(ChoiceBoxTreeTableCell.class, JavaFXChoiceBoxCellElement.class);
add(ComboBoxTreeTableCell.class, JavaFXComboBoxCellElement.class);
add(WebView.class, JavaFXWebViewElement.class);
add(GenericStyledArea.GENERIC_STYLED_AREA_CLASS, RichTextFXGenericStyledAreaElement.class);
}
private List<IJavaFXElement> findSelectByProperties(JSONObject o) {
List<IJavaFXElement> r = new ArrayList<>();
if (o.has("select")) {
JSONObject jo = new JSONObject((String) o.get("select"));
JSONArray cell = (JSONArray) jo.get("cell");
JavaFXTreeTableViewCellElement e = new JavaFXTreeTableViewCellElement(this, cell.getString(0),
getTreeTableColumnIndex((TreeTableView<?>) getComponent(), cell.getString(1)));
if (!(boolean) e._makeVisible()) {
return Arrays.asList();
}
r.add(e);
}
return r;
}