Compare commits
22 Commits
ee552e647c
...
3.2.1
| Author | SHA1 | Date | |
|---|---|---|---|
| fd7e736574 | |||
| fadda42b56 | |||
| a598c15e62 | |||
| 778402910f | |||
| b66958697b | |||
| b406ee3e0b | |||
| f08c67cf79 | |||
| 0d761c2ab2 | |||
| 0d28b37a93 | |||
| cf8f8589d8 | |||
| 7e356c6c6a | |||
| 1188c65802 | |||
| 809c571398 | |||
| b050e500e6 | |||
| fd6f074dda | |||
| 1dfdab763b | |||
| 2fb7e24aac | |||
| e123721e18 | |||
| 2ad2d85c58 | |||
| 342f62dedd | |||
| 18a849dfa6 | |||
| 1b589d0fb5 |
@@ -17,10 +17,11 @@ Pienen kotiateriapalvelun käyttöön rakennettu ohjelma sisältäen seuraavat o
|
|||||||
|
|
||||||
# Käyttöönotto
|
# Käyttöönotto
|
||||||
- Vaatimukset
|
- Vaatimukset
|
||||||
- Windows
|
- Windows (Linux melkein täydellisellä yhteensopivuudella)
|
||||||
- Java 25+
|
- Java 25+
|
||||||
- Usean tietokoneen käyttöön OneDrive -tili (samanaikaisuus ei tuettu)
|
- Usean tietokoneen käyttöön OneDrive -tili (samanaikaisuus ei tuettu)
|
||||||
- Lataa haluamasi ohjelmaversio julkaisuista
|
- Lataa haluamasi ohjelmaversio julkaisuista
|
||||||
- Aja .JAR tiedosto
|
- Aja .JAR tiedosto
|
||||||
- Tietokanta sijaitsee osoitteessa `~/OneDrive/Kuljetusruokasovellus/tietokanta.db`
|
- Tietokanta sijaitsee osoitteessa `~/OneDrive/Kuljetusruokasovellus/tietokanta.db`
|
||||||
|
- Asetukset sijaitsee osoitteessa `~/OneDrive/Kuljetusruokasovellus/asetukset.properties`
|
||||||
- Ohjelma luo tietokannan, mikäli sitä ei löydy.
|
- Ohjelma luo tietokannan, mikäli sitä ei löydy.
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>fi.lpam.ruokamanageri</groupId>
|
<groupId>fi.lpam.ruokamanageri</groupId>
|
||||||
<artifactId>Ruokamanageri</artifactId>
|
<artifactId>Ruokamanageri</artifactId>
|
||||||
<version>3.1.0</version>
|
<version>3.2.1</version>
|
||||||
<properties>
|
<properties>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<maven.compiler.source>25</maven.compiler.source>
|
<maven.compiler.source>25</maven.compiler.source>
|
||||||
|
|||||||
@@ -2,11 +2,10 @@ package fi.lpam;
|
|||||||
import fi.lpam.dataluokat.Tietokanta;
|
import fi.lpam.dataluokat.Tietokanta;
|
||||||
import fi.lpam.gui.*;
|
import fi.lpam.gui.*;
|
||||||
import fi.lpam.gui.elementit.MuutosIlmoitus;
|
import fi.lpam.gui.elementit.MuutosIlmoitus;
|
||||||
|
import fi.lpam.gui.elementit.TabPohja;
|
||||||
import javafx.application.Application;
|
import javafx.application.Application;
|
||||||
import javafx.geometry.Side;
|
import javafx.geometry.Side;
|
||||||
import javafx.scene.Scene;
|
import javafx.scene.Scene;
|
||||||
import javafx.scene.control.Alert;
|
|
||||||
import javafx.scene.control.Tab;
|
|
||||||
import javafx.scene.control.TabPane;
|
import javafx.scene.control.TabPane;
|
||||||
import javafx.scene.image.Image;
|
import javafx.scene.image.Image;
|
||||||
import javafx.stage.Stage;
|
import javafx.stage.Stage;
|
||||||
@@ -15,6 +14,8 @@ import java.util.Objects;
|
|||||||
|
|
||||||
@SuppressWarnings("InstantiationOfUtilityClass")
|
@SuppressWarnings("InstantiationOfUtilityClass")
|
||||||
public class App extends Application {
|
public class App extends Application {
|
||||||
|
TabPohja asiakasHallinta, kierrostenHallinta, kuljetusListat, kuljetetut, asetukset;
|
||||||
|
|
||||||
static void main() {
|
static void main() {
|
||||||
launch();
|
launch();
|
||||||
}
|
}
|
||||||
@@ -23,41 +24,6 @@ public class App extends Application {
|
|||||||
public void start(Stage primaryStage) {
|
public void start(Stage primaryStage) {
|
||||||
new Tietokanta(Main.dev);
|
new Tietokanta(Main.dev);
|
||||||
|
|
||||||
TabPane root = new TabPane();
|
|
||||||
root.setSide(Side.LEFT);
|
|
||||||
root.setTabMinWidth(50);
|
|
||||||
root.setTabMinHeight(Double.parseDouble(Main.properties.getProperty("buttonFonttiKoko"))*2);
|
|
||||||
root.setTabMaxHeight(Double.parseDouble(Main.properties.getProperty("buttonFonttiKoko"))*2);
|
|
||||||
|
|
||||||
Tab asiakasHallinta, kierrostenHallinta, kuljetusListat, kuljetetut, asetukset;
|
|
||||||
asiakasHallinta = new Tab("Asiakashallinta", new Asiakashallinta());
|
|
||||||
kierrostenHallinta = new Tab("Kierrostenhallinta");
|
|
||||||
kuljetusListat = new Tab("Kuljetuslistat");
|
|
||||||
kuljetetut = new Tab("Kuljetetut");
|
|
||||||
asetukset = new Tab("Asetukset");
|
|
||||||
root.getTabs().addAll(asiakasHallinta, kierrostenHallinta, kuljetusListat, kuljetetut, asetukset);
|
|
||||||
|
|
||||||
root.getSelectionModel().selectedItemProperty().addListener((_, _, newValue) -> {
|
|
||||||
switch (newValue.getText()) {
|
|
||||||
case "Asiakashallinta": newValue.setContent(new Asiakashallinta()); break;
|
|
||||||
case "Kierrostenhallinta": newValue.setContent(new Kierroshallinta()); break;
|
|
||||||
case "Kuljetuslistat": newValue.setContent(new KuljetusListat()); break;
|
|
||||||
case "Kuljetetut": newValue.setContent(new KuljetusRaportit()); break;
|
|
||||||
case "Asetukset": newValue.setContent(new Asetukset()); break;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
for (Tab tab : root.getTabs()) {
|
|
||||||
tab.setClosable(false);
|
|
||||||
tab.setStyle(
|
|
||||||
"-fx-font-size: " + Main.properties.getProperty("buttonFonttiKoko") + "px;" +
|
|
||||||
" -fx-font-weight: bold;" +
|
|
||||||
" -fx-font-family: " + Main.properties.getProperty("buttonFontti"));
|
|
||||||
}
|
|
||||||
|
|
||||||
Scene scene = new Scene(root);
|
|
||||||
primaryStage.setScene(scene);
|
|
||||||
|
|
||||||
StringBuilder title = new StringBuilder();
|
StringBuilder title = new StringBuilder();
|
||||||
title.append("Ruokamanageri");
|
title.append("Ruokamanageri");
|
||||||
title.append(" v").append(Main.properties.getProperty("version"));
|
title.append(" v").append(Main.properties.getProperty("version"));
|
||||||
@@ -65,9 +31,26 @@ public class App extends Application {
|
|||||||
primaryStage.setTitle(title.toString());
|
primaryStage.setTitle(title.toString());
|
||||||
|
|
||||||
primaryStage.setMaximized(true);
|
primaryStage.setMaximized(true);
|
||||||
primaryStage.show();
|
|
||||||
primaryStage.getIcons().add(new Image(Objects.requireNonNull(Main.class.getClassLoader().getResourceAsStream("kuljetusruokalaatikko.jpg"))));
|
primaryStage.getIcons().add(new Image(Objects.requireNonNull(Main.class.getClassLoader().getResourceAsStream("kuljetusruokalaatikko.jpg"))));
|
||||||
|
|
||||||
|
TabPane tabPane = new TabPane();
|
||||||
|
tabPane.setSide(Side.LEFT);
|
||||||
|
tabPane.setTabMinWidth(50);
|
||||||
|
tabPane.setTabMinHeight(Double.parseDouble(Main.properties.getProperty("buttonFonttiKoko"))*2);
|
||||||
|
tabPane.setTabMaxHeight(Double.parseDouble(Main.properties.getProperty("buttonFonttiKoko"))*2);
|
||||||
|
|
||||||
|
asiakasHallinta = new Asiakashallinta();
|
||||||
|
kierrostenHallinta = new Kierroshallinta();
|
||||||
|
kuljetusListat = new KuljetusListat();
|
||||||
|
kuljetetut = new KuljetusRaportit();
|
||||||
|
asetukset = new Asetukset();
|
||||||
|
tabPane.getTabs().addAll(asiakasHallinta, kierrostenHallinta, kuljetusListat, kuljetetut, asetukset);
|
||||||
|
|
||||||
|
Scene scene = new Scene(tabPane);
|
||||||
|
primaryStage.setScene(scene);
|
||||||
|
primaryStage.show();
|
||||||
|
|
||||||
if (!Main.properties.getProperty("version").equals(Main.properties.getProperty("viimeisinVersio", "0.0.0"))) new MuutosIlmoitus();
|
if (!Main.properties.getProperty("version").equals(Main.properties.getProperty("viimeisinVersio", "0.0.0"))) new MuutosIlmoitus();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -135,7 +135,7 @@ public class Asiakas implements TietokantaOlio {
|
|||||||
parsiResultSet(rs).forEach(asiakas -> asiakkaat.put(asiakas.getId(), asiakas));
|
parsiResultSet(rs).forEach(asiakas -> asiakkaat.put(asiakas.getId(), asiakas));
|
||||||
ArrayList<Asiakas> järjestetyt = new ArrayList<>(asiakkaat.size());
|
ArrayList<Asiakas> järjestetyt = new ArrayList<>(asiakkaat.size());
|
||||||
for (int id : IDt) {
|
for (int id : IDt) {
|
||||||
järjestetyt.add(asiakkaat.get(id));
|
if (asiakkaat.containsKey(id)) järjestetyt.add(asiakkaat.get(id)); //Huomioidaan, onko asiakas poistettu
|
||||||
}
|
}
|
||||||
return järjestetyt;
|
return järjestetyt;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ public class RaporttiRivi {
|
|||||||
private final String nimi;
|
private final String nimi;
|
||||||
private final LocalDate pvm;
|
private final LocalDate pvm;
|
||||||
private final int salaatit, pääruoat, jälkiruoat;
|
private final int salaatit, pääruoat, jälkiruoat;
|
||||||
|
private final String erva;
|
||||||
private final String lisätiedot;
|
private final String lisätiedot;
|
||||||
private final String yhteyshenkilönNimi, laskutusOsoite, yhteyshenkilönPuhelinnumero, yhteyshenkilönSähköposti;
|
private final String yhteyshenkilönNimi, laskutusOsoite, yhteyshenkilönPuhelinnumero, yhteyshenkilönSähköposti;
|
||||||
|
|
||||||
@@ -23,13 +24,15 @@ public class RaporttiRivi {
|
|||||||
String yhteyshenkilönNimi,
|
String yhteyshenkilönNimi,
|
||||||
String laskutusOsoite,
|
String laskutusOsoite,
|
||||||
String yhteyshenkilönPuhelinnumero,
|
String yhteyshenkilönPuhelinnumero,
|
||||||
String yhteyshenkilönSähköposti) {
|
String yhteyshenkilönSähköposti,
|
||||||
|
String erva) {
|
||||||
this.nimi = nimi;
|
this.nimi = nimi;
|
||||||
this.pvm = pvm;
|
this.pvm = pvm;
|
||||||
this.salaatit = salaatit;
|
this.salaatit = salaatit;
|
||||||
this.pääruoat = pääruoat;
|
this.pääruoat = pääruoat;
|
||||||
this.jälkiruoat = jälkiruoat;
|
this.jälkiruoat = jälkiruoat;
|
||||||
this.lisätiedot = lisätiedot;
|
this.lisätiedot = lisätiedot;
|
||||||
|
this.erva = erva;
|
||||||
this.yhteyshenkilönNimi = yhteyshenkilönNimi;
|
this.yhteyshenkilönNimi = yhteyshenkilönNimi;
|
||||||
this.laskutusOsoite = laskutusOsoite;
|
this.laskutusOsoite = laskutusOsoite;
|
||||||
this.yhteyshenkilönPuhelinnumero = yhteyshenkilönPuhelinnumero;
|
this.yhteyshenkilönPuhelinnumero = yhteyshenkilönPuhelinnumero;
|
||||||
@@ -53,7 +56,8 @@ public class RaporttiRivi {
|
|||||||
asiakkaat.yhteyshenkilönNimi,
|
asiakkaat.yhteyshenkilönNimi,
|
||||||
asiakkaat.laskutusosoite,
|
asiakkaat.laskutusosoite,
|
||||||
asiakkaat.yhteyshenkilönPuhelinnumero,
|
asiakkaat.yhteyshenkilönPuhelinnumero,
|
||||||
asiakkaat.yhteyshenkilönSähköposti
|
asiakkaat.yhteyshenkilönSähköposti,
|
||||||
|
asiakkaat.erityisruokavalio
|
||||||
from kuljetukset
|
from kuljetukset
|
||||||
left join asiakkaat on kuljetukset.asiakasID=asiakkaat.id
|
left join asiakkaat on kuljetukset.asiakasID=asiakkaat.id
|
||||||
where kuljetusPäivämäärä between ? and ?
|
where kuljetusPäivämäärä between ? and ?
|
||||||
@@ -75,6 +79,7 @@ public class RaporttiRivi {
|
|||||||
rs.getString(i++),
|
rs.getString(i++),
|
||||||
rs.getString(i++),
|
rs.getString(i++),
|
||||||
rs.getString(i++),
|
rs.getString(i++),
|
||||||
|
rs.getString(i++),
|
||||||
rs.getString(i++)
|
rs.getString(i++)
|
||||||
);
|
);
|
||||||
raportti.add(uusi);
|
raportti.add(uusi);
|
||||||
@@ -93,7 +98,8 @@ public class RaporttiRivi {
|
|||||||
asiakkaat.yhteyshenkilönNimi,
|
asiakkaat.yhteyshenkilönNimi,
|
||||||
asiakkaat.laskutusosoite,
|
asiakkaat.laskutusosoite,
|
||||||
asiakkaat.yhteyshenkilönPuhelinnumero,
|
asiakkaat.yhteyshenkilönPuhelinnumero,
|
||||||
asiakkaat.yhteyshenkilönSähköposti
|
asiakkaat.yhteyshenkilönSähköposti,
|
||||||
|
asiakkaat.erityisruokavalio
|
||||||
from kuljetukset
|
from kuljetukset
|
||||||
left join asiakkaat on kuljetukset.asiakasID=asiakkaat.id
|
left join asiakkaat on kuljetukset.asiakasID=asiakkaat.id
|
||||||
where kuljetusPäivämäärä between ? and ?
|
where kuljetusPäivämäärä between ? and ?
|
||||||
@@ -117,6 +123,7 @@ public class RaporttiRivi {
|
|||||||
rs.getString(i++),
|
rs.getString(i++),
|
||||||
rs.getString(i++),
|
rs.getString(i++),
|
||||||
rs.getString(i++),
|
rs.getString(i++),
|
||||||
|
rs.getString(i++),
|
||||||
rs.getString(i++)
|
rs.getString(i++)
|
||||||
);
|
);
|
||||||
raportti.add(uusi);
|
raportti.add(uusi);
|
||||||
@@ -137,7 +144,7 @@ public class RaporttiRivi {
|
|||||||
"\n" + yhteyshenkilönPuhelinnumero +
|
"\n" + yhteyshenkilönPuhelinnumero +
|
||||||
"\n" + yhteyshenkilönSähköposti;
|
"\n" + yhteyshenkilönSähköposti;
|
||||||
|
|
||||||
return nimi +
|
return nimi + " " + erva +
|
||||||
"\nSal: " + salaatit + ", Pr: " + pääruoat + ", Jr: " + jälkiruoat +
|
"\nSal: " + salaatit + ", Pr: " + pääruoat + ", Jr: " + jälkiruoat +
|
||||||
"\nLisätiedot:\n" +
|
"\nLisätiedot:\n" +
|
||||||
getLisätiedot() +
|
getLisätiedot() +
|
||||||
@@ -184,4 +191,8 @@ public class RaporttiRivi {
|
|||||||
public String getYhteyshenkilönSähköposti() {
|
public String getYhteyshenkilönSähköposti() {
|
||||||
return yhteyshenkilönSähköposti;
|
return yhteyshenkilönSähköposti;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getErva() {
|
||||||
|
return erva;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -1,19 +1,17 @@
|
|||||||
package fi.lpam.gui;
|
package fi.lpam.gui;
|
||||||
|
|
||||||
import fi.lpam.Main;
|
import fi.lpam.Main;
|
||||||
|
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;
|
||||||
import javafx.collections.ObservableList;
|
import javafx.collections.ObservableList;
|
||||||
import javafx.geometry.Pos;
|
import javafx.geometry.Pos;
|
||||||
import javafx.scene.control.Button;
|
import javafx.scene.control.*;
|
||||||
import javafx.scene.control.ComboBox;
|
|
||||||
import javafx.scene.control.Label;
|
|
||||||
import javafx.scene.control.Spinner;
|
|
||||||
import javafx.scene.layout.BorderPane;
|
|
||||||
import javafx.scene.layout.GridPane;
|
import javafx.scene.layout.GridPane;
|
||||||
import javafx.scene.layout.HBox;
|
import javafx.scene.layout.HBox;
|
||||||
import javafx.scene.text.Font;
|
import javafx.scene.text.Font;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
|
||||||
|
|
||||||
@@ -23,28 +21,25 @@ public class Asetukset extends TabPohja {
|
|||||||
|
|
||||||
|
|
||||||
public Asetukset() {
|
public Asetukset() {
|
||||||
BorderPane root = new BorderPane();
|
super("Asetukset");
|
||||||
root.setPadding(oletusInsets);
|
|
||||||
|
|
||||||
HBox yläpalkki = new HBox();
|
HBox yläpalkki = new HBox();
|
||||||
yläpalkki.setSpacing(5);
|
yläpalkki.setSpacing(5);
|
||||||
yläpalkki.setAlignment(Pos.CENTER_RIGHT);
|
yläpalkki.setAlignment(Pos.CENTER_RIGHT);
|
||||||
Button btnNollaa = new Button("Palauta oletukset");
|
Button btnNollaa = new Button("Palauta oletukset");
|
||||||
btnNollaa.setFont(buttonFont);
|
btnNollaa.setFont(BUTTON_FONT);
|
||||||
btnNollaa.setOnAction(_ -> palautaOletukset());
|
btnNollaa.setOnAction(_ -> palautaOletukset());
|
||||||
yläpalkki.getChildren().add(btnNollaa);
|
yläpalkki.getChildren().addAll(
|
||||||
|
new FontLabel(TEKSTI_FONT, "Muutokset astuvat voimaan sovelluksen käynnistyttyä uudelleen"),
|
||||||
|
btnNollaa);
|
||||||
root.setTop(yläpalkki);
|
root.setTop(yläpalkki);
|
||||||
|
|
||||||
root.setCenter(getFonttiAsetukset());
|
root.setCenter(getFonttiAsetukset());
|
||||||
|
|
||||||
this.getChildren().add(root);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private Spinner<Integer> tekstiFonttiKoko, buttonFonttiKoko, tulostusFonttiKoko, insets;
|
private Spinner<Integer> tekstiFonttiKoko, buttonFonttiKoko, tulostusFonttiKoko, insets;
|
||||||
private ComboBox<String> tekstiFontti, buttonFontti;
|
private ComboBox<String> tekstiFontti, buttonFontti;
|
||||||
private int minFonttiKoko = 8;
|
|
||||||
private int maxFonttiKoko = 18;
|
|
||||||
private int stepFontti = 1;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Luo paneelin fonttien asetusten säätämiseen
|
* Luo paneelin fonttien asetusten säätämiseen
|
||||||
@@ -53,21 +48,23 @@ public class Asetukset extends TabPohja {
|
|||||||
private GridPane getFonttiAsetukset() {
|
private GridPane getFonttiAsetukset() {
|
||||||
GridPane root = new GridPane();
|
GridPane root = new GridPane();
|
||||||
root.setAlignment(Pos.CENTER);
|
root.setAlignment(Pos.CENTER);
|
||||||
root.setHgap(spacing*2);
|
root.setHgap(SPACING *2);
|
||||||
root.setVgap(spacing*2);
|
root.setVgap(SPACING *2);
|
||||||
root.setBorder(oletusBorder);
|
root.setBorder(BORDER);
|
||||||
root.setPadding(oletusInsets);
|
root.setPadding(INSETS);
|
||||||
int row = 0;
|
int row = 0;
|
||||||
|
|
||||||
Label otsikko = new Label("Fonttien asetukset");
|
Label otsikko = new Label("Fonttien asetukset");
|
||||||
otsikko.setFont(tekstiFont);
|
otsikko.setFont(TEKSTI_FONT);
|
||||||
root.addRow(row++, otsikko);
|
root.addRow(row++, otsikko);
|
||||||
|
|
||||||
tekstiFonttiKoko = new Spinner<>(minFonttiKoko, maxFonttiKoko, Double.parseDouble(prop.getProperty("tekstiFonttiKoko")), stepFontti);
|
int minFonttiKoko = 8;
|
||||||
tekstiFonttiKoko.setEditable(true);
|
int maxFonttiKoko = 18;
|
||||||
|
int stepFontti = 1;
|
||||||
|
tekstiFonttiKoko = new Spinner<>(minFonttiKoko, maxFonttiKoko, Integer.parseInt(prop.getProperty("tekstiFonttiKoko")), stepFontti);
|
||||||
tekstiFonttiKoko.valueProperty().addListener((_) -> prop.setProperty("tekstiFonttiKoko", String.valueOf(tekstiFonttiKoko.getValue())));
|
tekstiFonttiKoko.valueProperty().addListener((_) -> prop.setProperty("tekstiFonttiKoko", String.valueOf(tekstiFonttiKoko.getValue())));
|
||||||
Label tekstinKoko = new Label("Tekstin koko");
|
Label tekstinKoko = new Label("Tekstin koko");
|
||||||
tekstinKoko.setFont(tekstiFont);
|
tekstinKoko.setFont(TEKSTI_FONT);
|
||||||
root.addRow(row++, tekstinKoko, tekstiFonttiKoko);
|
root.addRow(row++, tekstinKoko, tekstiFonttiKoko);
|
||||||
|
|
||||||
tekstiFontti = new ComboBox<>();
|
tekstiFontti = new ComboBox<>();
|
||||||
@@ -75,13 +72,13 @@ public class Asetukset extends TabPohja {
|
|||||||
tekstiFontti.getSelectionModel().select(prop.getProperty("tekstiFontti"));
|
tekstiFontti.getSelectionModel().select(prop.getProperty("tekstiFontti"));
|
||||||
tekstiFontti.valueProperty().addListener((_) -> prop.setProperty("tekstiFontti", tekstiFontti.getValue()));
|
tekstiFontti.valueProperty().addListener((_) -> prop.setProperty("tekstiFontti", tekstiFontti.getValue()));
|
||||||
Label tekstinFontti = new Label("Tekstin fontti");
|
Label tekstinFontti = new Label("Tekstin fontti");
|
||||||
tekstinFontti.setFont(tekstiFont);
|
tekstinFontti.setFont(TEKSTI_FONT);
|
||||||
root.addRow(row++, tekstinFontti, tekstiFontti);
|
root.addRow(row++, tekstinFontti, tekstiFontti);
|
||||||
|
|
||||||
buttonFonttiKoko = new Spinner<>(minFonttiKoko, maxFonttiKoko, Double.parseDouble(prop.getProperty("buttonFonttiKoko")), stepFontti);
|
buttonFonttiKoko = new Spinner<>(minFonttiKoko, maxFonttiKoko, Integer.parseInt(prop.getProperty("buttonFonttiKoko")), stepFontti);
|
||||||
buttonFonttiKoko.valueProperty().addListener((_) -> prop.setProperty("buttonFonttiKoko", String.valueOf(buttonFonttiKoko.getValue())));
|
buttonFonttiKoko.valueProperty().addListener((_) -> prop.setProperty("buttonFonttiKoko", String.valueOf(buttonFonttiKoko.getValue())));
|
||||||
Label nappiTekstinKoko = new Label("Painikkeiden koko");
|
Label nappiTekstinKoko = new Label("Painikkeiden koko");
|
||||||
nappiTekstinKoko.setFont(tekstiFont);
|
nappiTekstinKoko.setFont(TEKSTI_FONT);
|
||||||
root.addRow(row++, nappiTekstinKoko, buttonFonttiKoko);
|
root.addRow(row++, nappiTekstinKoko, buttonFonttiKoko);
|
||||||
|
|
||||||
buttonFontti = new ComboBox<>();
|
buttonFontti = new ComboBox<>();
|
||||||
@@ -89,25 +86,39 @@ public class Asetukset extends TabPohja {
|
|||||||
buttonFontti.getSelectionModel().select(prop.getProperty("buttonFontti"));
|
buttonFontti.getSelectionModel().select(prop.getProperty("buttonFontti"));
|
||||||
buttonFontti.valueProperty().addListener((_) -> prop.setProperty("buttonFontti", buttonFontti.getValue()));
|
buttonFontti.valueProperty().addListener((_) -> prop.setProperty("buttonFontti", buttonFontti.getValue()));
|
||||||
Label napinFontti = new Label("Painikkeiden fontti");
|
Label napinFontti = new Label("Painikkeiden fontti");
|
||||||
napinFontti.setFont(tekstiFont);
|
napinFontti.setFont(TEKSTI_FONT);
|
||||||
root.addRow(row++, napinFontti, buttonFontti);
|
root.addRow(row++, napinFontti, buttonFontti);
|
||||||
|
|
||||||
tulostusFonttiKoko = new Spinner<>(minFonttiKoko, maxFonttiKoko, Double.parseDouble(prop.getProperty("tulostusFonttiKoko")), stepFontti);
|
tulostusFonttiKoko = new Spinner<>(minFonttiKoko, maxFonttiKoko, Integer.parseInt(prop.getProperty("tulostusFonttiKoko")), stepFontti);
|
||||||
tulostusFonttiKoko.valueProperty().addListener((_) -> prop.setProperty("tulostusFonttiKoko", String.valueOf(tulostusFonttiKoko.getValue())));
|
tulostusFonttiKoko.valueProperty().addListener((_) -> prop.setProperty("tulostusFonttiKoko", String.valueOf(tulostusFonttiKoko.getValue())));
|
||||||
Label tulostusFontinKoko = new Label("Tulostusfontin koko");
|
Label tulostusFontinKoko = new Label("Tulostusfontin koko");
|
||||||
tulostusFontinKoko.setFont(tekstiFont);
|
tulostusFontinKoko.setFont(TEKSTI_FONT);
|
||||||
root.addRow(row++, tulostusFontinKoko, tulostusFonttiKoko);
|
root.addRow(row++, tulostusFontinKoko, tulostusFonttiKoko);
|
||||||
|
|
||||||
insets = new Spinner<>(0, 10, Double.parseDouble(prop.getProperty("insets")), 1);
|
insets = new Spinner<>(0, 10, Integer.parseInt(prop.getProperty("insets")), 1);
|
||||||
insets.valueProperty().addListener((_) -> prop.setProperty("insets", String.valueOf(insets.getValue())));
|
insets.valueProperty().addListener((_) -> prop.setProperty("insets", String.valueOf(insets.getValue())));
|
||||||
Label insetsi = new Label("Yleinen fyllinki");
|
Label insetsi = new Label("Yleinen fyllinki");
|
||||||
insetsi.setFont(tekstiFont);
|
insetsi.setFont(TEKSTI_FONT);
|
||||||
root.addRow(row++, insetsi, insets);
|
root.addRow(row++, insetsi, insets);
|
||||||
|
|
||||||
return root;
|
return root;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void palautaOletukset() {
|
private void palautaOletukset() {
|
||||||
//TODO
|
try {
|
||||||
|
Properties defaults = new Properties();
|
||||||
|
defaults.load(Main.class.getClassLoader().getResourceAsStream("defaults.properties"));
|
||||||
|
|
||||||
|
tekstiFonttiKoko.getValueFactory().setValue(Integer.valueOf(defaults.getProperty("tekstiFonttiKoko")));
|
||||||
|
tekstiFontti.getSelectionModel().select(defaults.getProperty("tekstiFontti"));
|
||||||
|
buttonFonttiKoko.getValueFactory().setValue(Integer.valueOf(defaults.getProperty("buttonFonttiKoko")));
|
||||||
|
buttonFontti.getSelectionModel().select(defaults.getProperty("buttonFontti"));
|
||||||
|
tulostusFonttiKoko.getValueFactory().setValue(Integer.valueOf(defaults.getProperty("tulostusFonttiKoko")));
|
||||||
|
insets.getValueFactory().setValue(Integer.valueOf(defaults.getProperty("insets")));
|
||||||
|
}
|
||||||
|
catch (IOException e) {
|
||||||
|
//noinspection CallToPrintStackTrace
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -52,13 +52,9 @@ public class AsiakasIkkuna extends Stage {
|
|||||||
}});
|
}});
|
||||||
|
|
||||||
Tab tabKuljetusTiedot, tabAsiakastiedot;
|
Tab tabKuljetusTiedot, tabAsiakastiedot;
|
||||||
tabKuljetusTiedot = new Tab("Kuljetustiedot");
|
tabKuljetusTiedot = new TabPohja("Kuljetustiedot");
|
||||||
tabAsiakastiedot = new Tab("Asiakastiedot");
|
tabAsiakastiedot = new TabPohja("Asiakastiedot");
|
||||||
tabPane.getTabs().addAll(tabKuljetusTiedot, tabAsiakastiedot);
|
tabPane.getTabs().addAll(tabKuljetusTiedot, tabAsiakastiedot);
|
||||||
for (Tab tab : tabPane.getTabs()) {
|
|
||||||
tab.setClosable(false);
|
|
||||||
tab.setStyle("-fx-font-size: 18px; -fx-font-weight: bold; -fx-font-family: Open Sans");
|
|
||||||
}
|
|
||||||
|
|
||||||
GridPane kuljetusTiedot = new GridPane();
|
GridPane kuljetusTiedot = new GridPane();
|
||||||
kuljetusTiedot.setPadding(new Insets(15));
|
kuljetusTiedot.setPadding(new Insets(15));
|
||||||
@@ -158,15 +154,15 @@ public class AsiakasIkkuna extends Stage {
|
|||||||
|
|
||||||
HBox napit = new HBox();
|
HBox napit = new HBox();
|
||||||
Button peruuta = new Button("Peruuta");
|
Button peruuta = new Button("Peruuta");
|
||||||
peruuta.setFont(TabPohja.buttonFont);
|
peruuta.setFont(TabPohja.BUTTON_FONT);
|
||||||
peruuta.setOnAction(_ -> this.close());
|
peruuta.setOnAction(_ -> this.close());
|
||||||
Button tallenna = new Button("Tallenna");
|
Button tallenna = new Button("Tallenna");
|
||||||
tallenna.setFont(TabPohja.buttonFont);
|
tallenna.setFont(TabPohja.BUTTON_FONT);
|
||||||
tallenna.setOnAction(_ -> tallenna());
|
tallenna.setOnAction(_ -> tallenna());
|
||||||
napit.getChildren().addAll(peruuta, tallenna);
|
napit.getChildren().addAll(peruuta, tallenna);
|
||||||
napit.setAlignment(Pos.CENTER_RIGHT);
|
napit.setAlignment(Pos.CENTER_RIGHT);
|
||||||
napit.setSpacing(10);
|
napit.setSpacing(10);
|
||||||
napit.setPadding(TabPohja.oletusInsets);
|
napit.setPadding(TabPohja.INSETS);
|
||||||
|
|
||||||
|
|
||||||
VBox root = new VBox();
|
VBox root = new VBox();
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package fi.lpam.gui;
|
|||||||
|
|
||||||
import fi.lpam.Main;
|
import fi.lpam.Main;
|
||||||
import fi.lpam.dataluokat.Asiakas;
|
import fi.lpam.dataluokat.Asiakas;
|
||||||
|
import fi.lpam.gui.elementit.FontLabel;
|
||||||
import fi.lpam.gui.elementit.MaaraTableColumn;
|
import fi.lpam.gui.elementit.MaaraTableColumn;
|
||||||
import fi.lpam.gui.elementit.TabPohja;
|
import fi.lpam.gui.elementit.TabPohja;
|
||||||
import javafx.collections.FXCollections;
|
import javafx.collections.FXCollections;
|
||||||
@@ -26,46 +27,9 @@ public class Asiakashallinta extends TabPohja {
|
|||||||
final TableView<Asiakas> tvAsiakkaat = new TableView<>();
|
final TableView<Asiakas> tvAsiakkaat = new TableView<>();
|
||||||
|
|
||||||
public Asiakashallinta() {
|
public Asiakashallinta() {
|
||||||
BorderPane root = new BorderPane();
|
super("Asiakashallinta");
|
||||||
this.getChildren().add(root);
|
root.setTop(getYläpalkki());
|
||||||
root.setPadding(oletusInsets);
|
|
||||||
|
|
||||||
BorderPane yläpalkki = new BorderPane();
|
|
||||||
root.setTop(yläpalkki);
|
|
||||||
Label otsikko = new Label("Asiakashallinta");
|
|
||||||
otsikko.setFont(tekstiFont);
|
|
||||||
yläpalkki.setLeft(otsikko);
|
|
||||||
|
|
||||||
HBox yläpalkinNapit = new HBox();
|
|
||||||
yläpalkinNapit.setSpacing(Double.parseDouble(Main.properties.getProperty("insets")));
|
|
||||||
yläpalkinNapit.setPadding(oletusInsets);
|
|
||||||
yläpalkki.setRight(yläpalkinNapit);
|
|
||||||
|
|
||||||
Button avaaVersioloki = new Button("VERSIOLOKI");
|
|
||||||
avaaVersioloki.setFont(buttonFont);
|
|
||||||
avaaVersioloki.setOnAction(_ -> {
|
|
||||||
try {
|
|
||||||
Desktop.getDesktop().browse(new URI("https://git.lpam.fi/laurimaaninka/Ruokamanageri/src/branch/master/CHANGELOG.md"));
|
|
||||||
} catch (IOException | URISyntaxException e) {
|
|
||||||
System.out.println(e.getMessage());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
yläpalkinNapit.getChildren().add(avaaVersioloki);
|
|
||||||
|
|
||||||
Button poistaValittu = new Button("Poista");
|
|
||||||
poistaValittu.setOnAction(_ -> poistaValittu());
|
|
||||||
poistaValittu.setFont(buttonFont);
|
|
||||||
yläpalkinNapit.getChildren().add(poistaValittu);
|
|
||||||
|
|
||||||
Button muokkaaAsiakasta = new Button("Muokkaa");
|
|
||||||
muokkaaAsiakasta.setOnAction(_ -> muokkaaValittua());
|
|
||||||
muokkaaAsiakasta.setFont(buttonFont);
|
|
||||||
yläpalkinNapit.getChildren().add(muokkaaAsiakasta);
|
|
||||||
|
|
||||||
Button uusiAsiakas = new Button("Uusi asiakas");
|
|
||||||
uusiAsiakas.setOnAction(_ -> uusiAsiakas());
|
|
||||||
uusiAsiakas.setFont(buttonFont);
|
|
||||||
yläpalkinNapit.getChildren().add(uusiAsiakas);
|
|
||||||
|
|
||||||
tvAsiakkaat.setEditable(false);
|
tvAsiakkaat.setEditable(false);
|
||||||
tvAsiakkaat.setPlaceholder(new Label("Ei vielä tietoja"));
|
tvAsiakkaat.setPlaceholder(new Label("Ei vielä tietoja"));
|
||||||
@@ -136,19 +100,55 @@ public class Asiakashallinta extends TabPohja {
|
|||||||
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);
|
||||||
|
|
||||||
for (TableColumn<Asiakas, ?> column : tvAsiakkaat.getColumns()) {
|
for (TableColumn<Asiakas, ?> column : tvAsiakkaat.getColumns()) {
|
||||||
column.setEditable(false);
|
column.getColumns().forEach(this::määritäColumn);
|
||||||
column.setReorderable(false);
|
määritäColumn(column);
|
||||||
column.setResizable(true);
|
|
||||||
column.setStyle(
|
|
||||||
"-fx-alignment: CENTER;" +
|
|
||||||
"-fx-font-size: " + Main.properties.getProperty("tekstiFonttiKoko") + "px;" +
|
|
||||||
"-fx-font-family: " + Main.properties.getProperty("tekstiFontti"));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
tvAsiakkaat.setItems(FXCollections.observableArrayList(Objects.requireNonNull(Asiakas.haeKaikki())));
|
tvAsiakkaat.setItems(FXCollections.observableArrayList(Objects.requireNonNull(Asiakas.haeKaikki())));
|
||||||
|
//tvAsiakkaat.setPrefSize(1920, 1080); //Tämä estää oudon bugin? (asiakkaiden ollessa 31 TV sekoaa)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private BorderPane getYläpalkki() {
|
||||||
|
BorderPane yläpalkki = new BorderPane();
|
||||||
|
Label otsikko = new FontLabel(TEKSTI_FONT, "Asiakashallinta");
|
||||||
|
yläpalkki.setLeft(otsikko);
|
||||||
|
|
||||||
|
HBox yläpalkinNapit = new HBox();
|
||||||
|
yläpalkinNapit.setSpacing(SPACING);
|
||||||
|
yläpalkinNapit.setPadding(INSETS);
|
||||||
|
yläpalkki.setRight(yläpalkinNapit);
|
||||||
|
|
||||||
|
Button avaaVersioloki = new Button("VERSIOLOKI");
|
||||||
|
avaaVersioloki.setFont(BUTTON_FONT);
|
||||||
|
avaaVersioloki.setOnAction(_ -> {
|
||||||
|
try {
|
||||||
|
Desktop.getDesktop().browse(new URI("https://git.lpam.fi/laurimaaninka/Ruokamanageri/src/branch/master/CHANGELOG.md"));
|
||||||
|
} catch (IOException | URISyntaxException e) {
|
||||||
|
System.out.println(e.getMessage());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
yläpalkinNapit.getChildren().add(avaaVersioloki);
|
||||||
|
|
||||||
|
Button poistaValittu = new Button("Poista");
|
||||||
|
poistaValittu.setOnAction(_ -> poistaValittu());
|
||||||
|
poistaValittu.setFont(BUTTON_FONT);
|
||||||
|
yläpalkinNapit.getChildren().add(poistaValittu);
|
||||||
|
|
||||||
|
Button muokkaaAsiakasta = new Button("Muokkaa");
|
||||||
|
muokkaaAsiakasta.setOnAction(_ -> muokkaaValittua());
|
||||||
|
muokkaaAsiakasta.setFont(BUTTON_FONT);
|
||||||
|
yläpalkinNapit.getChildren().add(muokkaaAsiakasta);
|
||||||
|
|
||||||
|
Button uusiAsiakas = new Button("Uusi asiakas");
|
||||||
|
uusiAsiakas.setOnAction(_ -> uusiAsiakas());
|
||||||
|
uusiAsiakas.setFont(BUTTON_FONT);
|
||||||
|
yläpalkinNapit.getChildren().add(uusiAsiakas);
|
||||||
|
|
||||||
|
return yläpalkki;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void uusiAsiakas() {
|
private void uusiAsiakas() {
|
||||||
Asiakas luotavaAsiakas = new Asiakas();
|
Asiakas luotavaAsiakas = new Asiakas();
|
||||||
AsiakasIkkuna asiakasIkkuna = new AsiakasIkkuna(luotavaAsiakas);
|
AsiakasIkkuna asiakasIkkuna = new AsiakasIkkuna(luotavaAsiakas);
|
||||||
@@ -186,4 +186,15 @@ public class Asiakashallinta extends TabPohja {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void määritäColumn(TableColumn<Asiakas, ?> column) {
|
||||||
|
column.setEditable(false);
|
||||||
|
column.setReorderable(false);
|
||||||
|
column.setResizable(true);
|
||||||
|
column.setStyle(
|
||||||
|
"-fx-alignment: CENTER;" +
|
||||||
|
"-fx-font-size: " + Main.properties.getProperty("tekstiFonttiKoko") + "px;" +
|
||||||
|
"-fx-font-family: " + Main.properties.getProperty("tekstiFontti")
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -23,12 +23,10 @@ import java.util.Objects;
|
|||||||
public class Kierroshallinta extends TabPohja {
|
public class Kierroshallinta extends TabPohja {
|
||||||
private final MultiColumnListView<Asiakas> mclv = new MultiColumnListView<>();
|
private final MultiColumnListView<Asiakas> mclv = new MultiColumnListView<>();
|
||||||
private final ArrayList<Kierros> kierrokset = Kierros.haeKaikki();
|
private final ArrayList<Kierros> kierrokset = Kierros.haeKaikki();
|
||||||
private final ArrayList<Asiakas> kaikkiAsiakkaat = Asiakas.haeKaikki();
|
private ArrayList<Asiakas> kaikkiAsiakkaat = Asiakas.haeKaikki();
|
||||||
|
|
||||||
public Kierroshallinta() {
|
public Kierroshallinta() {
|
||||||
BorderPane root = new BorderPane();
|
super("Kierroshallinta");
|
||||||
this.getChildren().add(root);
|
|
||||||
root.setPadding(oletusInsets);
|
|
||||||
root.setCenter(mclv);
|
root.setCenter(mclv);
|
||||||
|
|
||||||
mclv.setCellFactory(_ -> new AsiakasMCLVListCell(mclv));
|
mclv.setCellFactory(_ -> new AsiakasMCLVListCell(mclv));
|
||||||
@@ -39,7 +37,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 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.");
|
Label infoTeksti = new FontLabel(TEKSTI_FONT, "Siirrä asiakkaat haluamallesi kierrokselle. Kierroksia voit lisätä painamalla lisää uusi kierros painiketta.\nKierrosnumerot päivittyvät, sekä tyhjät poistuvat kierroksia tallentaessa.");
|
||||||
yläpalkki.setLeft(infoTeksti);
|
yläpalkki.setLeft(infoTeksti);
|
||||||
|
|
||||||
HBox yläpalkinNapit = new HBox();
|
HBox yläpalkinNapit = new HBox();
|
||||||
@@ -51,11 +49,11 @@ public class Kierroshallinta extends TabPohja {
|
|||||||
int uudenKierroksenNumero = mclv.getColumns().size();
|
int uudenKierroksenNumero = mclv.getColumns().size();
|
||||||
lisaaKierros(new Kierros(uudenKierroksenNumero, FXCollections.observableArrayList(new ArrayList<>())));
|
lisaaKierros(new Kierros(uudenKierroksenNumero, FXCollections.observableArrayList(new ArrayList<>())));
|
||||||
});
|
});
|
||||||
lisääKierros.setFont(buttonFont);
|
lisääKierros.setFont(BUTTON_FONT);
|
||||||
yläpalkinNapit.getChildren().add(lisääKierros);
|
yläpalkinNapit.getChildren().add(lisääKierros);
|
||||||
|
|
||||||
Button tallenna = new Button("Tallenna kierrokset");
|
Button tallenna = new Button("Tallenna kierrokset");
|
||||||
tallenna.setFont(buttonFont);
|
tallenna.setFont(BUTTON_FONT);
|
||||||
tallenna.setOnAction(_ ->tallennaKierrokset());
|
tallenna.setOnAction(_ ->tallennaKierrokset());
|
||||||
yläpalkinNapit.getChildren().add(tallenna);
|
yläpalkinNapit.getChildren().add(tallenna);
|
||||||
|
|
||||||
@@ -66,6 +64,7 @@ public class Kierroshallinta extends TabPohja {
|
|||||||
|
|
||||||
private void rakennaSarakkeet() {
|
private void rakennaSarakkeet() {
|
||||||
mclv.getColumns().clear();
|
mclv.getColumns().clear();
|
||||||
|
kaikkiAsiakkaat = Asiakas.haeKaikki();
|
||||||
ObservableList<Asiakas> eiKierroksella = FXCollections.observableArrayList(new ArrayList<>());
|
ObservableList<Asiakas> eiKierroksella = FXCollections.observableArrayList(new ArrayList<>());
|
||||||
HashSet<Integer> kierroksellaOlevatAsiakasIDt = new HashSet<>();
|
HashSet<Integer> kierroksellaOlevatAsiakasIDt = new HashSet<>();
|
||||||
|
|
||||||
@@ -84,16 +83,16 @@ public class Kierroshallinta extends TabPohja {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
MultiColumnListView.ListViewColumn<Asiakas> colEiKierroksella = new MultiColumnListView.ListViewColumn<>();
|
MultiColumnListView.ListViewColumn<Asiakas> colEiKierroksella = new MultiColumnListView.ListViewColumn<>();
|
||||||
Label labelEiKierroksella = new FontLabel(tekstiFont, "Ei vielä kierroksella");
|
Label labelEiKierroksella = new FontLabel(TEKSTI_FONT, "Ei vielä kierroksella");
|
||||||
colEiKierroksella.setHeader(labelEiKierroksella);
|
colEiKierroksella.setHeader(labelEiKierroksella);
|
||||||
colEiKierroksella.setItems(FXCollections.observableArrayList(eiKierroksella));
|
colEiKierroksella.setItems(FXCollections.observableArrayList(eiKierroksella));
|
||||||
mclv.getColumns().add(colEiKierroksella);
|
mclv.getColumns().add(colEiKierroksella);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void lisaaKierros(Kierros kierros) {
|
private void lisaaKierros(Kierros kierros) {
|
||||||
if (kierros.getId() == -1) kierrokset.add(kierros);
|
if (!kierrokset.contains(kierros)) kierrokset.add(kierros);
|
||||||
MultiColumnListView.ListViewColumn<Asiakas> uusiSarake = new MultiColumnListView.ListViewColumn<>();
|
MultiColumnListView.ListViewColumn<Asiakas> uusiSarake = new MultiColumnListView.ListViewColumn<>();
|
||||||
uusiSarake.setHeader(new FontLabel(tekstiFont, "Kierros " + kierros.getKierrosNumero()));
|
uusiSarake.setHeader(new FontLabel(TEKSTI_FONT, "Kierros " + kierros.getKierrosNumero()));
|
||||||
uusiSarake.setItems(kierros.getAsiakkaat());
|
uusiSarake.setItems(kierros.getAsiakkaat());
|
||||||
mclv.getColumns().add(kierros.getKierrosNumero()-1, uusiSarake);
|
mclv.getColumns().add(kierros.getKierrosNumero()-1, uusiSarake);
|
||||||
}
|
}
|
||||||
@@ -126,4 +125,9 @@ public class Kierroshallinta extends TabPohja {
|
|||||||
info.setContentText(null);
|
info.setContentText(null);
|
||||||
info.showAndWait();
|
info.showAndWait();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void päivitä() {
|
||||||
|
rakennaSarakkeet();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -38,6 +38,8 @@ public class KuljetusListat extends TabPohja {
|
|||||||
private final HashMap<Integer, Asiakas> asiakkaat = new HashMap<>();
|
private final HashMap<Integer, Asiakas> asiakkaat = new HashMap<>();
|
||||||
|
|
||||||
public KuljetusListat() {
|
public KuljetusListat() {
|
||||||
|
super("Kuljetuslistat");
|
||||||
|
|
||||||
ObservableList<Integer> määräVaihtoehdot = FXCollections.observableArrayList();
|
ObservableList<Integer> määräVaihtoehdot = FXCollections.observableArrayList();
|
||||||
for (int i = 0; i <= 10; i++) {
|
for (int i = 0; i <= 10; i++) {
|
||||||
määräVaihtoehdot.add(i);}
|
määräVaihtoehdot.add(i);}
|
||||||
@@ -46,49 +48,45 @@ public class KuljetusListat extends TabPohja {
|
|||||||
asiakkaat.put(asiakas.getId(), asiakas);
|
asiakkaat.put(asiakas.getId(), asiakas);
|
||||||
}
|
}
|
||||||
|
|
||||||
BorderPane root = new BorderPane();
|
|
||||||
root.setPadding(oletusInsets);
|
|
||||||
this.getChildren().add(root);
|
|
||||||
|
|
||||||
BorderPane yläpalkki = new BorderPane();
|
BorderPane yläpalkki = new BorderPane();
|
||||||
Label infoTeksti = new FontLabel(tekstiFont, "Kuljetuslistojen luonti");
|
Label infoTeksti = new FontLabel(TEKSTI_FONT, "Kuljetuslistojen luonti");
|
||||||
yläpalkki.setLeft(infoTeksti);
|
yläpalkki.setLeft(infoTeksti);
|
||||||
|
|
||||||
HBox kierroksenValintaLaatikko = new HBox();
|
HBox kierroksenValintaLaatikko = new HBox();
|
||||||
kierroksenValintaLaatikko.setSpacing(spacing);
|
kierroksenValintaLaatikko.setSpacing(SPACING);
|
||||||
kierroksenValintaLaatikko.setAlignment(Pos.CENTER);
|
kierroksenValintaLaatikko.setAlignment(Pos.CENTER);
|
||||||
Button valitse = new Button("Valitse");
|
Button valitse = new Button("Valitse");
|
||||||
valitse.setFont(buttonFont);
|
valitse.setFont(BUTTON_FONT);
|
||||||
valitse.setOnAction(_ -> päivitäListanäkymä());
|
valitse.setOnAction(_ -> päivitäListanäkymä());
|
||||||
tallennusStatus = new FontLabel(tekstiFont, "Tallennettu: Kyllä");
|
tallennusStatus = new FontLabel(TEKSTI_FONT, "Tallennettu: Kyllä");
|
||||||
tallennusStatus.setFont(tekstiFont);
|
tallennusStatus.setFont(TEKSTI_FONT);
|
||||||
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 FontLabel(tekstiFont, "Päivämäärä:"),
|
new FontLabel(TEKSTI_FONT, "Päivämäärä:"),
|
||||||
datePicker,
|
datePicker,
|
||||||
new FontLabel(tekstiFont, "Kierros:"),
|
new FontLabel(TEKSTI_FONT, "Kierros:"),
|
||||||
kierrosValinta, tallennusStatus);
|
kierrosValinta, tallennusStatus);
|
||||||
yläpalkki.setCenter(kierroksenValintaLaatikko);
|
yläpalkki.setCenter(kierroksenValintaLaatikko);
|
||||||
|
|
||||||
HBox napit = new HBox();
|
HBox napit = new HBox();
|
||||||
napit.setSpacing(spacing);
|
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(BUTTON_FONT);
|
||||||
Button tallenna = new Button("Tallenna");
|
Button tallenna = new Button("Tallenna");
|
||||||
tallenna.setFont(buttonFont);
|
tallenna.setFont(BUTTON_FONT);
|
||||||
tallenna.setOnAction(_ -> tallennaKierros());
|
tallenna.setOnAction(_ -> tallennaKierros());
|
||||||
btnTulosta = new Button("Tulosta lista");
|
btnTulosta = new Button("Tulosta lista");
|
||||||
btnTulosta.setDisable(true);
|
btnTulosta.setDisable(true);
|
||||||
btnTulosta.setFont(buttonFont);
|
btnTulosta.setFont(BUTTON_FONT);
|
||||||
btnTulosta.setOnAction(_ -> tulostaLista());
|
btnTulosta.setOnAction(_ -> tulostaLista());
|
||||||
napit.getChildren().addAll(poista, tallenna, btnTulosta);
|
napit.getChildren().addAll(poista, tallenna, btnTulosta);
|
||||||
yläpalkki.setRight(napit);
|
yläpalkki.setRight(napit);
|
||||||
root.setTop(yläpalkki);
|
root.setTop(yläpalkki);
|
||||||
|
|
||||||
tableView.setEditable(true);
|
tableView.setEditable(true);
|
||||||
tableView.setPlaceholder(new Label("Valitse kierros aloittaaksesi"));
|
tableView.setPlaceholder(new FontLabel(BUTTON_FONT, "Valitse kierros aloittaaksesi"));
|
||||||
root.setCenter(tableView);
|
root.setCenter(tableView);
|
||||||
|
|
||||||
TableColumn<Kuljetus, Boolean> tcNappi = new TableColumn<>("Kuljeta");
|
TableColumn<Kuljetus, Boolean> tcNappi = new TableColumn<>("Kuljeta");
|
||||||
@@ -97,7 +95,7 @@ public class KuljetusListat extends TabPohja {
|
|||||||
tcNappi.setCellValueFactory(features -> new SimpleBooleanProperty(features.getValue() != null));
|
tcNappi.setCellValueFactory(features -> new SimpleBooleanProperty(features.getValue() != null));
|
||||||
|
|
||||||
TableColumn<Kuljetus, String> tcNimi = new TableColumn<>("Nimi");
|
TableColumn<Kuljetus, String> tcNimi = new TableColumn<>("Nimi");
|
||||||
tcNimi.setMinWidth(150);
|
tcNimi.setMinWidth(200);
|
||||||
tcNimi.setCellFactory(TextFieldTableCell.forTableColumn());
|
tcNimi.setCellFactory(TextFieldTableCell.forTableColumn());
|
||||||
tcNimi.setCellValueFactory(new PropertyValueFactory<>("nimi"));
|
tcNimi.setCellValueFactory(new PropertyValueFactory<>("nimi"));
|
||||||
tcNimi.setOnEditCommit((TableColumn.CellEditEvent<Kuljetus, String> event) -> {event.getTableView().getItems().get(event.getTablePosition().getRow()).setNimi(event.getNewValue()); tallennusStatus.setText("Tallennettu: Ei");});
|
tcNimi.setOnEditCommit((TableColumn.CellEditEvent<Kuljetus, String> event) -> {event.getTableView().getItems().get(event.getTablePosition().getRow()).setNimi(event.getNewValue()); tallennusStatus.setText("Tallennettu: Ei");});
|
||||||
@@ -153,7 +151,6 @@ public class KuljetusListat extends TabPohja {
|
|||||||
"-fx-font-family: " + Main.properties.getProperty("tekstiFontti"));
|
"-fx-font-family: " + Main.properties.getProperty("tekstiFontti"));
|
||||||
}
|
}
|
||||||
tcNimi.setEditable(false);
|
tcNimi.setEditable(false);
|
||||||
tcNimi.setResizable(false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void päivitäListanäkymä() {
|
private void päivitäListanäkymä() {
|
||||||
@@ -220,4 +217,10 @@ public class KuljetusListat extends TabPohja {
|
|||||||
private void tulostaLista() {
|
private void tulostaLista() {
|
||||||
new KuljetusListaTulostaja().luoKuljetusLista(tableView.getItems(), kierrosValinta.getValue());
|
new KuljetusListaTulostaja().luoKuljetusLista(tableView.getItems(), kierrosValinta.getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void päivitä() {
|
||||||
|
if (kierrosValinta.getValue() == null) return;
|
||||||
|
päivitäListanäkymä();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -36,34 +36,32 @@ public class KuljetusRaportit extends TabPohja {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public KuljetusRaportit() {
|
public KuljetusRaportit() {
|
||||||
BorderPane root = new BorderPane();
|
super("Raportit");
|
||||||
root.setPadding(oletusInsets);
|
|
||||||
this.getChildren().add(root);
|
|
||||||
|
|
||||||
BorderPane yläpalkki = new BorderPane();
|
BorderPane yläpalkki = new BorderPane();
|
||||||
root.setTop(yläpalkki);
|
root.setTop(yläpalkki);
|
||||||
|
|
||||||
Label infoTeksti = new FontLabel(tekstiFont, "Kuljetusraportit. \nTarkka-valinnalla koostetun raportin \ntulostaminen paperille ei suositeltua.");
|
Label infoTeksti = new FontLabel(TEKSTI_FONT, "Kuljetusraportit. \nTarkka-valinnalla koostetun raportin \ntulostaminen paperille ei suositeltua.");
|
||||||
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(spacing);
|
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);
|
tarkka.setFont(TEKSTI_FONT);
|
||||||
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");
|
||||||
haeKuljetukset.setFont(buttonFont);
|
haeKuljetukset.setFont(BUTTON_FONT);
|
||||||
haeKuljetukset.setOnAction(_ ->haeRaportti());
|
haeKuljetukset.setOnAction(_ ->haeRaportti());
|
||||||
Button tulostaRaportti = new Button("Tulosta raportti");
|
Button tulostaRaportti = new Button("Tulosta raportti");
|
||||||
tulostaRaportti.setFont(buttonFont);
|
tulostaRaportti.setFont(BUTTON_FONT);
|
||||||
tulostaRaportti.setOnAction(_ ->tulostaRaportti());
|
tulostaRaportti.setOnAction(_ ->tulostaRaportti());
|
||||||
yläpalkinNapit.getChildren().addAll(tarkka,
|
yläpalkinNapit.getChildren().addAll(tarkka,
|
||||||
//new FontLabel(tekstiFont,"Hae kuljetukset välillä:"),
|
//new FontLabel(tekstiFont,"Hae kuljetukset välillä:"),
|
||||||
alkuPvm, new FontLabel(tekstiFont,"-"), loppuPvm,
|
alkuPvm, new FontLabel(TEKSTI_FONT,"-"), loppuPvm,
|
||||||
haeKuljetukset, tulostaRaportti);
|
haeKuljetukset, tulostaRaportti);
|
||||||
|
|
||||||
root.setCenter(tableView);
|
root.setCenter(tableView);
|
||||||
@@ -89,6 +87,10 @@ public class KuljetusRaportit extends TabPohja {
|
|||||||
tcJälkiruoat.setMinWidth(100);
|
tcJälkiruoat.setMinWidth(100);
|
||||||
tcJälkiruoat.setCellValueFactory(new PropertyValueFactory<>("jälkiruoat"));
|
tcJälkiruoat.setCellValueFactory(new PropertyValueFactory<>("jälkiruoat"));
|
||||||
|
|
||||||
|
TableColumn<RaporttiRivi, String> tcErva = new TableColumn<>("Erityisruokavalio");
|
||||||
|
tcErva.setMinWidth(200);
|
||||||
|
tcErva.setCellValueFactory(new PropertyValueFactory<>("erva"));
|
||||||
|
|
||||||
TableColumn<RaporttiRivi, String> tcLisätiedot = new TableColumn<>("Lisätiedot");
|
TableColumn<RaporttiRivi, String> tcLisätiedot = new TableColumn<>("Lisätiedot");
|
||||||
tcLisätiedot.setMinWidth(300);
|
tcLisätiedot.setMinWidth(300);
|
||||||
tcLisätiedot.setCellValueFactory(new PropertyValueFactory<>("lisätiedot"));
|
tcLisätiedot.setCellValueFactory(new PropertyValueFactory<>("lisätiedot"));
|
||||||
@@ -109,9 +111,9 @@ public class KuljetusRaportit extends TabPohja {
|
|||||||
tcYhteyshenkilönSähköposti.setMinWidth(200);
|
tcYhteyshenkilönSähköposti.setMinWidth(200);
|
||||||
tcYhteyshenkilönSähköposti.setCellValueFactory(new PropertyValueFactory<>("yhteyshenkilönSähköposti"));
|
tcYhteyshenkilönSähköposti.setCellValueFactory(new PropertyValueFactory<>("yhteyshenkilönSähköposti"));
|
||||||
|
|
||||||
tableView.getColumns().addAll(tcNimi, tcPvm, tcSalaatit, tcPääruoat, tcJälkiruoat, tcLisätiedot,
|
tableView.getColumns().addAll(tcNimi, tcPvm, tcSalaatit, tcPääruoat, tcJälkiruoat, tcErva, tcLisätiedot,
|
||||||
tcYhteyshenkilönNimi, tcLaskutusOsoite, tcYhteyshenkilönPuhelinnumero, tcYhteyshenkilönSähköposti);
|
tcYhteyshenkilönNimi, tcLaskutusOsoite, tcYhteyshenkilönPuhelinnumero, tcYhteyshenkilönSähköposti);
|
||||||
tableView.setPlaceholder(new FontLabel(buttonFont, "Hae raportti"));
|
tableView.setPlaceholder(new FontLabel(BUTTON_FONT, "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);
|
||||||
@@ -122,4 +124,7 @@ public class KuljetusRaportit extends TabPohja {
|
|||||||
"-fx-font-family: " + Main.properties.getProperty("tekstiFontti"));
|
"-fx-font-family: " + Main.properties.getProperty("tekstiFontti"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void päivitä() {}
|
||||||
}
|
}
|
||||||
@@ -17,8 +17,8 @@ public class AsiakasMCLVListCell extends MultiColumnListView.ColumnListCell<Asia
|
|||||||
|
|
||||||
public AsiakasMCLVListCell(MultiColumnListView<Asiakas> multiColumnListView) {
|
public AsiakasMCLVListCell(MultiColumnListView<Asiakas> multiColumnListView) {
|
||||||
super(multiColumnListView);
|
super(multiColumnListView);
|
||||||
this.setMinHeight(TabPohja.tekstiFont.getSize()*4);
|
this.setMinHeight(TabPohja.TEKSTI_FONT.getSize()*4);
|
||||||
this.setMaxHeight(TabPohja.tekstiFont.getSize()*4);
|
this.setMaxHeight(TabPohja.TEKSTI_FONT.getSize()*4);
|
||||||
|
|
||||||
VBox content = new VBox();
|
VBox content = new VBox();
|
||||||
content.visibleProperty().bind(placeholder.not().and(emptyProperty().not()));
|
content.visibleProperty().bind(placeholder.not().and(emptyProperty().not()));
|
||||||
@@ -29,7 +29,7 @@ public class AsiakasMCLVListCell extends MultiColumnListView.ColumnListCell<Asia
|
|||||||
contentPlaceholder.managedProperty().bind(placeholder);
|
contentPlaceholder.managedProperty().bind(placeholder);
|
||||||
|
|
||||||
Label label = new Label();
|
Label label = new Label();
|
||||||
label.setFont(TabPohja.tekstiFont);
|
label.setFont(TabPohja.TEKSTI_FONT);
|
||||||
label.textProperty().bind(textProperty());
|
label.textProperty().bind(textProperty());
|
||||||
|
|
||||||
wrapper = new StackPane(content, contentPlaceholder, label);
|
wrapper = new StackPane(content, contentPlaceholder, label);
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ import javafx.geometry.Pos;
|
|||||||
import javafx.scene.Scene;
|
import javafx.scene.Scene;
|
||||||
import javafx.scene.control.Button;
|
import javafx.scene.control.Button;
|
||||||
import javafx.scene.layout.*;
|
import javafx.scene.layout.*;
|
||||||
import javafx.scene.paint.Color;
|
|
||||||
import javafx.stage.Stage;
|
import javafx.stage.Stage;
|
||||||
import one.jpro.platform.mdfx.MarkdownView;
|
import one.jpro.platform.mdfx.MarkdownView;
|
||||||
|
|
||||||
@@ -17,8 +16,8 @@ public class MuutosIlmoitus extends Stage {
|
|||||||
public MuutosIlmoitus() {
|
public MuutosIlmoitus() {
|
||||||
super();
|
super();
|
||||||
VBox root = new VBox();
|
VBox root = new VBox();
|
||||||
root.setBorder(TabPohja.oletusBorder);
|
root.setBorder(TabPohja.BORDER);
|
||||||
root.setPadding(TabPohja.oletusInsets);
|
root.setPadding(TabPohja.INSETS);
|
||||||
root.setAlignment(Pos.CENTER);
|
root.setAlignment(Pos.CENTER);
|
||||||
root.setSpacing(10);
|
root.setSpacing(10);
|
||||||
|
|
||||||
@@ -39,7 +38,7 @@ public class MuutosIlmoitus extends Stage {
|
|||||||
root.getChildren().add(markdownView);
|
root.getChildren().add(markdownView);
|
||||||
|
|
||||||
Button ok = new Button("OK");
|
Button ok = new Button("OK");
|
||||||
ok.setFont(TabPohja.buttonFont);
|
ok.setFont(TabPohja.BUTTON_FONT);
|
||||||
ok.setOnAction(e -> this.close());
|
ok.setOnAction(e -> this.close());
|
||||||
root.getChildren().add(ok);
|
root.getChildren().add(ok);
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package fi.lpam.gui.elementit;
|
|||||||
|
|
||||||
import fi.lpam.Main;
|
import fi.lpam.Main;
|
||||||
import javafx.geometry.Insets;
|
import javafx.geometry.Insets;
|
||||||
|
import javafx.scene.control.Tab;
|
||||||
import javafx.scene.layout.*;
|
import javafx.scene.layout.*;
|
||||||
import javafx.scene.paint.Color;
|
import javafx.scene.paint.Color;
|
||||||
import javafx.scene.text.Font;
|
import javafx.scene.text.Font;
|
||||||
@@ -10,25 +11,44 @@ import javafx.scene.text.FontWeight;
|
|||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Käyttöliittymän pohja
|
* Käyttöliittymän välilehden pohja
|
||||||
*/
|
*/
|
||||||
public class TabPohja extends StackPane {
|
public class TabPohja extends Tab {
|
||||||
public static Insets oletusInsets;
|
public static Insets INSETS;
|
||||||
public static Border oletusBorder = new Border(new BorderStroke(Color.BLACK, BorderStrokeStyle.SOLID, new CornerRadii(5), BorderWidths.DEFAULT));
|
public static Border BORDER = new Border(new BorderStroke(Color.BLACK, BorderStrokeStyle.SOLID, new CornerRadii(5), BorderWidths.DEFAULT));
|
||||||
public static String oletusStyle;
|
public static String STYLE;
|
||||||
public static Font buttonFont;
|
public static Font BUTTON_FONT;
|
||||||
public static Font tekstiFont;
|
public static Font TEKSTI_FONT;
|
||||||
public static double spacing;
|
public static double SPACING;
|
||||||
|
|
||||||
public TabPohja() {
|
protected BorderPane root = new BorderPane();
|
||||||
|
|
||||||
|
public TabPohja(String title) {
|
||||||
|
super(title);
|
||||||
Properties prop = Main.properties;
|
Properties prop = Main.properties;
|
||||||
oletusInsets = new Insets(Double.parseDouble(prop.getProperty("insets")));
|
INSETS = new Insets(Double.parseDouble(prop.getProperty("insets")));
|
||||||
spacing = Double.parseDouble(prop.getProperty("insets"));
|
SPACING = Double.parseDouble(prop.getProperty("insets"));
|
||||||
oletusStyle = "-fx-background-color: " + prop.getProperty("taustaVari") + ";";
|
STYLE = "-fx-background-color: " + prop.getProperty("taustaVari");
|
||||||
buttonFont = Font.font(prop.getProperty("buttonFontti"), FontWeight.BOLD, Double.parseDouble(prop.getProperty("buttonFonttiKoko")));
|
BUTTON_FONT = 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")));
|
TEKSTI_FONT = Font.font(prop.getProperty("tekstiFontti"), FontWeight.NORMAL, Double.parseDouble(prop.getProperty("tekstiFonttiKoko")));
|
||||||
this.setStyle(oletusStyle);
|
|
||||||
this.setPadding(oletusInsets);
|
this.setStyle(
|
||||||
this.setBorder(oletusBorder);
|
"-fx-font-size: " + Main.properties.getProperty("buttonFonttiKoko") + "px;" +
|
||||||
|
"-fx-font-weight: bold;" +
|
||||||
|
"-fx-font-family: " + Main.properties.getProperty("buttonFontti") + ";"
|
||||||
|
);
|
||||||
|
this.setClosable(false);
|
||||||
|
this.setOnSelectionChanged(e -> {if (this.isSelected()) päivitä();});
|
||||||
|
|
||||||
|
root.setStyle(STYLE);
|
||||||
|
root.setPadding(INSETS);
|
||||||
|
root.setBorder(BORDER);
|
||||||
|
this.setContent(root);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Metodi, jota kutsutaan kun tähän välilehteen palataan
|
||||||
|
* Luokan toteuttaja määrittää, mitä tarvitsee päivittää välilehteen palattaessa
|
||||||
|
*/
|
||||||
|
public void päivitä() {}
|
||||||
}
|
}
|
||||||
@@ -3,6 +3,7 @@ package fi.lpam.gui.tableCell;
|
|||||||
import fi.lpam.dataluokat.Asiakas;
|
import fi.lpam.dataluokat.Asiakas;
|
||||||
import fi.lpam.dataluokat.Kuljetus;
|
import fi.lpam.dataluokat.Kuljetus;
|
||||||
import fi.lpam.gui.KuljetusListat;
|
import fi.lpam.gui.KuljetusListat;
|
||||||
|
import fi.lpam.gui.elementit.TabPohja;
|
||||||
import javafx.geometry.Insets;
|
import javafx.geometry.Insets;
|
||||||
import javafx.scene.control.Button;
|
import javafx.scene.control.Button;
|
||||||
import javafx.scene.control.ContentDisplay;
|
import javafx.scene.control.ContentDisplay;
|
||||||
@@ -16,7 +17,8 @@ public class KuljetaTableCell extends TableCell<Kuljetus, Boolean> {
|
|||||||
|
|
||||||
public KuljetaTableCell(HashMap<Integer, Asiakas> asiakkaat) {
|
public KuljetaTableCell(HashMap<Integer, Asiakas> asiakkaat) {
|
||||||
paddedNappi.setPadding(new Insets(3));
|
paddedNappi.setPadding(new Insets(3));
|
||||||
Button nappi = new Button("Muuta");
|
Button nappi = new Button("Kuljeta?");
|
||||||
|
nappi.setFont(TabPohja.TEKSTI_FONT);
|
||||||
paddedNappi.getChildren().add(nappi);
|
paddedNappi.getChildren().add(nappi);
|
||||||
nappi.setOnMouseClicked(_ -> {
|
nappi.setOnMouseClicked(_ -> {
|
||||||
getTableView().getSelectionModel().select(getIndex());
|
getTableView().getSelectionModel().select(getIndex());
|
||||||
|
|||||||
@@ -1,3 +1,12 @@
|
|||||||
|
# 3.2.1
|
||||||
|
- Asiakkaan erityisruokavalio osaksi raporttia
|
||||||
|
|
||||||
|
# 3.2.0
|
||||||
|
- Lisätty Asetukset -välilehti
|
||||||
|
- Asiakkaan voi poistaa ilman, että se rikkoo kierroksia
|
||||||
|
- Ohjelma ei enään kaadu, mikäli on tallentamaton kierros kierroshallinnassa
|
||||||
|
- Yhtenäistetty ulkoasua välilehtien välillä
|
||||||
|
|
||||||
# 3.1.0
|
# 3.1.0
|
||||||
- Muutosloki näkyy käynnistäessä uutta versiota ensimmäistä kertaa
|
- Muutosloki näkyy käynnistäessä uutta versiota ensimmäistä kertaa
|
||||||
- Ohjelman taustariippuvuuksia päivitetty
|
- Ohjelman taustariippuvuuksia päivitetty
|
||||||
|
|||||||
@@ -1,11 +1,13 @@
|
|||||||
version=${project.version}
|
version=${project.version}
|
||||||
|
|
||||||
buttonFonttiKoko=16
|
buttonFonttiKoko=16
|
||||||
buttonFontti=Open Sans
|
buttonFontti=Arial
|
||||||
|
|
||||||
tekstiFonttiKoko=16
|
tekstiFonttiKoko=16
|
||||||
tekstiFontti=Open Sans
|
tekstiFontti=Arial
|
||||||
|
|
||||||
tulostusFonttiKoko=13
|
tulostusFonttiKoko=13
|
||||||
|
|
||||||
taustaVari=lightgray
|
taustaVari=lightgray
|
||||||
|
|
||||||
insets=5
|
insets=5
|
||||||
Reference in New Issue
Block a user