6455fa453c
Signed-off-by: laurimaaninka <lauri.maaninka@gmail.com>
46 lines
1.5 KiB
Java
46 lines
1.5 KiB
Java
package fi.lpam.ruokamanageri.gui.elementit;
|
|
|
|
import fi.lpam.ruokamanageri.dataluokat.Asiakas;
|
|
import fi.lpam.ruokamanageri.dataluokat.Kuljetus;
|
|
import fi.lpam.ruokamanageri.gui.KuljetusListat;
|
|
import javafx.geometry.Insets;
|
|
import javafx.scene.control.Button;
|
|
import javafx.scene.control.ContentDisplay;
|
|
import javafx.scene.control.TableCell;
|
|
import javafx.scene.layout.StackPane;
|
|
|
|
import java.util.HashMap;
|
|
|
|
public class KuljetaTableCell extends TableCell<Kuljetus, Boolean> {
|
|
private final StackPane paddedNappi = new StackPane();
|
|
|
|
public KuljetaTableCell(HashMap<Integer, Asiakas> asiakkaat) {
|
|
paddedNappi.setPadding(new Insets(3));
|
|
Button nappi = new Button("Muuta");
|
|
paddedNappi.getChildren().add(nappi);
|
|
nappi.setOnMouseClicked(_ -> {
|
|
getTableView().getSelectionModel().select(getIndex());
|
|
Kuljetus kuljetus = getTableRow().getItem();
|
|
|
|
if (kuljetus == null) return;
|
|
if (kuljetus.kuljetetaan()) {
|
|
kuljetus.nollaa();
|
|
} else {
|
|
kuljetus.palautaMäärät(asiakkaat.get(kuljetus.getAsiakasID()));
|
|
}
|
|
getTableRow().setItem(new Kuljetus(kuljetus));
|
|
KuljetusListat.tallennusStatus.setText("Tallennettu: Ei");
|
|
});
|
|
}
|
|
|
|
@Override protected void updateItem(Boolean item, boolean empty) {
|
|
super.updateItem(item, empty);
|
|
if (!empty) {
|
|
setContentDisplay(ContentDisplay.GRAPHIC_ONLY);
|
|
setGraphic(paddedNappi);
|
|
} else {
|
|
setGraphic(null);
|
|
}
|
|
}
|
|
}
|