diff --git a/src/main/java/net/themusicinnoise/vaccalc/CalendarPanel.java b/src/main/java/net/themusicinnoise/vaccalc/CalendarPanel.java index d583712..8572092 100644 --- a/src/main/java/net/themusicinnoise/vaccalc/CalendarPanel.java +++ b/src/main/java/net/themusicinnoise/vaccalc/CalendarPanel.java @@ -10,12 +10,14 @@ import java.util.HashSet; import java.util.Set; public class CalendarPanel extends JPanel { + private PointEngine pointEngine; private YearMonth currentMonth; private final int cellHeight = 60; private final int cellWidth = 80; private final Set selectedDates = new HashSet<>(); - public CalendarPanel() { + public CalendarPanel(PointEngine pointEngine) { + this.pointEngine = pointEngine; this.currentMonth = YearMonth.now(); setPreferredSize(new Dimension(7 * cellWidth, 8 * cellHeight)); setBackground(Color.WHITE); @@ -77,7 +79,13 @@ public class CalendarPanel extends JPanel { } public double getTotalPoints() { - return selectedDates.size() * 1.0; + double totalPoints = 0.0; + + for (LocalDate date : selectedDates) { + totalPoints += pointEngine.getPointsOfDay(date); + } + + return totalPoints; } private LocalDate getDateAtPoint(int x, int y) { @@ -168,7 +176,7 @@ public class CalendarPanel extends JPanel { int textY = y + (cellHeight - fm.getHeight()) / 2 + fm.getAscent() - 8; g.drawString(dayStr, textX, textY); - String pointsStr = "(1.0)"; + String pointsStr = "(" + pointEngine.getPointsOfDay(cellDate) + ")"; Font smallFont = new Font("Arial", Font.PLAIN, 10); FontMetrics smallFm = g.getFontMetrics(smallFont); g.setFont(smallFont); diff --git a/src/main/java/net/themusicinnoise/vaccalc/PointEngine.java b/src/main/java/net/themusicinnoise/vaccalc/PointEngine.java new file mode 100644 index 0000000..465f20a --- /dev/null +++ b/src/main/java/net/themusicinnoise/vaccalc/PointEngine.java @@ -0,0 +1,17 @@ +package net.themusicinnoise.vaccalc; + +import java.time.LocalDate; + +public class PointEngine { + private double defaultPoints; + + public PointEngine() { + defaultPoints = 1.0; + } + + public void setDefaultPoints(float defaultPoints) { this.defaultPoints = defaultPoints; } + + public double getPointsOfDay(LocalDate date) { + return defaultPoints; + } +} diff --git a/src/main/java/net/themusicinnoise/vaccalc/VacCalc.java b/src/main/java/net/themusicinnoise/vaccalc/VacCalc.java index 4906957..2262fee 100644 --- a/src/main/java/net/themusicinnoise/vaccalc/VacCalc.java +++ b/src/main/java/net/themusicinnoise/vaccalc/VacCalc.java @@ -9,6 +9,7 @@ public class VacCalc extends JFrame { private CalendarPanel calendarPanel; private JLabel monthLabel; private JLabel pointsLabel; + private PointEngine pointEngine; public VacCalc() { setTitle("VacCalc"); @@ -29,7 +30,8 @@ public class VacCalc extends JFrame { menuBar.add(appMenu); setJMenuBar(menuBar); - calendarPanel = new CalendarPanel(); + pointEngine = new PointEngine(); + calendarPanel = new CalendarPanel(pointEngine); JPanel headerPanel = createHeaderPanel(); JPanel footerPanel = createFooterPanel();