Del unused

This commit is contained in:
Georg Reisinger 2021-04-18 21:02:32 +02:00
parent a578df5184
commit 830bb54e9f
18 changed files with 210 additions and 476 deletions

View File

@ -10,7 +10,7 @@ import java.io.IOException;
*/
public class ConfigHelper {
public static String standartConfig = "conf.ini"; // Config.ini befindet sich im Root Verzeichnis
public static final String standartConfig = "conf.ini"; // Config.ini befindet sich im Root Verzeichnis
/**
* Liest einen Int aus der Config aus

View File

@ -9,8 +9,6 @@ import java.io.IOException;
*/
public class DirectionMap {
private double dauer, strecke;
private String start, end, tourname, file, filepdf;
private Image map, mappdf;
/**
* Holt die Map als image und alle Daten zur berechneten Route
@ -21,15 +19,12 @@ public class DirectionMap {
* @throws IOException Fehler beim Image der Map
*/
public DirectionMap (String start, String ende, String tourname) throws IOException {
this.map = getMap(start, ende, ConfigHelper.getIniString(ConfigHelper.getStandartConfig(), "map", "size"));
this.mappdf = getMap(start, ende, ConfigHelper.getIniString(ConfigHelper.getStandartConfig(), "map", "sizePdf"));
this.start = start;
this.end = ende;
this.tourname = tourname;
this.file = ConfigHelper.getIniString(ConfigHelper.getStandartConfig(), "map", "path") + this.tourname + ".jpg";
this.filepdf = ConfigHelper.getIniString(ConfigHelper.getStandartConfig(), "map", "path") + this.tourname + "_pdf.jpg";
FileHelper.saveImage(this.map, "jpg", new File(this.file));
FileHelper.saveImage(this.mappdf, "jpg", new File(this.filepdf));
Image map = getMap(start, ende, ConfigHelper.getIniString(ConfigHelper.getStandartConfig(), "map", "size"));
Image mappdf = getMap(start, ende, ConfigHelper.getIniString(ConfigHelper.getStandartConfig(), "map", "sizePdf"));
String file = ConfigHelper.getIniString(ConfigHelper.getStandartConfig(), "map", "path") + tourname + ".jpg";
String filepdf = ConfigHelper.getIniString(ConfigHelper.getStandartConfig(), "map", "path") + tourname + "_pdf.jpg";
FileHelper.saveImage(map, "jpg", new File(file));
FileHelper.saveImage(mappdf, "jpg", new File(filepdf));
getDirections(start, ende);
if(ConfigHelper.getIniInt(ConfigHelper.getStandartConfig(), "settings", "openmap") == 1) {
FileHelper.openDefault(file);

View File

@ -3,10 +3,8 @@ package tourplaner.business;
import tourplaner.data.DbConnect;
import tourplaner.object.Log;
import tourplaner.object.Tour;
import tourplaner.ui.AlertHelper;
import tourplaner.ui.ProgressBar;
import javax.swing.*;
import java.io.*;
import java.util.ArrayList;
@ -15,8 +13,7 @@ import java.util.ArrayList;
*/
public class Exporter {
private ArrayList<Tour> touren;
private String path;
private final String path;
/**
* Erstellt den Exporter mit dem gegebenen Path
@ -51,12 +48,12 @@ public class Exporter {
public void doImport() {
ProgressBar progressBar = new ProgressBar("Import...");
try {
this.touren = JsonHelper.getTourenFromJson(new FileReader(EinheitenAdder.addJson(this.path)));
ArrayList<Tour> touren = JsonHelper.getTourenFromJson(new FileReader(EinheitenAdder.addJson(this.path)));
DbConnect dbConnect = new DbConnect();
dbConnect.delAllData();
progressBar.addProgress(5);
int size = progressBar.getProgressSize(this.touren.size() * 3, 100);
for (Tour tour:this.touren) {
int size = progressBar.getProgressSize(touren.size() * 3, 100);
for (Tour tour: touren) {
new DirectionMap(tour.getStart(), tour.getZiel(), tour.getName());
progressBar.addProgress(size);
dbConnect.addTour(tour);

View File

@ -34,15 +34,6 @@ public class JsonHelper {
return getJObj(json).get("route").getAsJsonObject().get(gets).getAsDouble();
}
/**
* Erzeugt ein Json aus einem Object
* @param obj Das Objekt
* @return Json des Objektes
*/
public static String getJsonFromObj(Object obj){
return new Gson().toJson(obj);
}
/**
* Erzeugt ein Json aus einem Object
* @param obj Das Objekt

View File

@ -15,15 +15,6 @@ public class LogHelper{
getLog(name).info(msg);
}
/**
* Log info in file und Console
* @param msg Nachricht in dem Log
* @param name Name des Log Eintrags
*/
public static void warn(String msg, String name){
getLog(name).warn(msg);
}
/**
* Log info in file und Console
* @param msg Nachricht in dem Log
@ -41,15 +32,6 @@ public class LogHelper{
getLog(e.getClass().getName()).error(e.getMessage());
}
/**
* Log info in file und Console
* @param msg Nachricht in dem Log
* @param name Name des Log Eintrags
*/
public static void fatal(String msg, String name){
getLog(name).fatal(msg);
}
/**
* Instanziert den Logger
* @param name Name des Loggers

View File

@ -25,13 +25,9 @@ import java.util.Date;
*/
public class Reporter {
private static Font catFont = new Font(Font.TIMES_ROMAN, 18,
private static final Font catFont = new Font(Font.TIMES_ROMAN, 18,
Font.BOLD);
private static Font redFont = new Font(Font.TIMES_ROMAN, 12,
Font.NORMAL, Color.RED);
private static Font subFont = new Font(Font.TIMES_ROMAN, 16,
Font.BOLD);
private static Font smallBold = new Font(Font.TIMES_ROMAN, 12,
private static final Font subFont = new Font(Font.TIMES_ROMAN, 16,
Font.BOLD);
/**
@ -192,53 +188,4 @@ public class Reporter {
paragraph.add(new Paragraph(" "));
}
}
// private static void createTable(Section subCatPart)
// throws BadElementException {
// PdfPTable table = new PdfPTable(5);
//
// // t.setBorderColor(BaseColor.GRAY);
// // t.setPadding(4);
// // t.setSpacing(4);
// // t.setBorderWidth(1);
//
// PdfPCell c1 = new PdfPCell(new Phrase("NR"));
// c1.setHorizontalAlignment(Element.ALIGN_CENTER);
// table.addCell(c1);
//
// c1 = new PdfPCell(new Phrase("Datum"));
// c1.setHorizontalAlignment(Element.ALIGN_CENTER);
// table.addCell(c1);
//
// c1 = new PdfPCell(new Phrase("Entfernung"));
// c1.setHorizontalAlignment(Element.ALIGN_CENTER);
// table.addCell(c1);
//
// c1 = new PdfPCell(new Phrase("Höhenmeter"));
// c1.setHorizontalAlignment(Element.ALIGN_CENTER);
// table.addCell(c1);
//
// c1 = new PdfPCell(new Phrase("AVG Geschwindigkeit"));
// c1.setHorizontalAlignment(Element.ALIGN_CENTER);
// table.addCell(c1);
//
//
// table.setHeaderRows(1);
//
// table.addCell("1.0");
// table.addCell("1.1");
// table.addCell("1.2");
// table.addCell("1.3");
// table.addCell("1.4");
// table.addCell("1.5");
//
// table.addCell("2.0");
// table.addCell("2.1");
// table.addCell("2.2");
// table.addCell("2.3");
// table.addCell("2.4");
// table.addCell("2.5");
//
// subCatPart.add(table);
//
// }
}

View File

@ -8,7 +8,6 @@ import tourplaner.ui.ProgressBar;
import java.awt.*;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
@ -16,7 +15,6 @@ import java.util.ArrayList;
* Haupt Logik des Tourplaners
*/
public class TourPlaner{
private Logger logger;
/**
* Erstellt alle DB Tabellen falls nötig
@ -90,16 +88,6 @@ public class TourPlaner{
}
/**
* Holt das Gui Bild
* @param tourname Name der Tour
* @return Das Bild
* @throws IOException Error beim Bild holen
*/
public static Image getImage(String tourname) throws IOException {
return FileHelper.getImage(new File(getImagePath(tourname)));
}
/**
* Path zu dem Bild für die GUI
* @param tourname Name der Tour
* @return Path zu dem Bild für die GUI
@ -117,16 +105,6 @@ public class TourPlaner{
return ConfigHelper.getIniString(ConfigHelper.getStandartConfig(), "map", "path") + tourname + "_pdf.jpg";
}
/**
* Öffnet ein Bild einer Tour
* @param tourname Tourname
*/
public static void openImage(String tourname){
if(ConfigHelper.getIniInt(ConfigHelper.getStandartConfig(), "settings", "openmap") == 1) {
FileHelper.openDefault(getImagePath(tourname));
}
}
/**
* Holt alle Logs einer Tour

View File

@ -1,14 +1,11 @@
package tourplaner.data;
import javafx.geometry.Pos;
import tourplaner.business.LogHelper;
import tourplaner.object.Log;
import tourplaner.object.Tour;
import tourplaner.ui.AlertHelper;
import tourplaner.ui.ProgressBar;
import java.sql.*;
import java.time.LocalDate;
import java.util.ArrayList;
/**
@ -54,9 +51,7 @@ public class DbConnect {
ArrayList<Log> logs = getLogs(oldname);
result.add(delLogs(oldname));
result.add(PostgresHelper.executeUpdate("UPDATE public.tour SET tourname = '"+tour.getName()+"', dauer = 1, mapjson = '"+tour.getMapJson()+"', start = '"+tour.getStart()+"', ziel = '"+tour.getZiel()+"', strecke = "+tour.getStrecke()+" WHERE tourname ='" + oldname + "';"));
logs.forEach(log -> {
result.add(addLog(tourname, log));
});
logs.forEach(log -> result.add(addLog(tourname, log)));
return !result.contains(false);
}

View File

@ -3,20 +3,15 @@ package tourplaner.data;
import tourplaner.business.ConfigHelper;
import tourplaner.business.LogHelper;
import tourplaner.object.Tour;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
/**
* Hilfsfunktionen für die verwendung der Postgres DB
*/
public class PostgresHelper {
private Connection c;
private Statement stmt;
/**
* Verbindet mit der Datenbank
* @return Das Connection Objekt

View File

@ -1,9 +1,6 @@
package tourplaner.object;
import jdk.jshell.spi.ExecutionControl;
import java.time.LocalDate;
import java.util.Date;
public class Log {
private String id, bemerkung, rating;
@ -30,18 +27,10 @@ public class Log {
return rating;
}
public void setRating(String rating) {
this.rating = rating;
}
public String getBemerkung() {
return bemerkung;
}
public void setBemerkung(String bemerkung) {
this.bemerkung = bemerkung;
}
public double getAvgspeed() {
return avgspeed;
}
@ -54,55 +43,28 @@ public class Log {
return hightmeter;
}
public void setHightmeter(double hightmeter) {
this.hightmeter = hightmeter;
}
public double getPause() {
return pause;
}
public void setPause(double pause) {
this.pause = pause;
}
public double getGegangen() {
return gegangen;
}
public void setGegangen(double gegangen) {
this.gegangen = gegangen;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public double getDauer() {
return dauer;
}
public void setDauer(double dauer) {
this.dauer = dauer;
}
public LocalDate getDatum() {
return datum;
}
public void setDatum(LocalDate datum) {
this.datum = datum;
}
public double getStrecke() {
return strecke;
}
public void setStrecke(double strecke) {
this.strecke = strecke;
}
}

View File

@ -7,7 +7,11 @@ import java.util.concurrent.atomic.AtomicReference;
* Model einer Tour
*/
public class Tour {
private String dauer, mapJson, name, start, ziel, rating;
private String dauer;
private String mapJson;
private String name;
private String start;
private String ziel;
private double strecke;
private ArrayList<Log> log;
@ -31,16 +35,6 @@ public class Tour {
this.log = logs;
}
public void setTour(Tour tour){
this.dauer = tour.getDauer();
this.mapJson = tour.getMapJson();
this.strecke = tour.getStrecke();
this.name = tour.getName();
this.start = tour.getStart();
this.ziel = tour.getZiel();
this.log = tour.getLogs();
}
public void setLog(ArrayList<Log> log) {
this.log = log;
}
@ -96,10 +90,6 @@ public class Tour {
return mapJson;
}
public void setMapJson(String mapJson) {
this.mapJson = mapJson;
}
public double getStrecke() {
return strecke;
}
@ -112,23 +102,12 @@ public class Tour {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getStart() {
return start;
}
public void setStart(String start) {
this.start = start;
}
public String getZiel() {
return ziel;
}
public void setZiel(String ziel) {
this.ziel = ziel;
}
}

View File

@ -9,10 +9,6 @@ import static org.junit.jupiter.api.Assertions.*;
class EinheitenAdderTest {
@BeforeEach
void setUp() {
}
@Test
void addMeter() {
assertEquals(EinheitenAdder.addMeter("1"), "1"+ " " + ConfigHelper.getIniString(ConfigHelper.getStandartConfig(), "einheiten", "meter"));

View File

@ -19,9 +19,9 @@ class TourTest {
@BeforeEach
void setUp() {
this.tour = new Tour("String name", "String dauer", "String mapJson", 2, "String start", "String ziel");
this.log1 = new Log("1", 2, this.date, 3, "4", 5, 6, "7");;
this.log2 = new Log("2", 2, this.date, 3, "4", 5, 6, "7");;
this.log3 = new Log("3", 2, this.date, 3, "4", 5, 6, "7");;
this.log1 = new Log("1", 2, this.date, 3, "4", 5, 6, "7");
this.log2 = new Log("2", 2, this.date, 3, "4", 5, 6, "7");
this.log3 = new Log("3", 2, this.date, 3, "4", 5, 6, "7");
}
@Test

View File

@ -39,192 +39,185 @@
<?import javafx.scene.paint.*?>
<?import javafx.scene.text.*?>
<VBox prefHeight="600.0" prefWidth="900.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="tourplaner.ui.TourplanerController">
<children>
<VBox prefHeight="600.0" prefWidth="900.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="tourplaner.ui.TourplanerController">
<MenuBar VBox.vgrow="NEVER">
<menus>
<Menu fx:id="menueFile" mnemonicParsing="false" text="Datei">
<items>
<MenuItem fx:id="reportsummary" mnemonicParsing="false" onAction="#reportSum" text="Report Summary" />
<MenuItem fx:id="tourreport" mnemonicParsing="false" onAction="#tourReport" text="Tour Report" />
<MenuItem fx:id="beendenButton" mnemonicParsing="false" onAction="#quitApp" text="Beenden" />
</items>
<MenuItem fx:id="reportsummary" mnemonicParsing="false" onAction="#reportSum" text="Report Summary"/>
<MenuItem fx:id="tourreport" mnemonicParsing="false" onAction="#tourReport" text="Tour Report"/>
<MenuItem fx:id="beendenButton" mnemonicParsing="false" onAction="#quitApp" text="Beenden"/>
</Menu>
<Menu fx:id="menuebearbeiten" mnemonicParsing="false" text="Bearbeiten">
<items>
<MenuItem fx:id="menueimport" mnemonicParsing="false" onAction="#importBtn" text="Import" />
<MenuItem fx:id="menueexport" mnemonicParsing="false" onAction="#exportBtn" text="Export" />
</items>
<MenuItem fx:id="menueimport" mnemonicParsing="false" onAction="#importBtn" text="Import"/>
<MenuItem fx:id="menueexport" mnemonicParsing="false" onAction="#exportBtn" text="Export"/>
</Menu>
<Menu fx:id="menueoptionen" mnemonicParsing="false" text="Optionen">
<items>
<CheckMenuItem fx:id="openmap" mnemonicParsing="false" onAction="#openmapaction" text="Map automatisch öffnen" />
<CheckMenuItem fx:id="openpdf" mnemonicParsing="false" onAction="#openpdfaction" text="Report automatisch öffnen" />
<Menu fx:id="menuesprachen" mnemonicParsing="false" text="Sprache">
<items>
<RadioMenuItem fx:id="langdeutsch" mnemonicParsing="false" onAction="#onlangdeutsch" text="Deutsch" />
<RadioMenuItem fx:id="langenglisch" mnemonicParsing="false" onAction="#onlangenglisch" text="Englisch" />
</items>
</Menu>
</items>
<Menu fx:id="menueoptionen" mnemonicParsing="false" text="Optionen">
<CheckMenuItem fx:id="openmap" mnemonicParsing="false" onAction="#openmapaction"
text="Map automatisch öffnen"/>
<CheckMenuItem fx:id="openpdf" mnemonicParsing="false" onAction="#openpdfaction"
text="Report automatisch öffnen"/>
<Menu fx:id="menuesprachen" mnemonicParsing="false" text="Sprache">
<RadioMenuItem fx:id="langdeutsch" mnemonicParsing="false" onAction="#onlangdeutsch"
text="Deutsch"/>
<RadioMenuItem fx:id="langenglisch" mnemonicParsing="false" onAction="#onlangenglisch"
text="Englisch"/>
</Menu>
<Menu fx:id="menuehilfe" mnemonicParsing="false" text="Hilfe">
<items>
<MenuItem mnemonicParsing="false" onAction="#gitWebBrowser" text="Git Repo" />
<MenuItem mnemonicParsing="false" onAction="#javaDocBrowser" text="JavaDoc" />
<MenuItem mnemonicParsing="false" onAction="#doxygenDocBrowser" text="Doxygen Doc" />
</items>
</Menu>
</menus>
<Menu fx:id="menuehilfe" mnemonicParsing="false" text="Hilfe">
<MenuItem mnemonicParsing="false" onAction="#gitWebBrowser" text="Git Repo"/>
<MenuItem mnemonicParsing="false" onAction="#javaDocBrowser" text="JavaDoc"/>
<MenuItem mnemonicParsing="false" onAction="#doxygenDocBrowser" text="Doxygen Doc"/>
</Menu>
</MenuBar>
<HBox id="HBox" alignment="CENTER_LEFT" layoutX="10.0" layoutY="588.0" spacing="5.0">
<children>
<AnchorPane prefWidth="-1.0" HBox.hgrow="ALWAYS">
<children>
<Button fx:id="tourAdd" layoutX="58.0" mnemonicParsing="false" onAction="#addTour" text="+" />
<Label layoutX="14.0" layoutY="4.0" text="Tours" />
<Button fx:id="tourDel" layoutX="89.0" mnemonicParsing="false" onAction="#delTour" text="-" />
<Button fx:id="editTourBtn" layoutX="117.0" mnemonicParsing="false" onAction="#editTourBtn" text="Edit" />
</children></AnchorPane>
<TextField fx:id="sucheInput" promptText="Suche..." />
<Button fx:id="sucheButton" mnemonicParsing="false" onAction="#suche" text="Suchen" />
</children>
<padding>
<Insets bottom="3.0" left="3.0" right="3.0" top="3.0" />
</padding>
</HBox>
<SplitPane dividerPositions="0.060133630289532294" focusTraversable="true" prefHeight="522.0" prefWidth="300.0" VBox.vgrow="ALWAYS">
<items>
<AnchorPane prefWidth="239.0">
<children>
<ListView fx:id="TourListView" layoutX="-1.0" onMouseClicked="#tourListSelectedItem" prefHeight="520.0" prefWidth="190.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" />
</children>
<HBox id="HBox" alignment="CENTER_LEFT" layoutX="10.0" layoutY="588.0" spacing="5.0">
<padding>
<Insets bottom="3.0" left="3.0" right="3.0" top="3.0"/>
</padding>
<AnchorPane HBox.hgrow="ALWAYS">
<Button fx:id="tourAdd" layoutX="58.0" mnemonicParsing="false" onAction="#addTour" text="+"/>
<Label layoutX="14.0" layoutY="4.0" text="Tours"/>
<Button fx:id="tourDel" layoutX="89.0" mnemonicParsing="false" onAction="#delTour" text="-"/>
<Button fx:id="editTourBtn" layoutX="117.0" mnemonicParsing="false" onAction="#editTourBtn"
text="Edit"/>
</AnchorPane>
<TextField fx:id="sucheInput" promptText="Suche..."/>
<Button fx:id="sucheButton" mnemonicParsing="false" onAction="#suche" text="Suchen"/>
</HBox>
<SplitPane dividerPositions="0.060133630289532294" focusTraversable="true" prefHeight="522.0" prefWidth="300.0"
VBox.vgrow="ALWAYS">
<AnchorPane prefWidth="239.0">
<ListView fx:id="TourListView" layoutX="-1.0" onMouseClicked="#tourListSelectedItem" prefHeight="520.0"
prefWidth="190.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0"
AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"/>
</AnchorPane>
<SplitPane dividerPositions="0.5" orientation="VERTICAL" prefHeight="496.0" prefWidth="620.0">
<VBox prefWidth="100.0">
<AnchorPane prefWidth="676.0">
<HBox id="HBox" alignment="CENTER_LEFT" prefHeight="7.0" prefWidth="44.0" spacing="5.0"
AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0"
AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<Label text="Title:">
<HBox.margin>
<Insets left="10.0"/>
</HBox.margin>
</Label>
<TextField fx:id="titleTextView" editable="false"/>
</HBox>
</AnchorPane>
<AnchorPane prefWidth="200.0">
<TabPane fx:id="viewTabPane" layoutX="1.0" layoutY="69.0" prefWidth="702.0"
tabClosingPolicy="UNAVAILABLE" AnchorPane.bottomAnchor="-67.0"
AnchorPane.leftAnchor="1.0" AnchorPane.rightAnchor="1.0"
AnchorPane.topAnchor="0.0">
<Tab fx:id="kartenTab" text="Karte">
<AnchorPane>
<ImageView fx:id="mapImageView" pickOnBounds="true" preserveRatio="true"
AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0"
AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"/>
</AnchorPane>
</Tab>
<Tab fx:id="beschreibungTab" text="Beschreibung">
<AnchorPane>
<TableView fx:id="beschreibungTableView"
maxHeight="1.7976931348623157E308"
maxWidth="1.7976931348623157E308"
AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0"
AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<columns>
<TableColumn fx:id="nameCol" minWidth="100.0" prefWidth="-1.0"
text="Tourname"/>
<TableColumn fx:id="dauerCol" maxWidth="1.7976931348623157E308"
minWidth="100.0" prefWidth="-1.0" text="Dauer"/>
<TableColumn fx:id="streckeCol" maxWidth="1.7976931348623157E308"
minWidth="100.0" prefWidth="-1.0" text="Strecke"/>
<TableColumn fx:id="startCol" maxWidth="1.7976931348623157E308"
minWidth="100.0" prefWidth="-1.0" text="Startpunk"/>
<TableColumn fx:id="zielCol" maxWidth="1.7976931348623157E308"
minWidth="100.0" prefWidth="-1.0" text="Zielpunkt"/>
</columns>
</TableView>
</AnchorPane>
</Tab>
</TabPane>
</AnchorPane>
</VBox>
<AnchorPane prefWidth="200.0">
<VBox prefWidth="100.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0"
AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<AnchorPane>
<HBox id="HBox" alignment="CENTER_LEFT" layoutY="2.0" prefWidth="702.0"
spacing="5.0" AnchorPane.bottomAnchor="-2.0" AnchorPane.leftAnchor="0.0"
AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="2.0">
<padding>
<Insets bottom="3.0" left="3.0" right="3.0" top="3.0"/>
</padding>
<Label text="Logs:">
<HBox.margin>
<Insets left="10.0"/>
</HBox.margin>
</Label>
<Button mnemonicParsing="false" onAction="#addLog" text="+"
textAlignment="CENTER">
<HBox.margin>
<Insets/>
</HBox.margin>
</Button>
<Button fx:id="logDel" mnemonicParsing="false" onAction="#delLog"
prefWidth="21.0" text="-" textAlignment="CENTER">
<HBox.margin>
<Insets/>
</HBox.margin>
</Button>
<Button fx:id="editBtn" mnemonicParsing="false" onAction="#editLogBtn"
text="Edit"/>
</HBox>
</AnchorPane>
<AnchorPane>
<TableView fx:id="logTableView" onMouseClicked="#logItemSelected"
AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0"
AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<columns>
<TableColumn fx:id="logDatumCol" minWidth="-1.0" prefWidth="-1.0"
text="Datum"/>
<TableColumn fx:id="logDauerCol" minWidth="-1.0" prefWidth="-1.0"
text="Dauer"/>
<TableColumn fx:id="logStreckeCol" minWidth="-1.0" prefWidth="-1.0"
text="Entfernung"/>
<TableColumn fx:id="logAvgCol" minWidth="-1.0" prefWidth="-1.0"
text="AVG Geschwindigkeit"/>
<TableColumn fx:id="logHightCol" minWidth="-1.0" prefWidth="75.0"
text="Höhenmeter"/>
<TableColumn fx:id="logPauseCol" minWidth="-1.0" prefWidth="-1.0"
text="Davon Pause"/>
<TableColumn fx:id="logGegangenCol" minWidth="-1.0" prefWidth="-1.0"
text="Davon Unterwegs"/>
<TableColumn fx:id="logBemerkungCol" minWidth="-1.0" prefWidth="-1.0"
text="Bemerkung"/>
<TableColumn fx:id="logRatingCol1" minWidth="-1.0" prefWidth="-1.0"
text="Rating"/>
</columns>
<columnResizePolicy>
<TableView fx:constant="CONSTRAINED_RESIZE_POLICY"/>
</columnResizePolicy>
</TableView>
</AnchorPane>
</VBox>
</AnchorPane>
<SplitPane dividerPositions="0.5" orientation="VERTICAL" prefHeight="496.0" prefWidth="620.0">
<items>
<VBox prefWidth="100.0">
<children>
<AnchorPane prefWidth="676.0">
<children>
<HBox id="HBox" alignment="CENTER_LEFT" prefHeight="7.0" prefWidth="44.0" spacing="5.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<children>
<Label text="Title:">
<HBox.margin>
<Insets left="10.0" />
</HBox.margin>
</Label>
<TextField fx:id="titleTextView" editable="false" />
</children>
</HBox>
</children>
</AnchorPane>
<AnchorPane prefWidth="200.0">
<children>
<TabPane fx:id="viewTabPane" layoutX="1.0" layoutY="69.0" prefWidth="702.0" tabClosingPolicy="UNAVAILABLE" AnchorPane.bottomAnchor="-67.0" AnchorPane.leftAnchor="1.0" AnchorPane.rightAnchor="1.0" AnchorPane.topAnchor="0.0">
<tabs>
<Tab fx:id="kartenTab" text="Karte">
<AnchorPane>
<ImageView fx:id="mapImageView" pickOnBounds="true" preserveRatio="true" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" />
</AnchorPane>
</Tab>
<Tab fx:id="beschreibungTab" text="Beschreibung">
<content>
<AnchorPane>
<children>
<TableView fx:id="beschreibungTableView" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<columns>
<TableColumn fx:id="nameCol" minWidth="100.0" prefWidth="-1.0" text="Tourname" />
<TableColumn fx:id="dauerCol" maxWidth="1.7976931348623157E308" minWidth="100.0" prefWidth="-1.0" text="Dauer" />
<TableColumn fx:id="streckeCol" maxWidth="1.7976931348623157E308" minWidth="100.0" prefWidth="-1.0" text="Strecke" />
<TableColumn fx:id="startCol" maxWidth="1.7976931348623157E308" minWidth="100.0" prefWidth="-1.0" text="Startpunk" />
<TableColumn fx:id="zielCol" maxWidth="1.7976931348623157E308" minWidth="100.0" prefWidth="-1.0" text="Zielpunkt" />
</columns>
</TableView>
</children>
</AnchorPane>
</content>
</Tab>
</tabs>
</TabPane>
</children>
</AnchorPane>
</children>
</VBox>
<AnchorPane prefWidth="200.0">
<children>
<VBox prefWidth="100.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<children>
<AnchorPane>
<children>
<HBox id="HBox" alignment="CENTER_LEFT" layoutY="2.0" prefWidth="702.0" spacing="5.0" AnchorPane.bottomAnchor="-2.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="2.0">
<children>
<Label text="Logs:">
<HBox.margin>
<Insets left="10.0" />
</HBox.margin>
</Label>
<Button mnemonicParsing="false" onAction="#addLog" text="+" textAlignment="CENTER">
<HBox.margin>
<Insets />
</HBox.margin>
</Button>
<Button fx:id="logDel" mnemonicParsing="false" onAction="#delLog" prefWidth="21.0" text="-" textAlignment="CENTER">
<HBox.margin>
<Insets />
</HBox.margin>
</Button>
<Button fx:id="editBtn" mnemonicParsing="false" onAction="#editLogBtn" text="Edit" />
</children>
<padding>
<Insets bottom="3.0" left="3.0" right="3.0" top="3.0" />
</padding>
</HBox>
</children>
</AnchorPane>
<AnchorPane>
<children>
<TableView fx:id="logTableView" onMouseClicked="#logItemSelected" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<columns>
<TableColumn fx:id="logDatumCol" minWidth="-1.0" prefWidth="-1.0" text="Datum" />
<TableColumn fx:id="logDauerCol" minWidth="-1.0" prefWidth="-1.0" text="Dauer" />
<TableColumn fx:id="logStreckeCol" minWidth="-1.0" prefWidth="-1.0" text="Entfernung" />
<TableColumn fx:id="logAvgCol" minWidth="-1.0" prefWidth="-1.0" text="AVG Geschwindigkeit" />
<TableColumn fx:id="logHightCol" minWidth="-1.0" prefWidth="75.0" text="Höhenmeter" />
<TableColumn fx:id="logPauseCol" minWidth="-1.0" prefWidth="-1.0" text="Davon Pause" />
<TableColumn fx:id="logGegangenCol" minWidth="-1.0" prefWidth="-1.0" text="Davon Unterwegs" />
<TableColumn fx:id="logBemerkungCol" minWidth="-1.0" prefWidth="-1.0" text="Bemerkung" />
<TableColumn fx:id="logRatingCol1" minWidth="-1.0" prefWidth="-1.0" text="Rating" />
</columns>
<columnResizePolicy>
<TableView fx:constant="CONSTRAINED_RESIZE_POLICY" />
</columnResizePolicy>
</TableView>
</children>
</AnchorPane>
</children>
</VBox>
</children>
</AnchorPane>
</items>
</SplitPane>
</items>
</SplitPane>
</SplitPane>
<HBox id="HBox" alignment="CENTER_LEFT" spacing="5.0" VBox.vgrow="NEVER">
<children>
<Label maxHeight="1.7976931348623157E308" maxWidth="-1.0" text="Tourplaner" HBox.hgrow="ALWAYS">
<font>
<Font size="11.0" fx:id="x3" />
</font>
<textFill>
<Color red="0.625" green="0.625" blue="0.625" fx:id="x4" />
</textFill>
<padding>
<Insets bottom="3.0" left="3.0" right="3.0" top="3.0"/>
</padding>
<Label maxHeight="1.7976931348623157E308" text="Tourplaner" HBox.hgrow="ALWAYS">
<font>
<Font size="11.0" fx:id="x3"/>
</font>
<textFill>
<Color red="0.625" green="0.625" blue="0.625" fx:id="x4"/>
</textFill>
</Label>
<AnchorPane prefHeight="-1.0" prefWidth="-1.0" HBox.hgrow="ALWAYS" />
<Label font="$x3" maxWidth="-1.0" text="Georg Reisinger" textFill="$x4" HBox.hgrow="NEVER" />
</children>
<padding>
<Insets bottom="3.0" left="3.0" right="3.0" top="3.0" />
</padding>
<AnchorPane HBox.hgrow="ALWAYS"/>
<Label font="$x3" text="Georg Reisinger" textFill="$x4" HBox.hgrow="NEVER"/>
</HBox>
</children>
</VBox>

View File

@ -1,6 +1,5 @@
package tourplaner.ui;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.control.Label;
@ -8,15 +7,9 @@ import javafx.scene.control.TextArea;
import javafx.scene.image.Image;
import javafx.scene.layout.*;
import javafx.stage.Stage;
import javafx.stage.WindowEvent;
import tourplaner.business.ConfigHelper;
import tourplaner.business.EinheitenAdder;
import javax.swing.*;
import javax.swing.border.TitledBorder;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.awt.*;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.time.LocalDate;
@ -45,15 +38,6 @@ public class AlertHelper {
alertType(Alert.AlertType.INFORMATION, title, header, msg);
}
/**
* Info Dialog ohne Header
* @param title Title des Dialogs
* @param msg Nachricht des Dialogs
*/
public static void informNoHeader(String title, String msg){
inform(title, null, msg);
}
/**
* Error Dialog
* @param title Title des Dialogs
@ -190,7 +174,7 @@ public class AlertHelper {
double returnDouble = -2.0;
while (returnDouble < -1.0) {
Optional<String> result = inputHelper(title, header, msg, content);
AtomicReference<Double> returnText = new AtomicReference<Double>(-1.0);
AtomicReference<Double> returnText = new AtomicReference<>(-1.0);
result.ifPresent(s -> {
try {
double resultDouble = Double.parseDouble(result.get());
@ -221,9 +205,7 @@ public class AlertHelper {
stage.getIcons().add(
new Image("file:"+ ConfigHelper.getIniString(ConfigHelper.getStandartConfig(), "start", "logo")));
AtomicReference<LocalDate> selectedDate = new AtomicReference<>();
stage.setOnCloseRequest(ev -> {
stage.close();
});
stage.setOnCloseRequest(ev -> stage.close());
datePicker.setOnAction(event -> {
LocalDate date = datePicker.getValue();

View File

@ -1,6 +1,5 @@
package tourplaner.ui;
import javafx.scene.image.Image;
import tourplaner.business.ConfigHelper;
import javax.imageio.ImageIO;

View File

@ -4,9 +4,6 @@ import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.geometry.Orientation;
import javafx.scene.control.*;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.image.ImageView;
import javafx.scene.input.MouseEvent;
@ -38,7 +35,6 @@ public class TourplanerController implements Initializable {
//Menue
public CheckMenuItem openmap, openpdf;
public RadioMenuItem langenglisch, langdeutsch;
private ToggleGroup langgroup;
public Menu menueFile, menuebearbeiten, menueoptionen, menuesprachen, menuehilfe;
public MenuItem reportsummary, tourreport, beendenButton;
//Elemente
@ -134,11 +130,11 @@ public class TourplanerController implements Initializable {
progressBar.addProgress(10);
syncTour(selectedItem);
progressBar.addProgress(10);
startCol.setCellValueFactory(new PropertyValueFactory<Tour, String>("start"));
zielCol.setCellValueFactory(new PropertyValueFactory<Tour, String>("ziel"));
dauerCol.setCellValueFactory(new PropertyValueFactory<Tour, String>("dauer"));
streckeCol.setCellValueFactory(new PropertyValueFactory<Tour, String>("strecke"));
nameCol.setCellValueFactory(new PropertyValueFactory<Tour, String>("name"));
startCol.setCellValueFactory(new PropertyValueFactory<>("start"));
zielCol.setCellValueFactory(new PropertyValueFactory<>("ziel"));
dauerCol.setCellValueFactory(new PropertyValueFactory<>("dauer"));
streckeCol.setCellValueFactory(new PropertyValueFactory<>("strecke"));
nameCol.setCellValueFactory(new PropertyValueFactory<>("name"));
//Log anzeigen
logTableView.setPlaceholder(new Label( ConfigHelper.getLangIniString("keinelogsvorhanden")));
@ -146,15 +142,15 @@ public class TourplanerController implements Initializable {
progressBar.addProgress(10);
logTableView.setItems(this.viewModel.getLogData());
progressBar.addProgress(10);
logDauerCol.setCellValueFactory(new PropertyValueFactory<Log, String>("dauer"));
logStreckeCol.setCellValueFactory(new PropertyValueFactory<Log, String>("strecke"));
logDatumCol.setCellValueFactory(new PropertyValueFactory<Log, String>("datum"));
logAvgCol.setCellValueFactory(new PropertyValueFactory<Log, String>("avgspeed"));
logHightCol.setCellValueFactory(new PropertyValueFactory<Log, String>("hightmeter"));
logPauseCol.setCellValueFactory(new PropertyValueFactory<Log, String>("pause"));
logGegangenCol.setCellValueFactory(new PropertyValueFactory<Log, String>("gegangen"));
logBemerkungCol.setCellValueFactory(new PropertyValueFactory<Log, String>("bemerkung"));
logRatingCol1.setCellValueFactory(new PropertyValueFactory<Log, String>("rating"));
logDauerCol.setCellValueFactory(new PropertyValueFactory<>("dauer"));
logStreckeCol.setCellValueFactory(new PropertyValueFactory<>("strecke"));
logDatumCol.setCellValueFactory(new PropertyValueFactory<>("datum"));
logAvgCol.setCellValueFactory(new PropertyValueFactory<>("avgspeed"));
logHightCol.setCellValueFactory(new PropertyValueFactory<>("hightmeter"));
logPauseCol.setCellValueFactory(new PropertyValueFactory<>("pause"));
logGegangenCol.setCellValueFactory(new PropertyValueFactory<>("gegangen"));
logBemerkungCol.setCellValueFactory(new PropertyValueFactory<>("bemerkung"));
logRatingCol1.setCellValueFactory(new PropertyValueFactory<>("rating"));
progressBar.addProgress(10);
mapImageView.setImage(this.viewModel.getImage(this.viewModel.getSelectedTour().getName()));
if(this.viewModel.isSucheAktiv()){
@ -257,9 +253,9 @@ public class TourplanerController implements Initializable {
}else {
this.openmap.setSelected(false);
}
this.langgroup = new ToggleGroup();
this.langdeutsch.setToggleGroup(this.langgroup);
this.langenglisch.setToggleGroup(this.langgroup);
ToggleGroup langgroup = new ToggleGroup();
this.langdeutsch.setToggleGroup(langgroup);
this.langenglisch.setToggleGroup(langgroup);
if(ConfigHelper.getIniString(ConfigHelper.getStandartConfig(), "lang", "lang").equals("langde")){
this.langdeutsch.setSelected(true);
this.langenglisch.setSelected(false);
@ -347,12 +343,4 @@ public class TourplanerController implements Initializable {
this.viewModel.sumReport();
}
/**
* Funktion für noch nicht implementierte sachen wie im Menu der 'Bearbeiten' und 'Optionen' Knopf
*/
@FXML
private void nimpButton(){
this.viewModel.nimpButton();
}
}

View File

@ -235,8 +235,6 @@ public class ViewModel {
Log newLog = new Log(this.selectedLog.getId(), dauer, datum, strecke, this.neueBemerkung, hightmeter, pause, rating + "");
this.logData.removeIf(ld -> ld.getId().equals(this.selectedLog.getId()));
this.logData.add(newLog);
// tourAkt.get().delLog(this.selectedLog.getId());
// tourAkt.get().addLog(newLog);
this.tourData.removeIf(td -> td.getName().equals(this.selectedTour.getName()));
this.tourData.add(tourAkt.get());
TourPlaner.editLog(this.selectedTour.getName(), newLog);
@ -427,14 +425,6 @@ public class ViewModel {
this.selectedLog = getLog(id);
}
/**
* Holt das selectierte Log als Log Objekt
* @return Das selectierte Log Objekt
*/
public Log getSelectedLog(){
return this.selectedLog;
}
/**
* Holt ein Log anhand seiner ID
* @param id Id des Log Eintrags
@ -485,53 +475,18 @@ public class ViewModel {
this.logData.addAll(this.selectedTour.getLogs());
}
// /**
// * Selectiert eine Tour anhand des Tour Objects.
// * Kann z.b. verwerndet werden um das selectierte Tour Object zu bearbeiten
// * @param selected
// */
// public void setSelectedTour(Tour selected){
// this.selectedTour = selected;
// }
public Tour getSelectedTour() {
return selectedTour;
}
public String getNeueTourZiel() {
return neueTourZiel;
}
public void setNeueTourZiel(String neueTourZiel) {
this.neueTourZiel = neueTourZiel;
}
public ObservableList<String> getTourNamen() {
ArrayList<String> namen = new ArrayList<>();
getTourData().forEach(s -> {
namen.add(s.getName());
});
getTourData().forEach(s -> namen.add(s.getName()));
tourNamen.clear();
tourNamen.addAll(namen);
return tourNamen;
}
public String getNeueTourName() {
return neueTourName;
}
public void setNeueTourName(String neueTourName) {
this.neueTourName = neueTourName;
}
public String getNeueTourStart() {
return neueTourStart;
}
public void setNeueTourStart(String neueTourStart) {
this.neueTourStart = neueTourStart;
}
public ObservableList<Tour> getTourData() {
tourData.clear();
ArrayList<Tour> touren = TourPlaner.getAllTours();