diff --git a/src/de/deadlocker8/budgetmaster/logic/charts/CategoriesChart.java b/src/de/deadlocker8/budgetmaster/logic/charts/CategoriesChart.java index 17603ae33c3c5b660716db9f0f4733f586948ec4..6ba5192bd942501df9222595df7c8dfe55ee953f 100644 --- a/src/de/deadlocker8/budgetmaster/logic/charts/CategoriesChart.java +++ b/src/de/deadlocker8/budgetmaster/logic/charts/CategoriesChart.java @@ -319,4 +319,16 @@ public class CategoriesChart extends VBox implements ChartExportable return root.snapshot(sp, null); } + + @Override + public double getSuggestedWidth() + { + return getWidth() + 50; + } + + @Override + public double getSuggestedHeight() + { + return getHeight() + 50; + } } \ No newline at end of file diff --git a/src/de/deadlocker8/budgetmaster/logic/charts/ChartExportable.java b/src/de/deadlocker8/budgetmaster/logic/charts/ChartExportable.java index 2077c7b06169b46798a02f4ac5c61af58a8f8a4d..d5516e19c0d8e96c4c32e025251938c566a0e3c2 100644 --- a/src/de/deadlocker8/budgetmaster/logic/charts/ChartExportable.java +++ b/src/de/deadlocker8/budgetmaster/logic/charts/ChartExportable.java @@ -9,4 +9,8 @@ public interface ChartExportable double getWidth(); double getHeight(); + + double getSuggestedWidth(); + + double getSuggestedHeight(); } diff --git a/src/de/deadlocker8/budgetmaster/logic/charts/MonthBarChart.java b/src/de/deadlocker8/budgetmaster/logic/charts/MonthBarChart.java index cdc88fc932678cf8cd3d57fdc2450edb83c2c2ab..4b34420fe190cdf75d80223ba37c9e292dbe8d46 100644 --- a/src/de/deadlocker8/budgetmaster/logic/charts/MonthBarChart.java +++ b/src/de/deadlocker8/budgetmaster/logic/charts/MonthBarChart.java @@ -8,6 +8,7 @@ import de.deadlocker8.budgetmaster.logic.utils.Helpers; import javafx.geometry.Insets; import javafx.geometry.Orientation; import javafx.geometry.Pos; +import javafx.scene.Node; import javafx.scene.Scene; import javafx.scene.SnapshotParameters; import javafx.scene.control.Label; @@ -51,7 +52,7 @@ public class MonthBarChart extends VBox implements ChartExportable scrollPane.setStyle("-fx-background-color: transparent; -fx-background-insets: 0; -fx-border-color: transparent; -fx-border-width: 0; -fx-border-insets: 0;"); scrollPane.setPadding(new Insets(0, 0, 10, 0)); - HBox generatedChart = generate(); + HBox generatedChart = generate(); scrollPane.setContent(generatedChart); generatedChart.prefHeightProperty().bind(scrollPane.heightProperty().subtract(30)); this.getChildren().add(scrollPane); @@ -278,4 +279,35 @@ public class MonthBarChart extends VBox implements ChartExportable return root.snapshot(sp, null); } + + @Override + public double getSuggestedWidth() + { + if(this.getChildren().size() < 2) + { + return 0; + } + + Node currentNode = this.getChildren().get(0); + + if(!(currentNode instanceof ScrollPane)) + { + return 0; + } + + ScrollPane scrollPane = (ScrollPane)currentNode; + Node content = scrollPane.getContent(); + if(content == null) + { + return 0; + } + + return ((Region)content).getWidth(); + } + + @Override + public double getSuggestedHeight() + { + return getHeight() + 50; + } } \ No newline at end of file diff --git a/src/de/deadlocker8/budgetmaster/logic/charts/MonthLineChart.java b/src/de/deadlocker8/budgetmaster/logic/charts/MonthLineChart.java index c15c39dab4fe3190d8677c1b1a18f0a6596921a1..af5152f69354a666eb8f4993bf29bddbbff8a88e 100644 --- a/src/de/deadlocker8/budgetmaster/logic/charts/MonthLineChart.java +++ b/src/de/deadlocker8/budgetmaster/logic/charts/MonthLineChart.java @@ -161,7 +161,7 @@ public class MonthLineChart extends VBox implements ChartExportable newStage.initModality(Modality.NONE); newStage.setScene(new Scene(root, width, height)); newStage.setResizable(false); - newStage.show(); + newStage.show(); SnapshotParameters sp = new SnapshotParameters(); sp.setTransform(Transform.scale(width / root.getWidth(), height / root.getHeight())); @@ -169,4 +169,16 @@ public class MonthLineChart extends VBox implements ChartExportable return root.snapshot(sp, null); } + + @Override + public double getSuggestedWidth() + { + return getWidth() + 50; + } + + @Override + public double getSuggestedHeight() + { + return getHeight() + 50; + } } \ No newline at end of file diff --git a/src/de/deadlocker8/budgetmaster/ui/ExportChartController.java b/src/de/deadlocker8/budgetmaster/ui/ExportChartController.java index 793f54a9031bd50e726da9226a99e78904458573..3b25804ae713bad2d5ce5a819334dee430f2bd66 100644 --- a/src/de/deadlocker8/budgetmaster/ui/ExportChartController.java +++ b/src/de/deadlocker8/budgetmaster/ui/ExportChartController.java @@ -53,9 +53,9 @@ public class ExportChartController { labelSavePath.setText(savePath.getAbsolutePath()); } - - textFieldWidth.setText(String.valueOf((int)chart.getWidth())); - textFieldHeight.setText(String.valueOf((int)chart.getHeight())); + + textFieldWidth.setText(String.valueOf((int)chart.getSuggestedWidth())); + textFieldHeight.setText(String.valueOf((int)chart.getSuggestedHeight())); anchorPaneMain.setStyle("-fx-background-color: #F4F4F4;");