Skip to content
Snippets Groups Projects
WeeklyView.java 1.66 KiB
Newer Older
  • Learn to ignore specific revisions
  • ArktikHunter's avatar
    ArktikHunter committed
    package com.example.schedulerapp;
    
    
    import javafx.geometry.HPos;
    import javafx.geometry.Pos;
    import javafx.scene.control.Button;
    
    ArktikHunter's avatar
    ArktikHunter committed
    import javafx.scene.control.Label;
    
    import javafx.scene.layout.GridPane;
    
    ArktikHunter's avatar
    ArktikHunter committed
    
    import java.util.ArrayList;
    import java.util.Arrays;
    
    
    ArktikHunter's avatar
    ArktikHunter committed
    public class WeeklyView extends ScheduleView{
    
        ArrayList<Label> days;
    
    ArktikHunter's avatar
    ArktikHunter committed
    
    
        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")));
    
    ArktikHunter's avatar
    ArktikHunter committed
    
    
            for (Label label : days){
                GridPane.setHalignment(label, HPos.CENTER);
                label.setAlignment(Pos.CENTER);
                label.setPrefWidth(80);
                //label.setStyle(" -fx-border-color: black");
            }
        }
    
    ArktikHunter's avatar
    ArktikHunter committed
    
    
        public void draw(){
            //clear
    
    ArktikHunter's avatar
    ArktikHunter committed
            contents.getChildren().clear();
    
    
            //add to gridpane - time axis never changes
            int i = 1;
            for (Label time : times){
    
                i++;
            }
    
            //add to gridpane - day axis never changes
            i = 1;
            for (Label time : days){
    
                i++;
            }
    
            int col;        //depends on day of week
    
            //get updated schedule
    
    ArktikHunter's avatar
    ArktikHunter committed
            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));
    
    ArktikHunter's avatar
    ArktikHunter committed
            }
    
    ArktikHunter's avatar
    ArktikHunter committed
    }