Java 类javafx.scene.control.TreeTableView.TreeTableViewSelectionModel 实例源码
项目:marathonv5
文件:JavaFXElementPropertyAccessor.java
@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);
}
}
项目:marathonv5
文件:JavaFXTreeTableViewElementTest.java
@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();
}
};
}
项目:marathonv5
文件:RFXTreeTableViewTest.java
@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]);
}
项目:marathonv5
文件:RFXTreeTableViewTest.java
@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]);
}
项目:marathonv5
文件:JavaFXElementPropertyAccessor.java
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();
}
}
项目:marathonv5
文件:JavaFXTreeTableViewElement.java
@SuppressWarnings("unchecked") @Override public boolean marathon_select(String value) {
TreeTableView<?> treeTableView = (TreeTableView<?>) getComponent();
TreeTableViewSelectionModel<?> selectionModel = treeTableView.getSelectionModel();
if (value.equals("")) {
selectionModel.clearSelection();
return true;
} else if (value.equals("all")) {
selectionModel.clearSelection();
if (!selectionModel.isCellSelectionEnabled()) {
int rowCount = treeTableView.getExpandedItemCount();
for (int i = 0; i < rowCount; i++) {
selectionModel.select(i);
}
return true;
} else {
selectionModel.clearSelection();
selectionModel.selectRange(0, getTreeTableColumnAt(treeTableView, 0), treeTableView.getExpandedItemCount() - 1,
getTreeTableColumnAt(treeTableView, treeTableView.getColumns().size() - 1));
return true;
}
} else if (!selectionModel.isCellSelectionEnabled()) {
selectionModel.clearSelection();
int[] selectedRows = getTreeTableSelectedRows(treeTableView, value);
for (int selectedRow : selectedRows) {
if (getVisibleCellAt(treeTableView, selectedRow, 0) == null) {
treeTableView.scrollTo(selectedRow);
}
selectionModel.select(selectedRow);
}
return true;
} else {
selectionModel.clearSelection();
selectTreeTableCells(treeTableView, value);
return true;
}
}
项目:marathonv5
文件:JavaFXTreeTableViewElementTest.java
@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;
}
};
}
项目:marathonv5
文件:JavaFXTreeTableViewElementTest.java
@Test public void selectACell() {
TreeTableView<?> treeTableNode = (TreeTableView<?>) getPrimaryStage().getScene().getRoot().lookup(".tree-table-view");
Platform.runLater(() -> {
TreeTableViewSelectionModel<?> selectionModel = treeTableNode.getSelectionModel();
selectionModel.setCellSelectionEnabled(true);
treeTable.marathon_select("{\"cells\":[[\"/Sales Department/Ethan Williams\",\"Employee\"]]}");
});
new Wait("Waiting for cell to be selected") {
@Override public boolean until() {
return treeTableNode.getSelectionModel().getSelectedCells().size() == 1;
}
};
}
项目:marathonv5
文件:JavaFXTreeTableViewElementTest.java
@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;
}
};
}
项目:marathonv5
文件:TreeTableCellSampleApp.java
@Override public void start(Stage primaryStage) {
primaryStage.setTitle("TreeTable View Cell Sample");
primaryStage.setScene(new Scene(new TreeTableSample()));
primaryStage.sizeToScene();
primaryStage.show();
TreeTableView<?> treeTableView = (TreeTableView<?>) primaryStage.getScene().getRoot().lookup(".tree-table-view");
TreeTableViewSelectionModel<?> selectionModel = treeTableView.getSelectionModel();
selectionModel.setCellSelectionEnabled(true);
selectionModel.setSelectionMode(SelectionMode.MULTIPLE);
}
项目:iso-game-engine
文件:TypedTextFieldTreeTableCell.java
public static <S, T> Callback<TreeTableColumn<S, T>, TreeTableCell<S, T>>
forTreeTableColumn(
final Supplier<TypedTextField<T>> constructor,
final TreeTableViewSelectionModel<S> selection
) {
return (column -> new TypedTextFieldTreeTableCell<S, T>(constructor, selection));
}
项目:iso-game-engine
文件:TypedTextFieldTreeTableCell.java
public TypedTextFieldTreeTableCell(
final Supplier<TypedTextField<T>> constructor,
final TreeTableViewSelectionModel<S> selection
) {
this.constructor = constructor;
this.selection = selection;
}
项目:FxEditor
文件:FxTreeTable.java
public TreeTableViewSelectionModel<T> getSelectionModel()
{
return tree.getSelectionModel();
}
项目:ReqTraq
文件:FxTreeTable.java
public TreeTableViewSelectionModel<T> getSelectionModel()
{
return tree.getSelectionModel();
}
项目:FxDock
文件:FxTreeTable.java
public TreeTableViewSelectionModel<T> getSelectionModel()
{
return tree.getSelectionModel();
}