Skip to content
Snippets Groups Projects
Commit e6e5e1ec authored by Robert Goldmann's avatar Robert Goldmann
Browse files

Fixed #94 - color incomes green and payments red in bar/line chart

parent e1221bba
No related branches found
No related tags found
2 merge requests!104merge v_1_2_0 into master,!100merge charts into v_1_2_0
...@@ -10,6 +10,8 @@ import java.util.ArrayList; ...@@ -10,6 +10,8 @@ import java.util.ArrayList;
public class Helpers public class Helpers
{ {
public static final DecimalFormat NUMBER_FORMAT = new DecimalFormat("0.00"); public static final DecimalFormat NUMBER_FORMAT = new DecimalFormat("0.00");
public static final String COLOR_INCOME = "#22BAD9";
public static final String COLOR_PAYMENT = "#F2612D";
public static String getURLEncodedString(String input) public static String getURLEncodedString(String input)
{ {
......
package de.deadlocker8.budgetmaster.logic.chartGenerators; package de.deadlocker8.budgetmaster.logic.chartGenerators;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Iterator;
import java.util.Set;
import de.deadlocker8.budgetmaster.logic.Helpers; import de.deadlocker8.budgetmaster.logic.Helpers;
import de.deadlocker8.budgetmaster.logic.MonthInOutSum; import de.deadlocker8.budgetmaster.logic.MonthInOutSum;
...@@ -11,6 +13,7 @@ import javafx.scene.chart.BarChart; ...@@ -11,6 +13,7 @@ import javafx.scene.chart.BarChart;
import javafx.scene.chart.CategoryAxis; import javafx.scene.chart.CategoryAxis;
import javafx.scene.chart.NumberAxis; import javafx.scene.chart.NumberAxis;
import javafx.scene.chart.XYChart; import javafx.scene.chart.XYChart;
import javafx.scene.control.Label;
import javafx.scene.control.Tooltip; import javafx.scene.control.Tooltip;
import javafx.scene.input.MouseEvent; import javafx.scene.input.MouseEvent;
...@@ -83,6 +86,43 @@ public class BarChartGenerator ...@@ -83,6 +86,43 @@ public class BarChartGenerator
} }
}); });
// style bar for incomes
for(Node n : generatedChart.lookupAll(".default-color0.chart-bar"))
{
n.setStyle("-fx-bar-fill: " + Helpers.COLOR_INCOME + ";");
}
// style bar for payments
for(Node n : generatedChart.lookupAll(".default-color1.chart-bar"))
{
n.setStyle("-fx-bar-fill: " + Helpers.COLOR_PAYMENT + ";");
}
//style legend item according to color
Set<Node> nodes = generatedChart.lookupAll(".chart-legend-item");
if(nodes.size() > 0)
{
Iterator<Node> iterator = nodes.iterator();
int counter = 0;
while(iterator.hasNext())
{
Node node = iterator.next();
if(node instanceof Label)
{
Label labelLegendItem = (Label)node;
if(counter == 0)
{
labelLegendItem.getGraphic().setStyle("-fx-background-color: " + Helpers.COLOR_INCOME + ";");
}
else
{
labelLegendItem.getGraphic().setStyle("-fx-background-color: " + Helpers.COLOR_PAYMENT + ";");
}
}
counter++;
}
}
return generatedChart; return generatedChart;
} }
} }
\ No newline at end of file
package de.deadlocker8.budgetmaster.logic.chartGenerators; package de.deadlocker8.budgetmaster.logic.chartGenerators;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Iterator;
import java.util.Set;
import de.deadlocker8.budgetmaster.logic.Helpers; import de.deadlocker8.budgetmaster.logic.Helpers;
import de.deadlocker8.budgetmaster.logic.MonthInOutSum; import de.deadlocker8.budgetmaster.logic.MonthInOutSum;
...@@ -11,6 +13,7 @@ import javafx.scene.chart.CategoryAxis; ...@@ -11,6 +13,7 @@ import javafx.scene.chart.CategoryAxis;
import javafx.scene.chart.LineChart; import javafx.scene.chart.LineChart;
import javafx.scene.chart.NumberAxis; import javafx.scene.chart.NumberAxis;
import javafx.scene.chart.XYChart; import javafx.scene.chart.XYChart;
import javafx.scene.control.Label;
import javafx.scene.control.Tooltip; import javafx.scene.control.Tooltip;
import javafx.scene.input.MouseEvent; import javafx.scene.input.MouseEvent;
...@@ -83,6 +86,55 @@ public class LineChartGenerator ...@@ -83,6 +86,55 @@ public class LineChartGenerator
} }
}); });
// style line for incomes
for(Node n : generatedChart.lookupAll(".default-color0.chart-series-line"))
{
n.setStyle("-fx-stroke: " + Helpers.COLOR_INCOME + ";");
}
// style line dots for incomes
for(Node n : generatedChart.lookupAll(".default-color0.chart-line-symbol"))
{
n.setStyle("-fx-background-color: " + Helpers.COLOR_INCOME + ", white;");
}
// style line for payments
for(Node n : generatedChart.lookupAll(".default-color1.chart-series-line"))
{
n.setStyle("-fx-stroke: " + Helpers.COLOR_PAYMENT + ";");
}
// style line dots for payments
for(Node n : generatedChart.lookupAll(".default-color1.chart-line-symbol"))
{
n.setStyle("-fx-background-color: " + Helpers.COLOR_PAYMENT + ", white;");
}
// style legend item according to color
Set<Node> nodes = generatedChart.lookupAll(".chart-legend-item");
if(nodes.size() > 0)
{
Iterator<Node> iterator = nodes.iterator();
int counter = 0;
while(iterator.hasNext())
{
Node node = iterator.next();
if(node instanceof Label)
{
Label labelLegendItem = (Label)node;
if(counter == 0)
{
labelLegendItem.getGraphic().setStyle("-fx-background-color: " + Helpers.COLOR_INCOME + ";");
}
else
{
labelLegendItem.getGraphic().setStyle("-fx-background-color: " + Helpers.COLOR_PAYMENT + ";");
}
}
counter++;
}
}
// TODO color income green and payments red // TODO color income green and payments red
return generatedChart; return generatedChart;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment