Java 类javafx.beans.binding.ListBinding 实例源码
项目:fx-log
文件:UIUtils.java
public static <S, C> ListBinding<C> selectList(ObservableValue<S> source, Function<S, ObservableList<C>> getList) {
return new ListBinding<C>() {
{
bind(source);
}
@Override
protected ObservableList<C> computeValue() {
S sourceValue = source.getValue();
if (sourceValue != null) {
return getList.apply(sourceValue);
} else {
return FXCollections.emptyObservableList();
}
}
};
}
项目:fx-log
文件:ColumnizersController.java
private void initializeColumnsTable() {
columnsTable.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);
newColumnHeaderField.setMaxWidth(headerColumn.getPrefWidth());
newColumnGroupField.setMaxWidth(capturingGroupColumn.getPrefWidth());
ListBinding<ColumnDefinition> columnDefinitions =
UIUtils.selectList(columnizersPane.selectedItemProperty(), Columnizer::getColumnDefinitions);
visibleColumn.setCellFactory(
CheckBoxTableCell.forTableColumn(index -> columnDefinitions.get(index).visibleProperty()));
visibleColumn.setCellValueFactory(data -> data.getValue().headerLabelProperty());
headerColumn.setCellFactory(TextFieldTableCell.forTableColumn());
headerColumn.setCellValueFactory(data -> data.getValue().headerLabelProperty());
capturingGroupColumn.setCellFactory(TextFieldTableCell.forTableColumn());
capturingGroupColumn.setCellValueFactory(data -> data.getValue().capturingGroupNameProperty());
descriptionColumn.setCellFactory(TextFieldTableCell.forTableColumn());
descriptionColumn.setCellValueFactory(data -> data.getValue().descriptionProperty());
columnsTable.itemsProperty().bind(columnDefinitions);
initializeDeleteButtons();
}
项目:junit
文件:TestResultsController.java
public ListBinding<TestRunModel> runsProperty() {
return new ListBinding<TestRunModel>() {
{
super.bind(selectedBatchProperty());
}
@Override
protected ObservableList<TestRunModel> computeValue() {
TestBatchModel selectedBatch = selectedBatchProperty().get();
if (selectedBatch == null) {
return FXCollections.emptyObservableList();
}
return selectedBatchProperty().get().testRunsProperty();
}
};
}
项目:junit
文件:PolicyComposerController.java
public ListBinding<WeightedPolicyModel> weightedPoliciesProperty() {
return new ListBinding<WeightedPolicyModel>() {
{
super.bind(selectedPolicyProperty());
}
@Override
protected ObservableList<WeightedPolicyModel> computeValue() {
CompositePolicyModel selectedPolicy = selectedPolicyProperty().get();
if (selectedPolicy == null) {
return FXCollections.emptyObservableList();
}
return selectedPolicy.weightedPoliciesProperty();
}
};
}
项目:junit
文件:PolicyComposerController.java
public ListBinding<PolicyModel> newWeightedPolicy_policiesProperty() {
return new ListBinding<PolicyModel>() {
{
super.bind(allPoliciesProperty());
super.bind(selectedPolicyProperty());
}
@Override
protected ObservableList<PolicyModel> computeValue() {
ObservableList<PolicyModel> policies = allPoliciesProperty().get();
if (policies == null) return null;
CompositePolicyModel selected = selectedPolicyProperty().get();
if (selected == null) return policies;
// Add allowed policies
ObservableList<PolicyModel> filtered = FXCollections.observableArrayList();
for (PolicyModel policyModel : policies) {
if (selected.getPolicy().canHaveAsTestSortingPolicy(policyModel.getPolicy())) {
filtered.add(policyModel);
}
}
return filtered;
}
};
}
项目:fx-log
文件:ColorizersController.java
private void initializeRulesPane() {
ObservableObjectValue<Colorizer> selectedColorizer = colorizersPane.selectedItemProperty();
selectedColorizerPane.disableProperty().bind(Bindings.isNull(selectedColorizer));
ListBinding<StyleRule> selectedColorizerRules = UIUtils.selectList(selectedColorizer, Colorizer::getRules);
rulesPane.setItemFactory(StyleRule::new);
rulesPane.setItemDuplicator(StyleRule::new);
rulesPane.getList().itemsProperty().bind(selectedColorizerRules);
}
项目:fx-log
文件:ColumnizersController.java
private void initializePatternsPane() {
ReadOnlyObjectProperty<Columnizer> selectedColumnizer = columnizersPane.selectedItemProperty();
selectedColumnizerPane.disableProperty().bind(selectedColumnizer.isNull());
ListBinding<Pattern> patterns = UIUtils.selectList(selectedColumnizer, Columnizer::getPatterns);
Predicate<String> isValidRegex = regex -> createPattern(regex) != null;
patternsPane.setItemFactory(ColumnizersController::createPattern);
patternsPane.setItemDuplicator(p -> p); // not updated anyway
patternsPane.setNewItemValidator(isValidRegex);
patternsPane.getList().setConverter(ColumnizersController::createPattern, Pattern::pattern, isValidRegex);
patternsPane.getList().itemsProperty().bind(patterns);
initializeColumnsTable();
}
项目:myWMS
文件:TreatOrderModel.java
public ListBinding<LOSPickingPosition> getMatchingPicks(ObservableValue<TreatOrderPosition> posProperty) {
return new ListBinding<LOSPickingPosition>() {
{ bind(posProperty); }
@Override
protected ObservableList<LOSPickingPosition> computeValue() {
TreatOrderPosition pos = posProperty.getValue();
if (pos == null) return FXCollections.emptyObservableList();
String posNumber = pos.getNumber();
return pickingPositions.filtered(p -> Strings.equals(p.getCustomerOrderPosition().getNumber(), posNumber));
}
};
}
项目:myWMS
文件:TreatOrderModel.java
public ListBinding<LOSPickingPosition> getPicklistPositions(ObservableValue<LOSPickingOrder> pickValue) {
return new ListBinding<LOSPickingPosition>() {
{ bind(pickValue); }
@Override
protected ObservableList<LOSPickingPosition> computeValue() {
LOSPickingOrder pick = pickValue.getValue();
if (pick == null) return FXCollections.emptyObservableList();
String posNumber = pick.getNumber();
return pickingPositions.filtered(p -> Strings.equals(p.getPickingOrderNumber(), posNumber));
}
};
}
项目:LoliXL
文件:TileManagementPresenter.java
@Override
protected void initializePresenter() {
tilesMapping = new MappedObservableList<>(tileService.getTiles(StackingStatus.SHOWN, StackingStatus.HIDDEN), this::createTile);
tileContainerElements = new ListBinding<Node>() {
ObservableIntegerValue maxShownTiles = tileService.maxShownTilesProperty();
{
bind(tilesMapping, maxShownTiles);
}
@Override
protected ObservableList<Node> computeValue() {
List<Node> elements = new ArrayList<>();
int maxShown = maxShownTiles.get();
if (maxShown > 0 && elements.size() > 0) {
elements.add(view.shownTilesLabel);
}
int i = 0;
for (Tile tile : tilesMapping) {
if (i == maxShown) {
elements.add(view.hiddenTileLabel);
}
elements.add(tile);
i++;
}
return FXCollections.observableList(elements);
}
};
Bindings.bindContent(view.tilesContainer.getChildren(), tileContainerElements);
bindManagementTile();
}
项目:myWMS
文件:LOSResultListProperty.java
public ListBinding<T> wrappedListProperty() {
return wrappedListBinding;
}