|
|
|
@@ -12,6 +12,7 @@ import javafx.fxml.FXML; |
|
|
|
import javafx.scene.control.*; |
|
|
|
import javafx.util.Callback; |
|
|
|
|
|
|
|
import javax.swing.*; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Set; |
|
|
|
@@ -92,8 +93,6 @@ public class MainController { |
|
|
|
return stammdaten; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public Callback<Class<?>, Object> getControllerFactory(){ |
|
|
|
return controllerFactory; |
|
|
|
} |
|
|
|
@@ -137,7 +136,12 @@ public class MainController { |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@FXML |
|
|
|
private Label lvFallPlaceholder; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private Task<List<Fall>> loadFallTask = null; |
|
|
|
|
|
|
|
|
|
|
|
@FXML |
|
|
|
@@ -149,22 +153,61 @@ public class MainController { |
|
|
|
|
|
|
|
|
|
|
|
patientTablesController.selectedPatientProperty().addListener((observableValue,oldValue,newValue)-> { |
|
|
|
if(newValue==null){ |
|
|
|
lvFall.setItems(FXCollections.emptyObservableList()); |
|
|
|
lvFall.setItems(null); //clear list |
|
|
|
|
|
|
|
if(newValue==null){ // If no patient is selected |
|
|
|
lvFallPlaceholder.setText("Kein Patient ausgew\u00e4hlt!"); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
try { |
|
|
|
List<Fall> faelle = DBHandler.getFaelleByPatID(newValue.getPatID()); |
|
|
|
System.out.println(faelle); |
|
|
|
System.out.println("Liste der Faelle hat "+ faelle.size()+ " Eintrage "); |
|
|
|
lvFall.setItems(FXCollections.observableArrayList(faelle)); |
|
|
|
}catch (Exception e){ |
|
|
|
e.printStackTrace(); |
|
|
|
if(loadFallTask!=null && loadFallTask.isRunning()){ |
|
|
|
loadFallTask.cancel(); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
loadFallTask = new Task<List<Fall>>() { |
|
|
|
@Override |
|
|
|
protected List<Fall> call() throws Exception { |
|
|
|
return DBHandler.getFaelleByPatID(newValue.getPatID()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
protected void succeeded() { |
|
|
|
super.succeeded(); |
|
|
|
if(isCancelled()){ |
|
|
|
System.out.println("Task wurde gecancelt"); |
|
|
|
return; |
|
|
|
} |
|
|
|
lvFallPlaceholder.setText("Keine F\u00e4lle vorhanden!"); |
|
|
|
lvFall.setItems(FXCollections.observableArrayList(getValue())); |
|
|
|
decreaseParallelTaskCount(); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
protected void cancelled() { |
|
|
|
super.cancelled(); |
|
|
|
decreaseParallelTaskCount(); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
protected void failed() { |
|
|
|
super.failed(); |
|
|
|
lvFallPlaceholder.setText("Laden fehlgeschlagen!"); |
|
|
|
lvFall.setItems(null); |
|
|
|
decreaseParallelTaskCount(); |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
lvFallPlaceholder.setText("Liste wird geladen..."); |
|
|
|
increaseParallelTaskCount(); |
|
|
|
Thread thread = new Thread(loadFallTask); |
|
|
|
thread.setDaemon(true); |
|
|
|
thread.start(); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fallController.fallPropertyProperty().bind(lvFall.getSelectionModel().selectedItemProperty()); |
|
|
|
|
|
|
|
lvFall.getSelectionModel().setSelectionMode(SelectionMode.SINGLE); |
|
|
|
|