@@ -1,15 +1,21 @@
package de.uniluebeck.mi.projmi6.controller;
package de.uniluebeck.mi.projmi6.controller;
import de.uniluebeck.mi.projmi6.db.DBHandler;
import de.uniluebeck.mi.projmi6.model.Station;
import de.uniluebeck.mi.projmi6.model.Station;
import de.uniluebeck.mi.projmi6.model.StationsHistorie;
import de.uniluebeck.mi.projmi6.model.StationsHistorie;
import de.uniluebeck.mi.projmi6.view.DateTimePicker;
import de.uniluebeck.mi.projmi6.view.DateTimePicker;
import javafx.beans.binding.Bindings;
import javafx.beans.property.SimpleObjectProperty;
import javafx.beans.property.SimpleObjectProperty;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.collections.ObservableList;
import javafx.collections.transformation.FilteredList;
import javafx.fxml.FXML;
import javafx.fxml.FXML;
import javafx.scene.control.*;
import javafx.scene.control.*;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.control.cell.PropertyValueFactory;
import java.time.LocalDate;
import java.time.LocalDate;
import java.util.List;
import java.util.stream.Collectors;
/**
/**
* Created by 631806 on 12.11.15.
* Created by 631806 on 12.11.15.
@@ -33,7 +39,7 @@ public class StationsHistorieController {
private Label statHistCreator, statHistCreateTime, statHistEditor, statHistEditTime;
private Label statHistCreator, statHistCreateTime, statHistEditor, statHistEditTime;
@FXML
@FXML
private TableColumn<StationsHistorie,String>colStatHistAbteilung, colStatHistStation;
private TableColumn<StationsHistorie,String> colStatHistStation;
@FXML
@FXML
private TableColumn<StationsHistorie,LocalDate> colStatHistAufnahmeDatum, colStatHistEntlassungsDatum;
private TableColumn<StationsHistorie,LocalDate> colStatHistAufnahmeDatum, colStatHistEntlassungsDatum;
@@ -45,19 +51,44 @@ public class StationsHistorieController {
private ComboBox<Station> cmbStation;
private ComboBox<Station> cmbStation;
@FXML
@FXML
private ComboBox<? > cmbAbteilung;
private ComboBox<String > cmbAbteilung;
public StationsHistorieController(MainController mainController){
public StationsHistorieController(MainController mainController){
this.mainController = mainController;
this.mainController = mainController;
}
}
public void setStationsHistorie(ObservableList<StationsHistorie> stationsHistorie) {
this.stationsHistorie.set(stationsHistorie);
}
private SimpleObjectProperty<ObservableList<StationsHistorie>> stationsHistorie =
new SimpleObjectProperty<>();
@FXML
@FXML
private void initialize() {
private void initialize() {
initColumns();
List<String> abteilungen = mainController.getStammdaten().getStationen().stream()
.map(stat->stat.getAbteilung()).distinct().collect(Collectors.toList());
cmbAbteilung.setItems(FXCollections.observableArrayList(abteilungen));
FilteredList<Station> stationenFiltered = new FilteredList<Station>(mainController.getStammdaten().getStationen());
stationenFiltered.predicateProperty().bind(Bindings.createObjectBinding(() -> {
return p -> p.getAbteilung().equals(cmbAbteilung.getValue());
},cmbAbteilung.valueProperty()));
cmbStation.setItems(mainController.getStammdaten().getStationen());
cmbStation.setItems(mainController.getStammdaten().getStationen());
tblStationsHistorie.itemsProperty().bind(stationsHistorie);
tblStationsHistorie.getSelectionModel().selectedItemProperty().addListener((observableValue, oldValue, newValue) -> {
tblStationsHistorie.getSelectionModel().selectedItemProperty().addListener((observableValue, oldValue, newValue) -> {
setStationsHistorieSelected(newValue);
setStationsHistorieSelected(newValue);
});
});
}
}
@@ -91,7 +122,6 @@ public class StationsHistorieController {
this.stationsHistorie.set(stationsHistorie);
this.stationsHistorie.set(stationsHistorie);
}
}
private SimpleObjectProperty<ObservableList<StationsHistorie>> stationsHistorie = new SimpleObjectProperty<>();
public void setStationsHistorieSelected(StationsHistorie stationsHistorie){
public void setStationsHistorieSelected(StationsHistorie stationsHistorie){
@@ -105,7 +135,7 @@ public class StationsHistorieController {
private void initColumns(){
private void initColumns(){
//colStatHistAbteilung.setCellValueFactory( );
// colStatHistStation.setCellValueFactory(new PropertyValueFactory<StationsHistorie, String>() );
colStatHistAufnahmeDatum.setCellValueFactory(new PropertyValueFactory<StationsHistorie, LocalDate>("aufnahmeDatum"));
colStatHistAufnahmeDatum.setCellValueFactory(new PropertyValueFactory<StationsHistorie, LocalDate>("aufnahmeDatum"));
colStatHistEntlassungsDatum.setCellValueFactory(new PropertyValueFactory<StationsHistorie, LocalDate>("entlassungsDatum"));
colStatHistEntlassungsDatum.setCellValueFactory(new PropertyValueFactory<StationsHistorie, LocalDate>("entlassungsDatum"));
//colStatHistStation.setCellValueFactory(new PropertyValueFactory<StationsHistorie, LocalDate>());
//colStatHistStation.setCellValueFactory(new PropertyValueFactory<StationsHistorie, LocalDate>());
@@ -114,6 +144,10 @@ public class StationsHistorieController {
private void copyStationsHistorieDataIntoFields(){
private void copyStationsHistorieDataIntoFields(){
if(stationsHistorieSelected==null){
return;
}
//TODO cmbStation.setValue
//TODO cmbStation.setValue
dtTmAufnahme.setDateTime(stationsHistorieSelected.getAufnahmeDatum());
dtTmAufnahme.setDateTime(stationsHistorieSelected.getAufnahmeDatum());