Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor/#39 #64

Merged
merged 7 commits into from
Feb 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package timkodiert.budgetBook.view;

import static timkodiert.budgetBook.view.FxmlResource.EXPENSE_DETAIL_WIDGET;

import java.net.URL;
import java.time.LocalDate;
import java.util.ArrayList;
Expand Down Expand Up @@ -80,7 +82,7 @@ public void initialize(URL location, ResourceBundle resources) {

// Widget rechts einbinden
try {
FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/ExpenseDetailWidget.fxml"));
FXMLLoader loader = FxmlResource.loadResourceIntoFxmlLoader(getClass(), EXPENSE_DETAIL_WIDGET);
loader.setResources(LanguageManager.getInstance().getResourceBundle());
loader.setController(expenseDetailWidget);
turnoverWidgetNode = loader.load();
Expand Down
37 changes: 37 additions & 0 deletions src/main/java/timkodiert/budgetBook/view/FxmlResource.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package timkodiert.budgetBook.view;

import javafx.fxml.FXMLLoader;
import lombok.RequiredArgsConstructor;

@RequiredArgsConstructor
public enum FxmlResource {

ANNUAL_OVERVIEW("/fxml/AnnualOverview.fxml"),
EXPENSE_DETAIL_WIDGET("/fxml/ExpenseDetailWidget.fxml"),
FIXED_TURNOVER_DETAIL_VIEW("/fxml/fixed_turnover/Detail.fxml"),
IMPORT_VIEW("/fxml/Importer/ImportView.fxml"),
IMAGE_VIEW("/fxml/ImageView.fxml"),
MAIN_VIEW("/fxml/Main.fxml"),
MONTHLY_OVERVIEW("/fxml/MonthlyOverview.fxml"),
MONTH_YEAR_PICKER_WIDGET("/fxml/MonthYearPickerWidget.fxml"),
MANAGE_CATEGORIES_VIEW("/fxml/ManageCategories.fxml"),
MANAGE_REGULAR_EXPENSES_VIEW("/fxml/fixed_turnover/Manage.fxml"),
MANAGE_UNIQUE_EXPENSES_VIEW("/fxml/unique_turnover/Manage.fxml"),
NEW_CATEGORY_VIEW("/fxml/NewCategory.fxml"),
FIXED_EXPENSE_INFORMATION_DETAIL_VIEW("/fxml/fixed_turnover/FixedExpenseInformationDetailView.fxml"),
UNIQUE_TURNOVER_DETAIL_VIEW("/fxml/unique_turnover/Detail.fxml"),
UNIQUE_TURNOVER_INFORMATION_VIEW("/fxml/unique_turnover/Information.fxml"),
;

private final String path;

public static FXMLLoader loadResourceIntoFxmlLoader(Class<?> clazz, FxmlResource fxmlResource){
return new FXMLLoader(clazz.getResource(fxmlResource.path));
}

@Override
public String toString(){
return this.path;
}

}
6 changes: 4 additions & 2 deletions src/main/java/timkodiert/budgetBook/view/ImportView.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package timkodiert.budgetBook.view;

import static timkodiert.budgetBook.view.FxmlResource.MONTHLY_OVERVIEW;

import java.io.File;
import java.net.URL;
import java.time.LocalDate;
Expand Down Expand Up @@ -204,7 +206,7 @@ private void onSelectFile(ActionEvent e) {
@FXML
private void importSelected(ActionEvent e) {
importer.doImport();
dialogFactory.buildInformationDialog("Ausgaben wurden importiert.").showAndWait();
mainView.loadViewPartial("/fxml/MonthlyOverview.fxml", "Monatsübersicht");
dialogFactory.buildInformationDialog(LanguageManager.get("importView.dialog.expensesImported")).showAndWait();
mainView.loadViewPartial(MONTHLY_OVERVIEW.toString(), LanguageManager.get("stageTitle.monthlyOverview"));
}
}
29 changes: 19 additions & 10 deletions src/main/java/timkodiert/budgetBook/view/MainView.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
package timkodiert.budgetBook.view;

import static timkodiert.budgetBook.view.FxmlResource.ANNUAL_OVERVIEW;
import static timkodiert.budgetBook.view.FxmlResource.IMPORT_VIEW;
import static timkodiert.budgetBook.view.FxmlResource.MAIN_VIEW;
import static timkodiert.budgetBook.view.FxmlResource.MANAGE_CATEGORIES_VIEW;
import static timkodiert.budgetBook.view.FxmlResource.MANAGE_REGULAR_EXPENSES_VIEW;
import static timkodiert.budgetBook.view.FxmlResource.MANAGE_UNIQUE_EXPENSES_VIEW;
import static timkodiert.budgetBook.view.FxmlResource.MONTHLY_OVERVIEW;
import static timkodiert.budgetBook.view.FxmlResource.NEW_CATEGORY_VIEW;

import java.io.File;
import java.net.URL;
import java.util.ResourceBundle;
Expand Down Expand Up @@ -59,7 +68,7 @@ public void setAndShowPrimaryStage(Stage primaryStage) {
try {
FXMLLoader templateLoader = new FXMLLoader();
templateLoader.setResources(LanguageManager.getInstance().getResourceBundle());
templateLoader.setLocation(getClass().getResource("/fxml/Main.fxml"));
templateLoader.setLocation(getClass().getResource(MAIN_VIEW.toString()));
templateLoader.setController(this);
this.primaryStage.setScene(new Scene(templateLoader.load()));
this.primaryStage.show();
Expand All @@ -75,7 +84,7 @@ public void initialize(URL location, ResourceBundle resources) {
menuBar.useSystemMenuBarProperty().set(useSystemMenuBar);

// Das Kind laden (default)
loadViewPartial("/fxml/MonthlyOverview.fxml", LanguageManager.getInstance().getLocString("stageTitle.monthlyOverView"));
loadViewPartial(MONTHLY_OVERVIEW.toString(), LanguageManager.getInstance().getLocString("stageTitle.monthlyOverview"));
}

private String getVersion() {
Expand All @@ -100,27 +109,27 @@ private String getVersion() {

@FXML
public void showMonthlyOverview(ActionEvent event) {
loadViewPartial("/fxml/MonthlyOverview.fxml", LanguageManager.getInstance().getLocString("stageTitle.monthlyOverView"));
loadViewPartial(MONTHLY_OVERVIEW.toString(), LanguageManager.getInstance().getLocString("stageTitle.monthlyOverview"));
}

@FXML
public void showAnnualOverview(ActionEvent event) {
loadViewPartial("/fxml/AnnualOverview.fxml", LanguageManager.getInstance().getLocString("stageTitle.annualOverView"));
loadViewPartial(ANNUAL_OVERVIEW.toString(), LanguageManager.getInstance().getLocString("stageTitle.annualOverView"));
}

@FXML
private void openManageExpensesView(ActionEvent event) {
loadViewPartial("/fxml/fixed_turnover/Manage.fxml", LanguageManager.getInstance().getLocString("stageTitle.regularExpensesOverview"));
loadViewPartial(MANAGE_REGULAR_EXPENSES_VIEW.toString(), LanguageManager.getInstance().getLocString("stageTitle.regularExpensesOverview"));
}

@FXML
private void openUniqueExpensesManageView(ActionEvent event) {
loadViewPartial("/fxml/unique_turnover/Manage.fxml", LanguageManager.getInstance().getLocString("stageTitle.uniqueExpensesOverview"));
loadViewPartial(MANAGE_UNIQUE_EXPENSES_VIEW.toString(), LanguageManager.getInstance().getLocString("stageTitle.uniqueExpensesOverview"));
}

@FXML
public void openImportView(ActionEvent event) {
View view = loadViewPartial("/fxml/Importer/ImportView.fxml", LanguageManager.getInstance().getLocString("stageTitle.importView"));
View view = loadViewPartial(IMPORT_VIEW.toString(), LanguageManager.getInstance().getLocString("stageTitle.importView"));
if (view instanceof ImportView importView) {
importView.setMainView(this);
}
Expand All @@ -132,7 +141,7 @@ private void openManageCategoriesView(ActionEvent event) {
Stage stage = StageBuilder.create()
.withModality(Modality.APPLICATION_MODAL)
.withOwner(this.primaryStage)
.withFXMLResource("/fxml/ManageCategories.fxml")
.withFXMLResource(MANAGE_CATEGORIES_VIEW.toString())
.withView(viewComponent.getManageCategoriesView())
.build();
stage.show();
Expand All @@ -148,7 +157,7 @@ private void openNewCategoryView(ActionEvent event) {
Stage stage = StageBuilder.create()
.withModality(Modality.APPLICATION_MODAL)
.withOwner(this.primaryStage)
.withFXMLResource("/fxml/NewCategory.fxml")
.withFXMLResource(NEW_CATEGORY_VIEW.toString())
.withView(viewComponent.getNewCategoryView())
.build();
stage.show();
Expand Down Expand Up @@ -185,7 +194,7 @@ private boolean isCsvFile(File file) {

@FXML
private void onDragDropped(DragEvent e) {
View view = loadViewPartial("/fxml/Importer/ImportView.fxml", LanguageManager.getInstance().getLocString("stageTitle.importView"));
View view = loadViewPartial(IMPORT_VIEW.toString(), LanguageManager.getInstance().getLocString("stageTitle.importView"));
if (view instanceof ImportView importView) {
importView.setMainView(this);
e.getDragboard().getFiles().stream().filter(this::isCsvFile).findFirst().ifPresent(importView.selectedFileProperty()::set);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@
import timkodiert.budgetBook.view.mdv_base.EntityBaseDetailView;

import static timkodiert.budgetBook.util.CategoryTreeHelper.from;
import static timkodiert.budgetBook.view.FxmlResource.FIXED_EXPENSE_INFORMATION_DETAIL_VIEW;

public class FixedTurnoverDetailView extends EntityBaseDetailView<FixedTurnover> implements Initializable {

Expand Down Expand Up @@ -233,7 +234,7 @@ private void openUniqueExpenseInformationDetailView(Optional<PaymentInformation>
Stage stage = StageBuilder.create()
.withModality(Modality.APPLICATION_MODAL)
.withOwner(Window.getWindows().get(0))
.withFXMLResource("/fxml/fixed_turnover/FixedExpenseInformationDetailView.fxml")
.withFXMLResource(FIXED_EXPENSE_INFORMATION_DETAIL_VIEW.toString())
.withView(subDetailView)
.build();
stage.show();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
package timkodiert.budgetBook.view.fixed_turnover;

import static timkodiert.budgetBook.view.FxmlResource.FIXED_TURNOVER_DETAIL_VIEW;

import javax.inject.Inject;

import javafx.beans.property.SimpleStringProperty;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.TableColumn;
import javafx.scene.control.cell.PropertyValueFactory;

import timkodiert.budgetBook.domain.model.FixedTurnover;
import timkodiert.budgetBook.domain.model.FixedTurnoverAdapter;
import timkodiert.budgetBook.domain.model.TurnoverDirection;
Expand Down Expand Up @@ -37,7 +38,7 @@ protected void initControls() {

@Override
public String getDetailViewFxmlLocation() {
return "/fxml/fixed_turnover/Detail.fxml";
return FIXED_TURNOVER_DETAIL_VIEW.toString();
}

@FXML
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
package timkodiert.budgetBook.view.unique_expense;

import static timkodiert.budgetBook.view.FxmlResource.IMAGE_VIEW;
import static timkodiert.budgetBook.view.FxmlResource.UNIQUE_TURNOVER_INFORMATION_VIEW;

import java.io.File;
import java.io.IOException;
import java.net.URL;
Expand Down Expand Up @@ -111,7 +114,7 @@ public void initialize(URL location, ResourceBundle resources) {
}
try {
StageBuilder.create()
.withFXMLResource("/fxml/ImageView.fxml")
.withFXMLResource(IMAGE_VIEW.toString())
.withModality(Modality.APPLICATION_MODAL)
.withTitle("Beleg / Kassenbon")
.withView(new ImageModalView(path))
Expand Down Expand Up @@ -208,7 +211,7 @@ private void openUniqueExpenseInformationDetailView(Optional<UniqueTurnoverInfor
Stage stage = StageBuilder.create()
.withModality(Modality.APPLICATION_MODAL)
.withOwner(Window.getWindows().get(0))
.withFXMLResource("/fxml/unique_turnover/Information.fxml")
.withFXMLResource(UNIQUE_TURNOVER_INFORMATION_VIEW.toString())
.withView(new UniqueExpenseInformationDetailView(optionalEntity, this::addNewExpenseInformation,
this.getUniqueExpenseInformationSuggestions()))
.build();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package timkodiert.budgetBook.view.unique_expense;

import static timkodiert.budgetBook.view.FxmlResource.UNIQUE_TURNOVER_DETAIL_VIEW;

import java.time.LocalDate;
import javax.inject.Inject;

Expand Down Expand Up @@ -46,7 +48,7 @@ public void initControls() {

@Override
public String getDetailViewFxmlLocation() {
return "/fxml/unique_turnover/Detail.fxml";
return UNIQUE_TURNOVER_DETAIL_VIEW.toString();
}

@FXML
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package timkodiert.budgetBook.view.widget;

import static timkodiert.budgetBook.view.FxmlResource.MONTH_YEAR_PICKER_WIDGET;

import java.io.IOException;
import java.net.URL;
import java.util.Arrays;
Expand Down Expand Up @@ -50,7 +52,7 @@ public MonthYearPickerWidget(Pane parent, String labelStr, MonthYear initialValu
this.showResetBtn = showResetBtn;

try {
FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/MonthYearPickerWidget.fxml"));
FXMLLoader loader = new FXMLLoader(getClass().getResource(MONTH_YEAR_PICKER_WIDGET.toString()));
loader.setController(this);
loader.setResources(LanguageManager.getInstance().getResourceBundle());
parent.getChildren().add(loader.load());
Expand Down
3 changes: 2 additions & 1 deletion src/main/resources/i18n/messages_de.properties
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ time.quarterly=vierteljährlich
# ----------------------------------
# stageTitles
# ----------------------------------
stageTitle.monthlyOverView=Monatsübersicht
stageTitle.monthlyOverview=Monatsübersicht
stageTitle.annualOverView=Jahresübersicht
stageTitle.regularExpensesOverview=Wiederkehrende Umsätze verwalten
stageTitle.uniqueExpensesOverview=Einzigartige Umsätze verwalten
Expand Down Expand Up @@ -136,6 +136,7 @@ importView.table-column.reference=Verwendungszweck
importView.table-column.amount=Betrag
importView.table-column.regularExpense=Wiederkehrender Umsatz
importView.table-column.remarks=Anmerkungen
importView.dialog.expensesImported=Ausgaben wurden importiert.

# ----------------------------------
# compactOverview
Expand Down
3 changes: 2 additions & 1 deletion src/main/resources/i18n/messages_en.properties
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ time.quarterly=quarterly
# ----------------------------------
# mainView
# ----------------------------------
stageTitle.monthlyOverView=Monthly overview
stageTitle.monthlyOverview=Monthly overview
stageTitle.annualOverView=Annual overview
stageTitle.regularExpensesOverview=Manage regular expenses
stageTitle.uniqueExpensesOverview=Manage unique expenses
Expand Down Expand Up @@ -137,6 +137,7 @@ importView.table-column.reference=Reference
importView.table-column.amount=Amount
importView.table-column.regularExpense=Regular expense
importView.table-column.remarks=Remarks
importView.dialog.expensesImported=Expenses have been imported.

# ----------------------------------
# compactOverview
Expand Down
Loading