Activity selector now works yey

This commit is contained in:
shaggy3007 2023-11-06 17:02:05 +01:00
parent 1fae90780c
commit 20c5a8de88
4 changed files with 43 additions and 18 deletions

View File

@ -52,7 +52,7 @@ public class Day implements Iterable<Day>,Comparable<Day> {
return Name;
}
public Date getDate() {
return date;
return new Date(date);
}
public int getOrdinal() {
return ordinal;

View File

@ -9,13 +9,14 @@ public class Week implements Iterable<Week>, Comparable<Week> {
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()<DaysInMonth[WeekDay.getDate().getMonth()-1]) {
WeekDay = WeekDay.iterator().next();
WeekDays.add(WeekDay);
}
//System.out.println(WeekDay.toString()+" "+DaysInMonth[WeekDay.getDate().getMonth()-1]);
//System.out.println(WeekDay +" "+DaysInMonth[WeekDay.getDate().getMonth()-1]);
}while(!(WeekDay.getName().toString().equals(Days.Sunday.toString())) && WeekDay.getDate().getDay()<DaysInMonth[WeekDay.getDate().getMonth()-1]);
}
@ -34,7 +35,7 @@ public class Week implements Iterable<Week>, Comparable<Week> {
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);
}
}

View File

@ -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<ActivityType> Activities = FXCollections.observableArrayList();
private Map<Day,HashMap<Slot,ComboBox<ActivityType>>> 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<ActionEvent>() {
@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;
}

View File

@ -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();