package com.megatim.fdxgenerator.forms;
|
|
import com.megatimfx.common.annontations.Champ;
|
import com.megatim.fdxgenerator.App;
|
import static com.megatim.fdxgenerator.App.FORMATS_DATE;
|
import com.megatim.fdxgenerator.enums.TypeDonnee;
|
import com.megatim.fdxgenerator.pojo.Delimiteur;
|
import java.net.URL;
|
import java.util.ResourceBundle;
|
import javafx.collections.FXCollections;
|
import javafx.collections.ObservableList;
|
import javafx.fxml.FXML;
|
import javafx.fxml.Initializable;
|
import javafx.scene.control.ComboBox;
|
import javafx.scene.control.TextField;
|
|
public class StructureLigneEditFormController implements Initializable {
|
|
private ObservableList<Integer> list = FXCollections.observableArrayList();
|
|
// @FXML
|
// private VBox formFieldContainer;
|
//
|
// @FXML
|
// private HBox dateFormatContainer;
|
|
@FXML
|
@Champ(mappedBy = "position", type = Integer.class)
|
private ComboBox<Integer> positionComboBox;
|
|
@FXML
|
@Champ(mappedBy = "typeDonnee", type = TypeDonnee.class)
|
private ComboBox<TypeDonnee> typeDonneeComboBox;
|
|
@FXML
|
@Champ(mappedBy = "code", type = String.class)
|
private TextField codeTextField;
|
|
@FXML
|
@Champ(mappedBy = "designation", type = String.class)
|
private TextField designationTextField;
|
|
@FXML
|
@Champ(mappedBy = "taille", type = Integer.class)
|
private TextField tailleTextField;
|
|
@FXML
|
@Champ(mappedBy = "taillePartieDecimal", type = Integer.class)
|
private TextField taillePartieDecimalTextField;
|
|
@FXML
|
@Champ(mappedBy = "formatDate", type = String.class)
|
private ComboBox<String> formatDateComboBox;
|
|
@FXML
|
@Champ(mappedBy = "delimiteurDate",type = Delimiteur.class)
|
private ComboBox<Delimiteur> delimiteurDateComboBox;
|
|
@FXML
|
@Champ(mappedBy = "delimiteurDecimal",type = Delimiteur.class)
|
private ComboBox<Delimiteur> delimiteurDecimalComboBox;
|
|
private Integer initialUpdateSelection;
|
|
@Override
|
public void initialize(URL url, ResourceBundle rb) {
|
|
formatDateComboBox.setDisable(true);
|
formatDateComboBox.setPromptText("Sélectionnez un élément dans la liste");
|
formatDateComboBox.setItems(FXCollections.observableArrayList(
|
FORMATS_DATE
|
));
|
|
delimiteurDateComboBox.setDisable(true);
|
delimiteurDateComboBox.setPromptText("Sélectionnez un élément dans la liste");
|
delimiteurDateComboBox.setItems(FXCollections.observableArrayList(
|
App.SEPARATEURS_DATE.values()
|
));
|
|
taillePartieDecimalTextField.setDisable(true);
|
|
delimiteurDecimalComboBox.setDisable(true);
|
delimiteurDecimalComboBox.setPromptText("Sélectionnez un élément dans la liste");
|
delimiteurDecimalComboBox.setItems(FXCollections.observableArrayList(
|
App.SEPARATEURS_DECIMAUX.values()
|
));
|
|
positionComboBox.setItems(list);
|
typeDonneeComboBox.setItems(FXCollections.observableArrayList(TypeDonnee.values()));
|
typeDonneeComboBox.getSelectionModel().selectFirst();
|
|
tailleTextField.textProperty().addListener((observable, oldValue, newValue) -> {
|
if (!newValue.matches("\\d*")) {
|
tailleTextField.setText(oldValue);
|
}
|
});
|
|
typeDonneeComboBox.setOnAction(event -> {
|
|
if (typeDonneeComboBox.getValue().equals(TypeDonnee.DATE)) {
|
formatDateComboBox.setDisable(false);
|
delimiteurDateComboBox.setDisable(false);
|
} else {
|
formatDateComboBox.setDisable(true);
|
delimiteurDateComboBox.setDisable(true);
|
}
|
|
if (typeDonneeComboBox.getValue().equals(TypeDonnee.DECIMAL)) {
|
taillePartieDecimalTextField.setDisable(false);
|
delimiteurDecimalComboBox.setDisable(false);
|
} else {
|
taillePartieDecimalTextField.setDisable(true);
|
delimiteurDecimalComboBox.setDisable(true);
|
}
|
|
});
|
|
}
|
|
public void populatePositionComboBox(int positionNumber) {
|
list.clear();
|
for (int i = 1; i <= positionNumber; i++) {
|
list.add(i);
|
}
|
|
}
|
|
public ComboBox getFormatDateComboBox() {
|
return formatDateComboBox;
|
}
|
|
public ComboBox<TypeDonnee> getTypeDonneeComboBox() {
|
return typeDonneeComboBox;
|
}
|
|
public ObservableList<Integer> getList() {
|
return list;
|
}
|
|
public ComboBox<Integer> getPositionComboBox() {
|
return positionComboBox;
|
}
|
|
public void setInitialUpateSelection() {
|
|
initialUpdateSelection = positionComboBox.getSelectionModel().getSelectedItem();
|
|
}
|
|
public Integer getInitialUpdateSelection() {
|
return initialUpdateSelection;
|
}
|
|
public ComboBox<Delimiteur> getDelimiteurDateComboBox() {
|
return delimiteurDateComboBox;
|
}
|
|
public ComboBox<Delimiteur> getDelimiteurDecimalComboBox() {
|
return delimiteurDecimalComboBox;
|
}
|
|
}
|