#16 asetukset välilehti #20

Merged
laurimaaninka merged 10 commits from asetukset into master 2026-05-14 23:30:54 +03:00
7 changed files with 48 additions and 38 deletions
Showing only changes of commit 6284ac0663 - Show all commits
+1 -6
View File
@@ -37,10 +37,6 @@ public class Asetukset extends TabPohja {
root.setLeft(getFonttiAsetukset()); root.setLeft(getFonttiAsetukset());
Label asetukset = new Label("Asetukset");
asetukset.setFont(tekstiFont);
root.setRight(asetukset);
this.getChildren().add(root); this.getChildren().add(root);
} }
@@ -112,7 +108,6 @@ public class Asetukset extends TabPohja {
} }
private void palautaOletukset() { private void palautaOletukset() {
//TODO
} }
} }
@@ -1,5 +1,6 @@
package fi.lpam.gui; package fi.lpam.gui;
import fi.lpam.Main;
import fi.lpam.dataluokat.Asiakas; import fi.lpam.dataluokat.Asiakas;
import fi.lpam.gui.elementit.MaaraTableColumn; import fi.lpam.gui.elementit.MaaraTableColumn;
import fi.lpam.gui.elementit.TabPohja; import fi.lpam.gui.elementit.TabPohja;
@@ -36,7 +37,7 @@ public class Asiakashallinta extends TabPohja {
yläpalkki.setLeft(otsikko); yläpalkki.setLeft(otsikko);
HBox yläpalkinNapit = new HBox(); HBox yläpalkinNapit = new HBox();
yläpalkinNapit.setSpacing(5); yläpalkinNapit.setSpacing(Double.parseDouble(Main.properties.getProperty("insets")));
yläpalkinNapit.setPadding(oletusInsets); yläpalkinNapit.setPadding(oletusInsets);
yläpalkki.setRight(yläpalkinNapit); yläpalkki.setRight(yläpalkinNapit);
@@ -118,25 +119,18 @@ public class Asiakashallinta extends TabPohja {
tcKuljetusmäärät.getColumns().addAll(tcSalaatit, tcPääruoat, tcJälkiruoat); tcKuljetusmäärät.getColumns().addAll(tcSalaatit, tcPääruoat, tcJälkiruoat);
TableColumn<Asiakas, String> tcErityisruokavalio = new TableColumn<>("Ruokarajoitteet"); TableColumn<Asiakas, String> tcErityisruokavalio = new TableColumn<>("Ruokarajoitteet");
// tcErityisruokavalio.setMinWidth(150);
tcErityisruokavalio.setCellValueFactory(new PropertyValueFactory<>("erityisruokavalio")); tcErityisruokavalio.setCellValueFactory(new PropertyValueFactory<>("erityisruokavalio"));
TableColumn<Asiakas, String> tcAvainTieto = new TableColumn<>("Avaintieto"); TableColumn<Asiakas, String> tcAvainTieto = new TableColumn<>("Avaintieto");
// tcAvainTieto.setMinWidth(150);
tcAvainTieto.setCellValueFactory(new PropertyValueFactory<>("avainTieto")); tcAvainTieto.setCellValueFactory(new PropertyValueFactory<>("avainTieto"));
TableColumn<Asiakas, String> tcLisätiedot = new TableColumn<>("Lisätieto kuljetukselle"); TableColumn<Asiakas, String> tcLisätiedot = new TableColumn<>("Lisätieto kuljetukselle");
// tcLisätiedot.setMinWidth(250);
tcLisätiedot.setCellValueFactory(new PropertyValueFactory<>("lisätiedot")); tcLisätiedot.setCellValueFactory(new PropertyValueFactory<>("lisätiedot"));
TableColumn<Asiakas, String> tcYhteyshenkilönNimi = new TableColumn<>("Yhteyshenkilö"); TableColumn<Asiakas, String> tcYhteyshenkilönNimi = new TableColumn<>("Yhteyshenkilö");
// tcYhteyshenkilönNimi.setMinWidth(250);
tcYhteyshenkilönNimi.setCellValueFactory(new PropertyValueFactory<>("yhteyshenkilönNimi")); tcYhteyshenkilönNimi.setCellValueFactory(new PropertyValueFactory<>("yhteyshenkilönNimi"));
TableColumn<Asiakas, String> tcLaskutusOsoite = new TableColumn<>("Laskutusosoite"); TableColumn<Asiakas, String> tcLaskutusOsoite = new TableColumn<>("Laskutusosoite");
// tcLaskutusOsoite.setMinWidth(250);
tcLaskutusOsoite.setCellValueFactory(new PropertyValueFactory<>("laskutusOsoite")); tcLaskutusOsoite.setCellValueFactory(new PropertyValueFactory<>("laskutusOsoite"));
TableColumn<Asiakas, String> tcYhteyshenkilönPuhelinnumero = new TableColumn<>("Yhteyshenkilön puhelinnumero"); TableColumn<Asiakas, String> tcYhteyshenkilönPuhelinnumero = new TableColumn<>("Yhteyshenkilön puhelinnumero");
// tcYhteyshenkilönPuhelinnumero.setMinWidth(250);
tcYhteyshenkilönPuhelinnumero.setCellValueFactory(new PropertyValueFactory<>("yhteyshenkilönPuhelinnumero")); tcYhteyshenkilönPuhelinnumero.setCellValueFactory(new PropertyValueFactory<>("yhteyshenkilönPuhelinnumero"));
TableColumn<Asiakas, String> tcYhteyshenkilönSähköposti = new TableColumn<>("Yhteyshenkilön sähköposti"); TableColumn<Asiakas, String> tcYhteyshenkilönSähköposti = new TableColumn<>("Yhteyshenkilön sähköposti");
// tcYhteyshenkilönSähköposti.setMinWidth(250);
tcYhteyshenkilönSähköposti.setCellValueFactory(new PropertyValueFactory<>("yhteyshenkilönSähköposti")); tcYhteyshenkilönSähköposti.setCellValueFactory(new PropertyValueFactory<>("yhteyshenkilönSähköposti"));
tvAsiakkaat.getColumns().addAll(tcId, tcNimi, tcOsoite, tcKuljetuspäivät, tcKuljetusmäärät, tcErityisruokavalio, tcAvainTieto, tcLisätiedot, tcYhteyshenkilönNimi, tcLaskutusOsoite, tcYhteyshenkilönPuhelinnumero, tcYhteyshenkilönSähköposti); tvAsiakkaat.getColumns().addAll(tcId, tcNimi, tcOsoite, tcKuljetuspäivät, tcKuljetusmäärät, tcErityisruokavalio, tcAvainTieto, tcLisätiedot, tcYhteyshenkilönNimi, tcLaskutusOsoite, tcYhteyshenkilönPuhelinnumero, tcYhteyshenkilönSähköposti);
@@ -145,7 +139,10 @@ public class Asiakashallinta extends TabPohja {
column.setEditable(false); column.setEditable(false);
column.setReorderable(false); column.setReorderable(false);
column.setResizable(true); column.setResizable(true);
column.setStyle("-fx-alignment: CENTER; -fx-font-size: 16px;"); column.setStyle(
"-fx-alignment: CENTER;" +
"-fx-font-size: " + Main.properties.getProperty("tekstiFonttiKoko") + "px;" +
"-fx-font-family: " + Main.properties.getProperty("tekstiFontti"));
} }
@@ -5,6 +5,7 @@ import com.dlsc.gemsfx.MultiColumnListView;
import fi.lpam.dataluokat.Asiakas; import fi.lpam.dataluokat.Asiakas;
import fi.lpam.dataluokat.Kierros; import fi.lpam.dataluokat.Kierros;
import fi.lpam.gui.elementit.AsiakasMCLVListCell; import fi.lpam.gui.elementit.AsiakasMCLVListCell;
import fi.lpam.gui.elementit.FontLabel;
import fi.lpam.gui.elementit.TabPohja; import fi.lpam.gui.elementit.TabPohja;
import javafx.collections.FXCollections; import javafx.collections.FXCollections;
@@ -38,8 +39,7 @@ public class Kierroshallinta extends TabPohja {
BorderPane yläpalkki = new BorderPane(); BorderPane yläpalkki = new BorderPane();
root.setTop(yläpalkki); root.setTop(yläpalkki);
Label infoTeksti = new Label("Siirrä asiakkaat haluamallesi kierrokselle. Kierroksia voit lisätä painamalla lisää uusi kierros painiketta.\nKierrosnumerot päivittyvät, sekä tyhjät poistuvat kierroksia tallentaessa."); Label infoTeksti = new FontLabel(tekstiFont, "Siirrä asiakkaat haluamallesi kierrokselle. Kierroksia voit lisätä painamalla lisää uusi kierros painiketta.\nKierrosnumerot päivittyvät, sekä tyhjät poistuvat kierroksia tallentaessa.");
infoTeksti.setFont(tekstiFont);
yläpalkki.setLeft(infoTeksti); yläpalkki.setLeft(infoTeksti);
HBox yläpalkinNapit = new HBox(); HBox yläpalkinNapit = new HBox();
@@ -84,8 +84,7 @@ public class Kierroshallinta extends TabPohja {
} }
} }
MultiColumnListView.ListViewColumn<Asiakas> colEiKierroksella = new MultiColumnListView.ListViewColumn<>(); MultiColumnListView.ListViewColumn<Asiakas> colEiKierroksella = new MultiColumnListView.ListViewColumn<>();
Label labelEiKierroksella = new Label("Ei vielä kierroksella"); Label labelEiKierroksella = new FontLabel(tekstiFont, "Ei vielä kierroksella");
labelEiKierroksella.setFont(tekstiFont);
colEiKierroksella.setHeader(labelEiKierroksella); colEiKierroksella.setHeader(labelEiKierroksella);
colEiKierroksella.setItems(FXCollections.observableArrayList(eiKierroksella)); colEiKierroksella.setItems(FXCollections.observableArrayList(eiKierroksella));
mclv.getColumns().add(colEiKierroksella); mclv.getColumns().add(colEiKierroksella);
@@ -94,9 +93,7 @@ public class Kierroshallinta extends TabPohja {
private void lisaaKierros(Kierros kierros) { private void lisaaKierros(Kierros kierros) {
if (kierros.getId() == -1) kierrokset.add(kierros); if (kierros.getId() == -1) kierrokset.add(kierros);
MultiColumnListView.ListViewColumn<Asiakas> uusiSarake = new MultiColumnListView.ListViewColumn<>(); MultiColumnListView.ListViewColumn<Asiakas> uusiSarake = new MultiColumnListView.ListViewColumn<>();
Label label = new Label("Kierros " + kierros.getKierrosNumero()); uusiSarake.setHeader(new FontLabel(tekstiFont, "Kierros " + kierros.getKierrosNumero()));
label.setFont(tekstiFont);
uusiSarake.setHeader(label);
uusiSarake.setItems(kierros.getAsiakkaat()); uusiSarake.setItems(kierros.getAsiakkaat());
mclv.getColumns().add(kierros.getKierrosNumero()-1, uusiSarake); mclv.getColumns().add(kierros.getKierrosNumero()-1, uusiSarake);
} }
+12 -9
View File
@@ -1,8 +1,10 @@
package fi.lpam.gui; package fi.lpam.gui;
import fi.lpam.Main;
import fi.lpam.dataluokat.Asiakas; import fi.lpam.dataluokat.Asiakas;
import fi.lpam.dataluokat.Kierros; import fi.lpam.dataluokat.Kierros;
import fi.lpam.dataluokat.Kuljetus; import fi.lpam.dataluokat.Kuljetus;
import fi.lpam.gui.elementit.FontLabel;
import fi.lpam.gui.tableCell.IntegerFieldTableCellFactory; import fi.lpam.gui.tableCell.IntegerFieldTableCellFactory;
import fi.lpam.gui.tableCell.KuljetaTableCell; import fi.lpam.gui.tableCell.KuljetaTableCell;
import fi.lpam.tulostajat.KuljetusListaTulostaja; import fi.lpam.tulostajat.KuljetusListaTulostaja;
@@ -49,30 +51,28 @@ public class KuljetusListat extends TabPohja {
this.getChildren().add(root); this.getChildren().add(root);
BorderPane yläpalkki = new BorderPane(); BorderPane yläpalkki = new BorderPane();
Label infoTeksti = new Label("Kuljetuslistojen luonti"); Label infoTeksti = new FontLabel(tekstiFont, "Kuljetuslistojen luonti");
infoTeksti.setFont(tekstiFont);
yläpalkki.setLeft(infoTeksti); yläpalkki.setLeft(infoTeksti);
HBox kierroksenValintaLaatikko = new HBox(); HBox kierroksenValintaLaatikko = new HBox();
kierroksenValintaLaatikko.setSpacing(5); kierroksenValintaLaatikko.setSpacing(spacing);
kierroksenValintaLaatikko.setSpacing(5);
kierroksenValintaLaatikko.setAlignment(Pos.CENTER); kierroksenValintaLaatikko.setAlignment(Pos.CENTER);
Button valitse = new Button("Valitse"); Button valitse = new Button("Valitse");
valitse.setFont(buttonFont); valitse.setFont(buttonFont);
valitse.setOnAction(_ -> päivitäListanäkymä()); valitse.setOnAction(_ -> päivitäListanäkymä());
tallennusStatus = new Label("Tallennettu: Kyllä"); tallennusStatus = new FontLabel(tekstiFont, "Tallennettu: Kyllä");
tallennusStatus.setFont(tekstiFont); tallennusStatus.setFont(tekstiFont);
datePicker.valueProperty().addListener(_ -> päivitäListanäkymä()); datePicker.valueProperty().addListener(_ -> päivitäListanäkymä());
kierrosValinta.valueProperty().addListener(_ -> päivitäListanäkymä()); kierrosValinta.valueProperty().addListener(_ -> päivitäListanäkymä());
kierroksenValintaLaatikko.getChildren().addAll( kierroksenValintaLaatikko.getChildren().addAll(
new Label("Valitse päivämäärä:"), new FontLabel(tekstiFont, "Valitse päivämäärä:"),
datePicker, datePicker,
new Label("Valitse kierros:"), new FontLabel(tekstiFont, "Valitse kierros:"),
kierrosValinta, tallennusStatus); kierrosValinta, tallennusStatus);
yläpalkki.setCenter(kierroksenValintaLaatikko); yläpalkki.setCenter(kierroksenValintaLaatikko);
HBox napit = new HBox(); HBox napit = new HBox();
napit.setSpacing(5); napit.setSpacing(spacing);
Button poista = new Button("Poista kuljetusrivi"); Button poista = new Button("Poista kuljetusrivi");
poista.setOnAction(_ ->poistaRivi()); poista.setOnAction(_ ->poistaRivi());
poista.setFont(buttonFont); poista.setFont(buttonFont);
@@ -147,7 +147,10 @@ public class KuljetusListat extends TabPohja {
sarake.setSortable(false); sarake.setSortable(false);
sarake.setEditable(true); sarake.setEditable(true);
sarake.setResizable(true); sarake.setResizable(true);
sarake.setStyle("-fx-alignment: CENTER; -fx-font-size: 16px;"); sarake.setStyle(
"-fx-alignment: CENTER;" +
"-fx-font-size: " + Main.properties.getProperty("tekstiFonttiKoko") + "px;" +
"-fx-font-family: " + Main.properties.getProperty("tekstiFontti"));
} }
tcNimi.setEditable(false); tcNimi.setEditable(false);
tcNimi.setResizable(false); tcNimi.setResizable(false);
@@ -1,6 +1,8 @@
package fi.lpam.gui; package fi.lpam.gui;
import fi.lpam.Main;
import fi.lpam.dataluokat.RaporttiRivi; import fi.lpam.dataluokat.RaporttiRivi;
import fi.lpam.gui.elementit.FontLabel;
import fi.lpam.tulostajat.KuljetusRaporttiTulostaja; import fi.lpam.tulostajat.KuljetusRaporttiTulostaja;
import fi.lpam.gui.tableCell.PaivamaaraTableCell; import fi.lpam.gui.tableCell.PaivamaaraTableCell;
import fi.lpam.gui.elementit.TabPohja; import fi.lpam.gui.elementit.TabPohja;
@@ -41,16 +43,16 @@ public class KuljetusRaportit extends TabPohja {
BorderPane yläpalkki = new BorderPane(); BorderPane yläpalkki = new BorderPane();
root.setTop(yläpalkki); root.setTop(yläpalkki);
Label infoTeksti = new Label("Kuljetusraportit. \nTarkka-valinnalla koostetun raportin tulostaminen paperille ei suositeltua."); Label infoTeksti = new FontLabel(tekstiFont, "Kuljetusraportit. \nTarkka-valinnalla koostetun raportin tulostaminen paperille ei suositeltua.");
infoTeksti.setFont(tekstiFont);
yläpalkki.setLeft(infoTeksti); yläpalkki.setLeft(infoTeksti);
HBox yläpalkinNapit = new HBox(); HBox yläpalkinNapit = new HBox();
yläpalkinNapit.setAlignment(Pos.CENTER); yläpalkinNapit.setAlignment(Pos.CENTER);
yläpalkinNapit.setSpacing(5); yläpalkinNapit.setSpacing(spacing);
yläpalkki.setRight(yläpalkinNapit); yläpalkki.setRight(yläpalkinNapit);
tarkka = new CheckBox("Tarkka"); tarkka = new CheckBox("Tarkka");
tarkka.setFont(tekstiFont);
alkuPvm = new DatePicker(LocalDate.now().minusDays(LocalDate.now().getDayOfMonth() - 1)); alkuPvm = new DatePicker(LocalDate.now().minusDays(LocalDate.now().getDayOfMonth() - 1));
loppuPvm = new DatePicker(LocalDate.now()); loppuPvm = new DatePicker(LocalDate.now());
Button haeKuljetukset = new Button("Hae"); Button haeKuljetukset = new Button("Hae");
@@ -60,8 +62,8 @@ public class KuljetusRaportit extends TabPohja {
tulostaRaportti.setFont(buttonFont); tulostaRaportti.setFont(buttonFont);
tulostaRaportti.setOnAction(_ ->tulostaRaportti()); tulostaRaportti.setOnAction(_ ->tulostaRaportti());
yläpalkinNapit.getChildren().addAll(tarkka, yläpalkinNapit.getChildren().addAll(tarkka,
new Label("Hae kuljetukset välillä:"), new FontLabel(tekstiFont,"Hae kuljetukset välillä:"),
alkuPvm, new Label("-"), loppuPvm, alkuPvm, new FontLabel(tekstiFont,"-"), loppuPvm,
haeKuljetukset, tulostaRaportti); haeKuljetukset, tulostaRaportti);
root.setCenter(tableView); root.setCenter(tableView);
@@ -109,12 +111,15 @@ public class KuljetusRaportit extends TabPohja {
tableView.getColumns().addAll(tcNimi, tcPvm, tcSalaatit, tcPääruoat, tcJälkiruoat, tcLisätiedot, tableView.getColumns().addAll(tcNimi, tcPvm, tcSalaatit, tcPääruoat, tcJälkiruoat, tcLisätiedot,
tcYhteyshenkilönNimi, tcLaskutusOsoite, tcYhteyshenkilönPuhelinnumero, tcYhteyshenkilönSähköposti); tcYhteyshenkilönNimi, tcLaskutusOsoite, tcYhteyshenkilönPuhelinnumero, tcYhteyshenkilönSähköposti);
tableView.setPlaceholder(new Label("Hae raportti")); tableView.setPlaceholder(new FontLabel(buttonFont, "Hae raportti"));
for (TableColumn<RaporttiRivi, ?> sarake : tableView.getColumns()) { for (TableColumn<RaporttiRivi, ?> sarake : tableView.getColumns()) {
sarake.setSortable(false); sarake.setSortable(false);
sarake.setEditable(false); sarake.setEditable(false);
sarake.setResizable(true); sarake.setResizable(true);
sarake.setStyle("-fx-alignment: CENTER; -fx-font-size: 16px;"); sarake.setStyle(
"-fx-alignment: CENTER;" +
"-fx-font-size: " + Main.properties.getProperty("tekstiFonttiKoko") + "px;" +
"-fx-font-family: " + Main.properties.getProperty("tekstiFontti"));
} }
} }
} }
@@ -0,0 +1,11 @@
package fi.lpam.gui.elementit;
import javafx.scene.control.Label;
import javafx.scene.text.Font;
public class FontLabel extends Label {
public FontLabel(Font font, String text) {
super(text);
this.setFont(font);
}
}
@@ -18,10 +18,12 @@ public class TabPohja extends StackPane {
public static String oletusStyle; public static String oletusStyle;
public static Font buttonFont; public static Font buttonFont;
public static Font tekstiFont; public static Font tekstiFont;
public static double spacing;
public TabPohja() { public TabPohja() {
Properties prop = Main.properties; Properties prop = Main.properties;
oletusInsets = new Insets(Double.parseDouble(prop.getProperty("insets"))); oletusInsets = new Insets(Double.parseDouble(prop.getProperty("insets")));
spacing = Double.parseDouble(prop.getProperty("insets"));
oletusStyle = "-fx-background-color: " + prop.getProperty("taustaVari") + ";"; oletusStyle = "-fx-background-color: " + prop.getProperty("taustaVari") + ";";
buttonFont = Font.font(prop.getProperty("buttonFontti"), FontWeight.BOLD, Double.parseDouble(prop.getProperty("buttonFonttiKoko"))); buttonFont = Font.font(prop.getProperty("buttonFontti"), FontWeight.BOLD, Double.parseDouble(prop.getProperty("buttonFonttiKoko")));
tekstiFont = Font.font(prop.getProperty("tekstiFontti"), FontWeight.NORMAL, Double.parseDouble(prop.getProperty("tekstiFonttiKoko"))); tekstiFont = Font.font(prop.getProperty("tekstiFontti"), FontWeight.NORMAL, Double.parseDouble(prop.getProperty("tekstiFonttiKoko")));