package com.example.schedulerapp; import javafx.geometry.HPos; import javafx.geometry.Pos; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.layout.GridPane; import java.util.ArrayList; import java.util.Arrays; public class WeeklyView extends ScheduleView{ ArrayList<Label> days; public WeeklyView(){ //list of day labels days = new ArrayList<>(); days.addAll(Arrays.asList(new Label("Sunday"), new Label("Monday"), new Label("Tuesday"), new Label("Wednesday"), new Label("Thursday"), new Label("Friday"), new Label("Saturday"))); for (Label label : days){ GridPane.setHalignment(label, HPos.CENTER); label.setAlignment(Pos.CENTER); label.setPrefWidth(80); //label.setStyle(" -fx-border-color: black"); } } public void draw(){ //clear this.getChildren().clear(); //add to gridpane - time axis never changes int i = 1; for (Label time : times){ contents.add(time, 0, i); i++; } //add to gridpane - day axis never changes i = 1; for (Label time : days){ contents.add(time, i, 0); i++; } int col; //depends on day of week //get updated schedule ArrayList<Shift> schedule = model.getWeeklySchedule(); for (Shift shift : schedule){ col = (shift.getStart().getDayOfWeek().getValue() % 7) + 1; //need Sunday=7 to be 1 contents.add(this.formatShiftButton(shift), col, this.shiftGetRow(shift), 1, this.shiftGetLength(shift)); } } }