@Override public void buildFrom(IEmaginController controller, VLViewComponentXML configuration) { this.configuration = configuration; this.controller = (AbstractViewController) controller; NodeHelper.loadFXML(getFxmlLocation(), this); filterTextField.managedProperty().bind(filterTextField.visibleProperty()); filterTextField.setVisible(false); filterTextField.setPromptText("Find in table"); if (configuration != null) { NodeHelper.setTitle(title, configuration, (AbstractViewController) controller, true); NodeHelper.styleClassSetAll(title, configuration, "titleStyleClass", "ep-edit-structure-title-label"); NodeHelper.styleClassAddAll(tableHeaderRootPane, configuration, "styleClass"); title.visibleProperty().bind(Bindings.isNotEmpty(title.textProperty())); elementsCountProperty().addListener((ChangeListener<Number>) (observable, oldValue, newValue) -> { if (newValue.intValue() > 0) { itemsCount.textProperty().set(""); } else { itemsCount.textProperty().set(String.format(dynMessageFormat, newValue.intValue())); } }); ((FullTableStructureController) controller).processedElementProperty().addListener((ChangeListener<Object>) (observable, oldValue, newValue) -> { final AbstractTableStructure ts = (AbstractTableStructure) ((FullTableStructureController) controller).processedElementProperty().get(); doLayout(ts); buildFiltering(ts); }); } }
/** * {@inheritDoc} */ @Override public void buildFrom(IEmaginController controller, VLViewComponentXML configuration) { this.configuration = configuration; this.controller = (AbstractViewController) controller; loadFXML(); NodeHelper.styleClassAddAll(tableHeaderRootPane, configuration, "styleClass"); NodeHelper.setTitle(headerTitle, configuration, (AbstractViewController) controller, true); NodeHelper.styleClassSetAll(headerTitle, configuration, "titleStyleClass", "ep-table-title-label"); NodeHelper.styleClassAddAll(titleContainer, configuration, "titleContainerStyleClass"); filterTextField.managedProperty().bind(filterTextField.visibleProperty()); filterTextField.setPromptText("Find in table"); boolean filtrable = configuration.getBooleanProperty("filtrable", true); filterTextField.setVisible(filtrable); ((FullTableStructureController) controller).processedElementProperty().addListener((ChangeListener<Object>) (observable, oldValue, newValue) -> { AbstractTableStructure ts = (AbstractTableStructure) ((FullTableStructureController) controller).processedElementProperty().get(); if (ts.getToolbar().isPresent()) { Node tb = ts.getToolbar().get(); HBox.setHgrow(tb, Priority.NEVER); actionsContainer.getChildren().add(tb); } }); setRootModel(); headerTitle.managedProperty().bind(headerTitle.visibleProperty()); headerTitle.visibleProperty().bind(Bindings.size(titleContainer.getChildren()).isEqualTo(0)); titleContainer.visibleProperty().bind(Bindings.size(titleContainer.getChildren()).greaterThan(0)); titleContainer.managedProperty().bind(titleContainer.visibleProperty()); }
searchField.setMinWidth(0); HBox.setHgrow(searchField, Priority.SOMETIMES); searchField.managedProperty().bind(searchField.visibleProperty()); toolbar.getItems().add(searchField);
/** * {@inheritDoc} */ @Override public void setupBindings() { super.setupBindings(); editableArea.visibleProperty().bind(Bindings.and(field.editableProperty(), field.multilineProperty())); editableField.visibleProperty().bind(Bindings.and(field.editableProperty(), field.multilineProperty().not())); readOnlyLabel.visibleProperty().bind(field.editableProperty().not()); editableField.textProperty().bindBidirectional(field.userInputProperty()); editableArea.textProperty().bindBidirectional(field.userInputProperty()); readOnlyLabel.textProperty().bind(field.userInputProperty()); fieldLabel.textProperty().bind(field.labelProperty()); editableField.promptTextProperty().bind(field.placeholderProperty()); editableArea.promptTextProperty().bind(field.placeholderProperty()); editableArea.managedProperty().bind(editableArea.visibleProperty()); editableField.managedProperty().bind(editableField.visibleProperty()); }