From 20c5a8de883a67f7a2d9a3b41f67f44b50894be6 Mon Sep 17 00:00:00 2001 From: shaggy3007 Date: Mon, 6 Nov 2023 17:02:05 +0100 Subject: [PATCH] Activity selector now works yey --- Elaborato_IS/src/Calendar/Day.java | 2 +- Elaborato_IS/src/Calendar/Week.java | 7 +-- .../src/ClientApp/ActivitySelector.java | 45 +++++++++++++------ Elaborato_IS/src/ClientApp/TestMain.java | 7 ++- 4 files changed, 43 insertions(+), 18 deletions(-) diff --git a/Elaborato_IS/src/Calendar/Day.java b/Elaborato_IS/src/Calendar/Day.java index c400555..1ac48cd 100644 --- a/Elaborato_IS/src/Calendar/Day.java +++ b/Elaborato_IS/src/Calendar/Day.java @@ -52,7 +52,7 @@ public class Day implements Iterable,Comparable { return Name; } public Date getDate() { - return date; + return new Date(date); } public int getOrdinal() { return ordinal; diff --git a/Elaborato_IS/src/Calendar/Week.java b/Elaborato_IS/src/Calendar/Week.java index 7e1f331..e539827 100644 --- a/Elaborato_IS/src/Calendar/Week.java +++ b/Elaborato_IS/src/Calendar/Week.java @@ -9,13 +9,14 @@ public class Week implements Iterable, Comparable { private static int[] DaysInMonth = {31,28,31,30,31,30,31,30,30,31,30,31}; public Week (Date date,int ordinal) { Day WeekDay = new Day(date,ordinal); + //System.out.println(WeekDay +" "+DaysInMonth[WeekDay.getDate().getMonth()-1]); WeekDays.add(WeekDay); do{ - if (!WeekDay.getName().toString().equals(Days.Sunday.toString())) { + if (!WeekDay.getName().toString().equals(Days.Sunday.toString()) && WeekDay.getDate().getDay(), Comparable { if (WeekDays.last().getOrdinal() == 7) { return new Week(WeekDays.last().iterator().next().getDate(),1); } else { - return new Week(WeekDays.last().iterator().next().getDate(),WeekDays.last().getOrdinal() + 1); + return new Week(WeekDays.last().iterator().next().getDate(),WeekDays.last().getOrdinal() +1); } } diff --git a/Elaborato_IS/src/ClientApp/ActivitySelector.java b/Elaborato_IS/src/ClientApp/ActivitySelector.java index 150c50a..30e2b5b 100644 --- a/Elaborato_IS/src/ClientApp/ActivitySelector.java +++ b/Elaborato_IS/src/ClientApp/ActivitySelector.java @@ -14,6 +14,7 @@ import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.event.ActionEvent; import javafx.event.EventHandler; +import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.ComboBox; import javafx.scene.layout.HBox; @@ -25,24 +26,37 @@ public class ActivitySelector extends AbstractAppPane{ private Year year; private Date date; private Week week; + private ActivitySelector precWeek; + private ActivitySelector nextWeek; private ObservableList Activities = FXCollections.observableArrayList(); private Map>> WeekMap = new HashMap<>(); + private Scene Original; public ActivitySelector (Year year,Date date) { this.year = year; this.date = date; - Layout.autosize(); + Original = scena; textFill(); + //precWeek = new ActivitySelector(year,week.getWeekDays().first().getDate().getPrec()); + + Layout.autosize(); + gridSetup(); - scena.setRoot(Layout); + scena.setRoot(this.Layout); + //System.out.println("DioB"); } - public ActivitySelector (Year year,Date date, int Flag) { + public ActivitySelector (Year year,Date date,Scene oScena) { this.year = year; this.date = date; - Layout.autosize(); + Original = oScena; textFill(); - gridSetup(); + //precWeek = new ActivitySelector(year,week.getWeekDays().first().getDate().getPrec()); + Layout.autosize(); + + gridSetup(); + oScena.setRoot(this.Layout); + //System.out.println("DioB"); } @Override @@ -52,8 +66,9 @@ public class ActivitySelector extends AbstractAppPane{ @Override public void handle(ActionEvent arg0) { - ActivitySelector prec = new ActivitySelector(year,week.getWeekDays().first().getDate().getPrec()); - scena.setRoot(prec.getLayout()); + System.out.println(week.getWeekDays().first().getDate().getPrec()); + precWeek = new ActivitySelector(year,week.getWeekDays().first().getDate().getPrec(),Original); + } }); @@ -64,7 +79,7 @@ public class ActivitySelector extends AbstractAppPane{ DBox.getChildren().add(new Text(D.toString())); for (Slot S : D.getSlots()) { DBox.getChildren().add(WeekMap.get(D).get(S)); - WeekMap.get(D).get(S).setValue(ActivityType.Empty); + WeekMap.get(D).get(S).setValue(S.getActivity()); WeekMap.get(D).get(S).setOnAction(new EventHandler() { @Override @@ -82,8 +97,9 @@ public class ActivitySelector extends AbstractAppPane{ @Override public void handle(ActionEvent arg0) { - ActivitySelector next = new ActivitySelector(year,week.getWeekDays().last().getDate().iterator().next(),1); - scena.setRoot(next.getLayout()); + nextWeek = new ActivitySelector(year,week.getWeekDays().last().getDate().iterator().next(),Original); + //scena.setRoot(nextWeek.getLayout()); + //System.out.println("DioB"); } }); @@ -111,12 +127,15 @@ public class ActivitySelector extends AbstractAppPane{ } public void getWeek(Date Wdate) { for(Month M:year.getMonths()) { - if (M.getName().ordinal() == date.getMonth()-1) { + if (M.getName().ordinal() == Wdate.getMonth()-1) { + System.out.println(M); for(Week W:M.getWeeks()) { - if((W.getWeekDays().first().getDate().compareTo(date) == -1 || W.getWeekDays().first().getDate().compareTo(date) == 0) && (W.getWeekDays().last().getDate().compareTo(date) == 1 || W.getWeekDays().last().getDate().compareTo(date) == 0)) { + + if((W.getWeekDays().first().getDate().compareTo(Wdate) == -1 || W.getWeekDays().first().getDate().compareTo(Wdate) == 0) && (W.getWeekDays().last().getDate().compareTo(Wdate) == 1 || W.getWeekDays().last().getDate().compareTo(Wdate) == 0)) { this.week = W; + break; } - break; + } break; } diff --git a/Elaborato_IS/src/ClientApp/TestMain.java b/Elaborato_IS/src/ClientApp/TestMain.java index f816768..212f251 100644 --- a/Elaborato_IS/src/ClientApp/TestMain.java +++ b/Elaborato_IS/src/ClientApp/TestMain.java @@ -2,6 +2,8 @@ package ClientApp; import Calendar.Date; import Calendar.Days; +import Calendar.Month; +import Calendar.Week; import Calendar.Year; import javafx.application.Application; import javafx.stage.Stage; @@ -9,12 +11,15 @@ public class TestMain extends Application{ public static void main(String args[]) { launch(args); + //System.out.println(new Year(2023,Days.Monday)); + //System.out.println(new Month(2023,4,Days.Sunday)); + //System.out.println(new Week(new Date(30,4,2023),1)); } @Override public void start(Stage stage) throws Exception { - AppPane Register = new ActivitySelector(new Year(2023,Days.Monday),new Date(3,3,2023)); + AppPane Register = new ActivitySelector(new Year(2023,Days.Monday),new Date(30,4,2023)); stage.setScene(Register.getScene()); stage.show();