64 lines
2.0 KiB
Java
64 lines
2.0 KiB
Java
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;
|
|
import javafx.event.Event;
|
|
import javafx.fxml.FXML;
|
|
import javafx.fxml.Initializable;
|
|
import javafx.scene.Node;
|
|
import javafx.scene.control.TextField;
|
|
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;
|
|
|
|
@FXML
|
|
private TextField personName;
|
|
|
|
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();
|
|
this.personName.setText(person.getName());
|
|
}
|
|
|
|
public void updatePersonName(Event event) {
|
|
this.person.setName(this.personName.getText());
|
|
|
|
PersonDAO.getInstance().update(person);
|
|
}
|
|
|
|
public void showPhotosForPerson(Event event) {
|
|
this.mainPageController.showPhotosForPerson(this.person);
|
|
}
|
|
|
|
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);
|
|
}
|
|
}
|
|
}
|