Compare commits
6 Commits
3.1.0
..
624c2bf388
| Author | SHA1 | Date | |
|---|---|---|---|
| 624c2bf388 | |||
| 89d30b8ac9 | |||
| 9cc55be771 | |||
| 71b06ff075 | |||
| 5344efd62c | |||
| 6fb81c27aa |
@@ -1,9 +1,6 @@
|
|||||||
package fi.lpam;
|
package fi.lpam;
|
||||||
import fi.lpam.dataluokat.Tietokanta;
|
import fi.lpam.dataluokat.Tietokanta;
|
||||||
import fi.lpam.gui.Asiakashallinta;
|
import fi.lpam.gui.*;
|
||||||
import fi.lpam.gui.Kierroshallinta;
|
|
||||||
import fi.lpam.gui.KuljetusRaportit;
|
|
||||||
import fi.lpam.gui.KuljetusListat;
|
|
||||||
import fi.lpam.gui.elementit.MuutosIlmoitus;
|
import fi.lpam.gui.elementit.MuutosIlmoitus;
|
||||||
import javafx.application.Application;
|
import javafx.application.Application;
|
||||||
import javafx.geometry.Side;
|
import javafx.geometry.Side;
|
||||||
@@ -29,15 +26,16 @@ public class App extends Application {
|
|||||||
TabPane root = new TabPane();
|
TabPane root = new TabPane();
|
||||||
root.setSide(Side.LEFT);
|
root.setSide(Side.LEFT);
|
||||||
root.setTabMinWidth(50);
|
root.setTabMinWidth(50);
|
||||||
root.setTabMinHeight(35);
|
root.setTabMinHeight(Double.parseDouble(Main.properties.getProperty("buttonFonttiKoko"))*2);
|
||||||
root.setTabMaxHeight(50);
|
root.setTabMaxHeight(Double.parseDouble(Main.properties.getProperty("buttonFonttiKoko"))*2);
|
||||||
|
|
||||||
Tab asiakasHallinta, kierrostenHallinta, kuljetusListat, kuljetetut;
|
Tab asiakasHallinta, kierrostenHallinta, kuljetusListat, kuljetetut, asetukset;
|
||||||
asiakasHallinta = new Tab("Asiakashallinta", new Asiakashallinta());
|
asiakasHallinta = new Tab("Asiakashallinta", new Asiakashallinta());
|
||||||
kierrostenHallinta = new Tab("Kierrostenhallinta");
|
kierrostenHallinta = new Tab("Kierrostenhallinta");
|
||||||
kuljetusListat = new Tab("Kuljetuslistat");
|
kuljetusListat = new Tab("Kuljetuslistat");
|
||||||
kuljetetut = new Tab("Kuljetetut");
|
kuljetetut = new Tab("Kuljetetut");
|
||||||
root.getTabs().addAll(asiakasHallinta, kierrostenHallinta, kuljetusListat, kuljetetut);
|
asetukset = new Tab("Asetukset");
|
||||||
|
root.getTabs().addAll(asiakasHallinta, kierrostenHallinta, kuljetusListat, kuljetetut, asetukset);
|
||||||
|
|
||||||
root.getSelectionModel().selectedItemProperty().addListener((_, _, newValue) -> {
|
root.getSelectionModel().selectedItemProperty().addListener((_, _, newValue) -> {
|
||||||
switch (newValue.getText()) {
|
switch (newValue.getText()) {
|
||||||
@@ -45,12 +43,16 @@ public class App extends Application {
|
|||||||
case "Kierrostenhallinta": newValue.setContent(new Kierroshallinta()); break;
|
case "Kierrostenhallinta": newValue.setContent(new Kierroshallinta()); break;
|
||||||
case "Kuljetuslistat": newValue.setContent(new KuljetusListat()); break;
|
case "Kuljetuslistat": newValue.setContent(new KuljetusListat()); break;
|
||||||
case "Kuljetetut": newValue.setContent(new KuljetusRaportit()); break;
|
case "Kuljetetut": newValue.setContent(new KuljetusRaportit()); break;
|
||||||
|
case "Asetukset": newValue.setContent(new Asetukset()); break;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
for (Tab tab : root.getTabs()) {
|
for (Tab tab : root.getTabs()) {
|
||||||
tab.setClosable(false);
|
tab.setClosable(false);
|
||||||
tab.setStyle("-fx-font-size: 18px; -fx-font-weight: bold; -fx-font-family: Open Sans");
|
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);
|
Scene scene = new Scene(root);
|
||||||
@@ -66,6 +68,6 @@ public class App extends Application {
|
|||||||
primaryStage.show();
|
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"))));
|
||||||
|
|
||||||
if (!Main.properties.getProperty("version").equals(Main.properties.getProperty("viimeisinVersio"))) new MuutosIlmoitus();
|
if (!Main.properties.getProperty("version").equals(Main.properties.getProperty("viimeisinVersio", "0.0.0"))) new MuutosIlmoitus();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,117 @@
|
|||||||
|
package fi.lpam.gui;
|
||||||
|
|
||||||
|
import fi.lpam.Main;
|
||||||
|
import fi.lpam.gui.elementit.TabPohja;
|
||||||
|
import javafx.collections.FXCollections;
|
||||||
|
import javafx.collections.ObservableList;
|
||||||
|
import javafx.geometry.Pos;
|
||||||
|
import javafx.scene.control.Button;
|
||||||
|
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.HBox;
|
||||||
|
import javafx.scene.text.Font;
|
||||||
|
|
||||||
|
import java.util.Properties;
|
||||||
|
|
||||||
|
|
||||||
|
public class Asetukset extends TabPohja {
|
||||||
|
private static final Properties prop = Main.properties;
|
||||||
|
private static final ObservableList<String> järjestelmäFontit = FXCollections.observableArrayList(Font.getFamilies());
|
||||||
|
|
||||||
|
|
||||||
|
public Asetukset() {
|
||||||
|
BorderPane root = new BorderPane();
|
||||||
|
root.setPadding(oletusInsets);
|
||||||
|
|
||||||
|
HBox yläpalkki = new HBox();
|
||||||
|
yläpalkki.setSpacing(5);
|
||||||
|
yläpalkki.setAlignment(Pos.CENTER_RIGHT);
|
||||||
|
Button btnNollaa = new Button("Palauta oletukset");
|
||||||
|
btnNollaa.setFont(buttonFont);
|
||||||
|
btnNollaa.setOnAction(_ -> palautaOletukset());
|
||||||
|
yläpalkki.getChildren().add(btnNollaa);
|
||||||
|
root.setTop(yläpalkki);
|
||||||
|
|
||||||
|
root.setLeft(getFonttiAsetukset());
|
||||||
|
|
||||||
|
Label asetukset = new Label("Asetukset");
|
||||||
|
asetukset.setFont(tekstiFont);
|
||||||
|
root.setRight(asetukset);
|
||||||
|
|
||||||
|
this.getChildren().add(root);
|
||||||
|
}
|
||||||
|
|
||||||
|
private Spinner<Integer> tekstiFonttiKoko, buttonFonttiKoko, tulostusFonttiKoko, insets;
|
||||||
|
private ComboBox<String> tekstiFontti, buttonFontti;
|
||||||
|
private int minFonttiKoko = 8;
|
||||||
|
private int maxFonttiKoko = 18;
|
||||||
|
private int stepFontti = 1;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Luo paneelin fonttien asetusten säätämiseen
|
||||||
|
* @return paneeli
|
||||||
|
*/
|
||||||
|
private GridPane getFonttiAsetukset() {
|
||||||
|
GridPane root = new GridPane();
|
||||||
|
root.setAlignment(Pos.CENTER);
|
||||||
|
root.setHgap(10);
|
||||||
|
root.setVgap(10);
|
||||||
|
root.setBorder(oletusBorder);
|
||||||
|
root.setPadding(oletusInsets);
|
||||||
|
int row = 0;
|
||||||
|
|
||||||
|
Label otsikko = new Label("Fonttien asetukset");
|
||||||
|
otsikko.setFont(tekstiFont);
|
||||||
|
root.addRow(row++, otsikko);
|
||||||
|
|
||||||
|
tekstiFonttiKoko = new Spinner<>(minFonttiKoko, maxFonttiKoko, Double.parseDouble(prop.getProperty("tekstiFonttiKoko")), stepFontti);
|
||||||
|
tekstiFonttiKoko.setEditable(true);
|
||||||
|
tekstiFonttiKoko.valueProperty().addListener((_) -> prop.setProperty("tekstiFonttiKoko", String.valueOf(tekstiFonttiKoko.getValue())));
|
||||||
|
Label tekstinKoko = new Label("Tekstin koko");
|
||||||
|
tekstinKoko.setFont(tekstiFont);
|
||||||
|
root.addRow(row++, tekstinKoko, tekstiFonttiKoko);
|
||||||
|
|
||||||
|
tekstiFontti = new ComboBox<>();
|
||||||
|
tekstiFontti.setItems(järjestelmäFontit);
|
||||||
|
tekstiFontti.getSelectionModel().select(prop.getProperty("tekstiFontti"));
|
||||||
|
tekstiFontti.valueProperty().addListener((_) -> prop.setProperty("tekstiFontti", tekstiFontti.getValue()));
|
||||||
|
Label tekstinFontti = new Label("Tekstin fontti");
|
||||||
|
tekstinFontti.setFont(tekstiFont);
|
||||||
|
root.addRow(row++, tekstinFontti, tekstiFontti);
|
||||||
|
|
||||||
|
buttonFonttiKoko = new Spinner<>(minFonttiKoko, maxFonttiKoko, Double.parseDouble(prop.getProperty("buttonFonttiKoko")), stepFontti);
|
||||||
|
buttonFonttiKoko.valueProperty().addListener((_) -> prop.setProperty("buttonFonttiKoko", String.valueOf(buttonFonttiKoko.getValue())));
|
||||||
|
Label nappiTekstinKoko = new Label("Painikkeiden koko");
|
||||||
|
nappiTekstinKoko.setFont(tekstiFont);
|
||||||
|
root.addRow(row++, nappiTekstinKoko, buttonFonttiKoko);
|
||||||
|
|
||||||
|
buttonFontti = new ComboBox<>();
|
||||||
|
buttonFontti.setItems(järjestelmäFontit);
|
||||||
|
buttonFontti.getSelectionModel().select(prop.getProperty("buttonFontti"));
|
||||||
|
buttonFontti.valueProperty().addListener((_) -> prop.setProperty("buttonFontti", buttonFontti.getValue()));
|
||||||
|
Label napinFontti = new Label("Painikkeiden fontti");
|
||||||
|
napinFontti.setFont(tekstiFont);
|
||||||
|
root.addRow(row++, napinFontti, buttonFontti);
|
||||||
|
|
||||||
|
tulostusFonttiKoko = new Spinner<>(minFonttiKoko, maxFonttiKoko, Double.parseDouble(prop.getProperty("tulostusFonttiKoko")), stepFontti);
|
||||||
|
tulostusFonttiKoko.valueProperty().addListener((_) -> prop.setProperty("tulostusFonttiKoko", String.valueOf(tulostusFonttiKoko.getValue())));
|
||||||
|
Label tulostusFontinKoko = new Label("Tulostusfontin koko");
|
||||||
|
tulostusFontinKoko.setFont(tekstiFont);
|
||||||
|
root.addRow(row++, tulostusFontinKoko, tulostusFonttiKoko);
|
||||||
|
|
||||||
|
insets = new Spinner<>(0, 10, Double.parseDouble(prop.getProperty("insets")), 1);
|
||||||
|
insets.valueProperty().addListener((_) -> prop.setProperty("insets", String.valueOf(insets.getValue())));
|
||||||
|
Label insetsi = new Label("Yleinen fyllinki");
|
||||||
|
insetsi.setFont(tekstiFont);
|
||||||
|
root.addRow(row++, insetsi, insets);
|
||||||
|
|
||||||
|
return root;
|
||||||
|
}
|
||||||
|
|
||||||
|
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,8 @@ 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äpalkki.setRight(yläpalkinNapit);
|
yläpalkki.setRight(yläpalkinNapit);
|
||||||
|
|
||||||
Button avaaVersioloki = new Button("VERSIOLOKI");
|
Button avaaVersioloki = new Button("VERSIOLOKI");
|
||||||
@@ -117,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);
|
||||||
@@ -144,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"));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,8 @@ 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.AsiakasListCell;
|
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;
|
||||||
@@ -30,7 +31,7 @@ public class Kierroshallinta extends TabPohja {
|
|||||||
root.setPadding(oletusInsets);
|
root.setPadding(oletusInsets);
|
||||||
root.setCenter(mclv);
|
root.setCenter(mclv);
|
||||||
|
|
||||||
mclv.setCellFactory(_ -> new AsiakasListCell(mclv));
|
mclv.setCellFactory(_ -> new AsiakasMCLVListCell(mclv));
|
||||||
mclv.setPlaceholderFrom(new Asiakas(""));
|
mclv.setPlaceholderFrom(new Asiakas(""));
|
||||||
mclv.setPlaceholderTo(new Asiakas(""));
|
mclv.setPlaceholderTo(new Asiakas(""));
|
||||||
rakennaSarakkeet();
|
rakennaSarakkeet();
|
||||||
@@ -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();
|
||||||
@@ -51,11 +51,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(TabPohja.buttonFont);
|
lisääKierros.setFont(buttonFont);
|
||||||
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(TabPohja.buttonFont);
|
tallenna.setFont(buttonFont);
|
||||||
tallenna.setOnAction(_ ->tallennaKierrokset());
|
tallenna.setOnAction(_ ->tallennaKierrokset());
|
||||||
yläpalkinNapit.getChildren().add(tallenna);
|
yläpalkinNapit.getChildren().add(tallenna);
|
||||||
|
|
||||||
@@ -84,7 +84,8 @@ public class Kierroshallinta extends TabPohja {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
MultiColumnListView.ListViewColumn<Asiakas> colEiKierroksella = new MultiColumnListView.ListViewColumn<>();
|
MultiColumnListView.ListViewColumn<Asiakas> colEiKierroksella = new MultiColumnListView.ListViewColumn<>();
|
||||||
colEiKierroksella.setHeader(new Label("Ei vielä kierroksella"));
|
Label labelEiKierroksella = new FontLabel(tekstiFont, "Ei vielä kierroksella");
|
||||||
|
colEiKierroksella.setHeader(labelEiKierroksella);
|
||||||
colEiKierroksella.setItems(FXCollections.observableArrayList(eiKierroksella));
|
colEiKierroksella.setItems(FXCollections.observableArrayList(eiKierroksella));
|
||||||
mclv.getColumns().add(colEiKierroksella);
|
mclv.getColumns().add(colEiKierroksella);
|
||||||
}
|
}
|
||||||
@@ -92,7 +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<>();
|
||||||
uusiSarake.setHeader(new Label("Kierros " + kierros.getKierrosNumero()));
|
uusiSarake.setHeader(new FontLabel(tekstiFont, "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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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, "Päivämäärä:"),
|
||||||
datePicker,
|
datePicker,
|
||||||
new Label("Valitse kierros:"),
|
new FontLabel(tekstiFont, "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 \ntulostaminen 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"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+4
-4
@@ -12,13 +12,13 @@ import javafx.scene.layout.StackPane;
|
|||||||
import javafx.scene.layout.VBox;
|
import javafx.scene.layout.VBox;
|
||||||
|
|
||||||
|
|
||||||
public class AsiakasListCell extends MultiColumnListView.ColumnListCell<Asiakas> {
|
public class AsiakasMCLVListCell extends MultiColumnListView.ColumnListCell<Asiakas> {
|
||||||
private final StackPane wrapper;
|
private final StackPane wrapper;
|
||||||
|
|
||||||
public AsiakasListCell(MultiColumnListView<Asiakas> multiColumnListView) {
|
public AsiakasMCLVListCell(MultiColumnListView<Asiakas> multiColumnListView) {
|
||||||
super(multiColumnListView);
|
super(multiColumnListView);
|
||||||
this.setMinHeight(60);
|
this.setMinHeight(TabPohja.tekstiFont.getSize()*4);
|
||||||
this.setMaxHeight(60);
|
this.setMaxHeight(TabPohja.tekstiFont.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()));
|
||||||
@@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,22 +1,32 @@
|
|||||||
package fi.lpam.gui.elementit;
|
package fi.lpam.gui.elementit;
|
||||||
|
|
||||||
|
import fi.lpam.Main;
|
||||||
import javafx.geometry.Insets;
|
import javafx.geometry.Insets;
|
||||||
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;
|
||||||
import javafx.scene.text.FontWeight;
|
import javafx.scene.text.FontWeight;
|
||||||
|
|
||||||
|
import java.util.Properties;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Käyttöliittymän pohja
|
* Käyttöliittymän pohja
|
||||||
*/
|
*/
|
||||||
public class TabPohja extends StackPane {
|
public class TabPohja extends StackPane {
|
||||||
public static final Insets oletusInsets = new Insets(5);
|
public static Insets oletusInsets;
|
||||||
public static final String oletusStyle = "-fx-background-color: lightgray;";
|
public static Border oletusBorder = new Border(new BorderStroke(Color.BLACK, BorderStrokeStyle.SOLID, new CornerRadii(5), BorderWidths.DEFAULT));
|
||||||
public static final Font buttonFont = Font.font("Open Sans", FontWeight.BOLD, 16);
|
public static String oletusStyle;
|
||||||
public static final Font tekstiFont = Font.font("Open Sans", FontWeight.NORMAL, 16);
|
public static Font buttonFont;
|
||||||
public static final Border oletusBorder = new Border(new BorderStroke(Color.BLACK, BorderStrokeStyle.SOLID, new CornerRadii(5), BorderWidths.DEFAULT));
|
public static Font tekstiFont;
|
||||||
|
public static double spacing;
|
||||||
|
|
||||||
public TabPohja() {
|
public TabPohja() {
|
||||||
|
Properties prop = Main.properties;
|
||||||
|
oletusInsets = new Insets(Double.parseDouble(prop.getProperty("insets")));
|
||||||
|
spacing = Double.parseDouble(prop.getProperty("insets"));
|
||||||
|
oletusStyle = "-fx-background-color: " + prop.getProperty("taustaVari") + ";";
|
||||||
|
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")));
|
||||||
this.setStyle(oletusStyle);
|
this.setStyle(oletusStyle);
|
||||||
this.setPadding(oletusInsets);
|
this.setPadding(oletusInsets);
|
||||||
this.setBorder(oletusBorder);
|
this.setBorder(oletusBorder);
|
||||||
|
|||||||
@@ -44,7 +44,8 @@ public class KuljetusListaTulostaja extends Tulostaja{
|
|||||||
siirräOsoitinta(NIMEN_LEVEYS);
|
siirräOsoitinta(NIMEN_LEVEYS);
|
||||||
sisältö.showText(kuljetus.getLisätieto());
|
sisältö.showText(kuljetus.getLisätieto());
|
||||||
uusiRivi(RIVI_KORKEUS*0.1F);
|
uusiRivi(RIVI_KORKEUS*0.1F);
|
||||||
sisältö.showText("___________________________________________________________________"); //67 alaviivaa (noin sivun leveys)
|
//67 alaviivaa fonttikoolla 13 (noin sivun leveys)
|
||||||
|
sisältö.showText("_".repeat((int) (67*13/FONTTI_KOKO)));
|
||||||
}
|
}
|
||||||
|
|
||||||
tulosta();
|
tulosta();
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package fi.lpam.tulostajat;
|
package fi.lpam.tulostajat;
|
||||||
|
|
||||||
|
import fi.lpam.Main;
|
||||||
import fi.lpam.gui.virheDialogit.SiirtoVirhe;
|
import fi.lpam.gui.virheDialogit.SiirtoVirhe;
|
||||||
import org.apache.pdfbox.pdmodel.PDDocument;
|
import org.apache.pdfbox.pdmodel.PDDocument;
|
||||||
import org.apache.pdfbox.pdmodel.PDPage;
|
import org.apache.pdfbox.pdmodel.PDPage;
|
||||||
@@ -17,7 +18,7 @@ import java.io.IOException;
|
|||||||
public abstract class Tulostaja {
|
public abstract class Tulostaja {
|
||||||
final PDRectangle SIVUKOKO = PDRectangle.A4;
|
final PDRectangle SIVUKOKO = PDRectangle.A4;
|
||||||
final PDFont FONTTI = new PDType1Font(Standard14Fonts.FontName.HELVETICA);
|
final PDFont FONTTI = new PDType1Font(Standard14Fonts.FontName.HELVETICA);
|
||||||
final float FONTTI_KOKO = 13;
|
final float FONTTI_KOKO = Float.parseFloat(Main.properties.getProperty("tulostusFonttiKoko"));
|
||||||
final float MARGINAALI = 50;
|
final float MARGINAALI = 50;
|
||||||
final float RIVI_KORKEUS = FONTTI_KOKO * 1.2F;
|
final float RIVI_KORKEUS = FONTTI_KOKO * 1.2F;
|
||||||
|
|
||||||
|
|||||||
@@ -1,2 +1,11 @@
|
|||||||
version=${project.version}
|
version=${project.version}
|
||||||
viimeisinVersio=0.0.0
|
|
||||||
|
buttonFonttiKoko=16
|
||||||
|
buttonFontti=Open Sans
|
||||||
|
tekstiFonttiKoko=16
|
||||||
|
tekstiFontti=Open Sans
|
||||||
|
|
||||||
|
tulostusFonttiKoko=13
|
||||||
|
|
||||||
|
taustaVari=lightgray
|
||||||
|
insets=5
|
||||||
Reference in New Issue
Block a user