FFM-Friend_Face_Matching/src/main/java/dev/mateuszkowalczyk/ffm/view/workspace/elements/FaceContainerController.java

64 lines
2.0 KiB
Java
Raw Normal View History

2020-01-30 23:50:14 +01:00
package dev.mateuszkowalczyk.ffm.view.workspace.elements;
import dev.mateuszkowalczyk.ffm.app.exception.NotFoundException;
import dev.mateuszkowalczyk.ffm.app.face.FaceWorkspace;
import dev.mateuszkowalczyk.ffm.data.database.person.Person;
import dev.mateuszkowalczyk.ffm.data.database.person.PersonDAO;
import dev.mateuszkowalczyk.ffm.view.workspace.MainPageController;
2020-01-31 22:38:26 +01:00
import javafx.event.Event;
2020-01-30 23:50:14 +01:00
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.Node;
2020-01-31 22:38:26 +01:00
import javafx.scene.control.TextField;
2020-01-30 23:50:14 +01:00
import javafx.scene.layout.FlowPane;
import java.net.URL;
import java.util.ResourceBundle;
public class FaceContainerController implements Initializable {
private MainPageController mainPageController;
private Person person;
@FXML
private FlowPane facesContainer;
2020-01-31 22:38:26 +01:00
@FXML
private TextField personName;
2020-01-30 23:50:14 +01:00
public FaceContainerController(MainPageController mainPageController, Person person) {
this.mainPageController = mainPageController;
this.person = person;
System.out.println("read face container");
}
public void addFacePane(Node node) {
this.facesContainer.getChildren().add(node);
}
@Override
public void initialize(URL url, ResourceBundle resourceBundle) {
this.refresh();
2020-01-31 22:38:26 +01:00
this.personName.setText(person.getName());
}
public void updatePersonName(Event event) {
this.person.setName(this.personName.getText());
PersonDAO.getInstance().update(person);
2020-01-30 23:50:14 +01:00
}
public void showPhotosForPerson(Event event) {
this.mainPageController.showPhotosForPerson(this.person);
}
2020-01-30 23:50:14 +01:00
public void refresh() {
this.facesContainer.getChildren().clear();
try {
FaceWorkspace.getInstance().loadFacesForPerson(mainPageController, this, person);
} catch (NotFoundException e) {
PersonDAO.getInstance().delete(person);
this.mainPageController.setElement(ElementsEnum.PeopleContainer);
}
}
}