Kuljetuslistan luonnissa ruokien määrän valitsin vaihdettu parempaan -> niin paljon ruokaa kuin jaksaa kantaa!

Signed-off-by: laurimaaninka <lauri.maaninka@gmail.com>
This commit was merged in pull request #7.
This commit is contained in:
2026-05-08 17:26:51 +03:00
parent da998cc15c
commit 7607a1f3a9
6 changed files with 38 additions and 10 deletions
@@ -3,7 +3,8 @@ package fi.lpam.ruokamanageri.gui;
import fi.lpam.ruokamanageri.dataluokat.Asiakas; import fi.lpam.ruokamanageri.dataluokat.Asiakas;
import fi.lpam.ruokamanageri.dataluokat.Kierros; import fi.lpam.ruokamanageri.dataluokat.Kierros;
import fi.lpam.ruokamanageri.dataluokat.Kuljetus; import fi.lpam.ruokamanageri.dataluokat.Kuljetus;
import fi.lpam.ruokamanageri.gui.elementit.KuljetaTableCell; import fi.lpam.ruokamanageri.gui.elementit.tableCell.IntegerFieldTableCellFactory;
import fi.lpam.ruokamanageri.gui.elementit.tableCell.KuljetaTableCell;
import fi.lpam.ruokamanageri.tulostajat.KuljetusListaTulostaja; import fi.lpam.ruokamanageri.tulostajat.KuljetusListaTulostaja;
import fi.lpam.ruokamanageri.gui.elementit.MaaraTableColumn; import fi.lpam.ruokamanageri.gui.elementit.MaaraTableColumn;
import fi.lpam.ruokamanageri.gui.elementit.TabPohja; import fi.lpam.ruokamanageri.gui.elementit.TabPohja;
@@ -13,7 +14,6 @@ import javafx.collections.FXCollections;
import javafx.collections.ObservableList; import javafx.collections.ObservableList;
import javafx.geometry.Pos; import javafx.geometry.Pos;
import javafx.scene.control.*; import javafx.scene.control.*;
import javafx.scene.control.cell.ChoiceBoxTableCell;
import javafx.scene.control.cell.PropertyValueFactory; import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.control.cell.TextFieldTableCell; import javafx.scene.control.cell.TextFieldTableCell;
import javafx.scene.layout.BorderPane; import javafx.scene.layout.BorderPane;
@@ -109,17 +109,17 @@ public class KuljetusListat extends TabPohja {
tcOsoite.setOnEditCommit((TableColumn.CellEditEvent<Kuljetus, String> event) -> {event.getTableView().getItems().get(event.getTablePosition().getRow()).setOsoite(event.getNewValue()); tallennusStatus.setText("Tallennettu: Ei");}); tcOsoite.setOnEditCommit((TableColumn.CellEditEvent<Kuljetus, String> event) -> {event.getTableView().getItems().get(event.getTablePosition().getRow()).setOsoite(event.getNewValue()); tallennusStatus.setText("Tallennettu: Ei");});
TableColumn<Kuljetus, Integer> tcSalaatit = new MaaraTableColumn<>("Salaatit", 100); TableColumn<Kuljetus, Integer> tcSalaatit = new MaaraTableColumn<>("Salaatit", 100);
tcSalaatit.setCellFactory(ChoiceBoxTableCell.forTableColumn(määräVaihtoehdot)); tcSalaatit.setCellFactory(new IntegerFieldTableCellFactory<>());
tcSalaatit.setCellValueFactory(new PropertyValueFactory<>("salaatit")); tcSalaatit.setCellValueFactory(new PropertyValueFactory<>("salaatit"));
tcSalaatit.setOnEditCommit((TableColumn.CellEditEvent<Kuljetus, Integer> event) -> {event.getTableView().getItems().get(event.getTablePosition().getRow()).setSalaatit(event.getNewValue()); tallennusStatus.setText("Tallennettu: Ei");}); tcSalaatit.setOnEditCommit((TableColumn.CellEditEvent<Kuljetus, Integer> event) -> {event.getTableView().getItems().get(event.getTablePosition().getRow()).setSalaatit(event.getNewValue()); tallennusStatus.setText("Tallennettu: Ei");});
TableColumn<Kuljetus, Integer> tcPääruoat = new MaaraTableColumn<>("Pääruoat", 100); TableColumn<Kuljetus, Integer> tcPääruoat = new MaaraTableColumn<>("Pääruoat", 100);
tcPääruoat.setCellFactory(ChoiceBoxTableCell.forTableColumn(määräVaihtoehdot)); tcPääruoat.setCellFactory(new IntegerFieldTableCellFactory<>());
tcPääruoat.setCellValueFactory(new PropertyValueFactory<>("pääruoat")); tcPääruoat.setCellValueFactory(new PropertyValueFactory<>("pääruoat"));
tcPääruoat.setOnEditCommit((TableColumn.CellEditEvent<Kuljetus, Integer> event) -> {event.getTableView().getItems().get(event.getTablePosition().getRow()).setPääruoat(event.getNewValue()); tallennusStatus.setText("Tallennettu: Ei");}); tcPääruoat.setOnEditCommit((TableColumn.CellEditEvent<Kuljetus, Integer> event) -> {event.getTableView().getItems().get(event.getTablePosition().getRow()).setPääruoat(event.getNewValue()); tallennusStatus.setText("Tallennettu: Ei");});
TableColumn<Kuljetus, Integer> tcJälkiruoat = new MaaraTableColumn<>("Jälkiruoat", 100); TableColumn<Kuljetus, Integer> tcJälkiruoat = new MaaraTableColumn<>("Jälkiruoat", 100);
tcJälkiruoat.setCellFactory(ChoiceBoxTableCell.forTableColumn(määräVaihtoehdot)); tcJälkiruoat.setCellFactory(new IntegerFieldTableCellFactory<>());
tcJälkiruoat.setCellValueFactory(new PropertyValueFactory<>("jälkiruoat")); tcJälkiruoat.setCellValueFactory(new PropertyValueFactory<>("jälkiruoat"));
tcJälkiruoat.setOnEditCommit((TableColumn.CellEditEvent<Kuljetus, Integer> event) -> {event.getTableView().getItems().get(event.getTablePosition().getRow()).setJälkiruoat(event.getNewValue()); tallennusStatus.setText("Tallennettu: Ei");}); tcJälkiruoat.setOnEditCommit((TableColumn.CellEditEvent<Kuljetus, Integer> event) -> {event.getTableView().getItems().get(event.getTablePosition().getRow()).setJälkiruoat(event.getNewValue()); tallennusStatus.setText("Tallennettu: Ei");});
@@ -2,7 +2,7 @@ package fi.lpam.ruokamanageri.gui;
import fi.lpam.ruokamanageri.dataluokat.RaporttiRivi; import fi.lpam.ruokamanageri.dataluokat.RaporttiRivi;
import fi.lpam.ruokamanageri.tulostajat.KuljetusRaporttiTulostaja; import fi.lpam.ruokamanageri.tulostajat.KuljetusRaporttiTulostaja;
import fi.lpam.ruokamanageri.gui.elementit.PaivamaaraTableCell; import fi.lpam.ruokamanageri.gui.elementit.tableCell.PaivamaaraTableCell;
import fi.lpam.ruokamanageri.gui.elementit.TabPohja; import fi.lpam.ruokamanageri.gui.elementit.TabPohja;
import javafx.collections.FXCollections; import javafx.collections.FXCollections;
import javafx.geometry.Pos; import javafx.geometry.Pos;
@@ -1,8 +1,6 @@
package fi.lpam.ruokamanageri.gui.elementit; package fi.lpam.ruokamanageri.gui.elementit;
import javafx.scene.control.TableCell;
import javafx.scene.control.TableColumn; import javafx.scene.control.TableColumn;
import javafx.util.Callback;
public class MaaraTableColumn<Asiakas, Integer> extends TableColumn<Asiakas, Integer> { public class MaaraTableColumn<Asiakas, Integer> extends TableColumn<Asiakas, Integer> {
public MaaraTableColumn(String columnLabel, int width) { public MaaraTableColumn(String columnLabel, int width) {
@@ -0,0 +1,30 @@
package fi.lpam.ruokamanageri.gui.elementit.tableCell;
import javafx.scene.control.TableCell;
import javafx.scene.control.TableColumn;
import javafx.scene.control.cell.TextFieldTableCell;
import javafx.scene.input.KeyEvent;
import javafx.util.Callback;
import javafx.util.converter.IntegerStringConverter;
public class IntegerFieldTableCellFactory<T> implements Callback<TableColumn<T, Integer>, TableCell<T, Integer>> {
@Override
public TableCell<T, Integer> call(TableColumn<T, Integer> param ) {
return new TextFieldTableCell<>(new IntegerStringConverter()) {
private boolean filterSet = false;
@Override
public void startEdit() {
super.startEdit();
if (!filterSet) {
getGraphic().addEventFilter(KeyEvent.KEY_TYPED, KE -> {
if (!"0123456789".contains(KE.getCharacter())) {
KE.consume();
}
});
filterSet = true;
}
}
};
}
}
@@ -1,4 +1,4 @@
package fi.lpam.ruokamanageri.gui.elementit; package fi.lpam.ruokamanageri.gui.elementit.tableCell;
import fi.lpam.ruokamanageri.dataluokat.Asiakas; import fi.lpam.ruokamanageri.dataluokat.Asiakas;
import fi.lpam.ruokamanageri.dataluokat.Kuljetus; import fi.lpam.ruokamanageri.dataluokat.Kuljetus;
@@ -1,4 +1,4 @@
package fi.lpam.ruokamanageri.gui.elementit; package fi.lpam.ruokamanageri.gui.elementit.tableCell;
import fi.lpam.ruokamanageri.dataluokat.RaporttiRivi; import fi.lpam.ruokamanageri.dataluokat.RaporttiRivi;
import javafx.scene.control.TableCell; import javafx.scene.control.TableCell;