diff --git a/src/main/java/seedu/address/ui/CalendarPanel.java b/src/main/java/seedu/address/ui/CalendarPanel.java index c738235d4c56..3b276e972b2e 100644 --- a/src/main/java/seedu/address/ui/CalendarPanel.java +++ b/src/main/java/seedu/address/ui/CalendarPanel.java @@ -1,13 +1,22 @@ +//@@author SHININGGGG package seedu.address.ui; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + import java.util.Calendar; import java.util.logging.Logger; import javafx.fxml.FXML; -import javafx.scene.control.Label; +import javafx.geometry.Pos; import javafx.scene.layout.GridPane; - import javafx.scene.layout.Region; +import javafx.scene.paint.Color; +import javafx.scene.text.Font; +import javafx.scene.text.FontPosture; +import javafx.scene.text.FontWeight; +import javafx.scene.text.Text; + import seedu.address.commons.core.LogsCenter; import seedu.address.model.CalendarInfo; @@ -24,22 +33,85 @@ public class CalendarPanel extends UiPart { private int firstDay; @FXML - private GridPane calendarView = new GridPane(); + private Text currentDate; @FXML - private Label date1; + private GridPane calendarView; public CalendarPanel() { super(FXML); calendar = calendarInfo.getCalendar(); - firstDay = calendarInfo.firstDay; - setGridPane(calendar); + firstDay = calendarInfo.firstDay - 1; + setCurrentDate(); + setCalendar(); registerAsAnEventHandler(this); } - private void setGridPane (Calendar calendar) { + private void setCurrentDate () { + + //Text currentDate = new Text(); + DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + LocalDateTime now = LocalDateTime.now(); + currentDate.setText("\n " + dtf.format(now)); + currentDate.setFont(Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 15)); + currentDate.setFill(Color.ORANGE); + //currentDate.setLayoutY(20); + //currentDate.setLayoutX(0); + //currentDate.setLayoutY(0); + } + + private void setOverview() { + //System.out.println("The first day of the whole month is " + firstDay); + calendarView.setMinSize(200, 200); + calendarView.setVgap(30); + calendarView.setHgap(20); + calendarView.setAlignment(Pos.CENTER); + //calendarView.add(currentDate, 3, 0); + + for (int j = 0; j < 7; j++) { + if (j == 0) { + Text text = new Text("Sun"); + text.setFont(Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 20)); + text.setFill(Color.WHEAT); + calendarView.add(text, 0, 0); + } else if (j == 1) { + Text text = new Text("Mon"); + text.setFont(Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 20)); + text.setFill(Color.WHEAT); + calendarView.add(text, 1, 0); + } else if (j == 2) { + Text text = new Text("Tue"); + text.setFont(Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 20)); + text.setFill(Color.WHEAT); + calendarView.add(text, 2, 0); + } else if (j == 3) { + Text text = new Text("Wed"); + text.setFont(Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 20)); + text.setFill(Color.WHEAT); + calendarView.add(text, 3, 0); + } else if (j == 4) { + Text text = new Text("Thur"); + text.setFont(Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 20)); + text.setFill(Color.WHEAT); + calendarView.add(text, 4, 0); + } else if (j == 5) { + Text text = new Text("Fri"); + text.setFont(Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 20)); + text.setFill(Color.WHEAT); + calendarView.add(text, 5, 0); + } else { + Text text = new Text("Sat"); + text.setFont(Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 20)); + text.setFill(Color.WHEAT); + calendarView.add(text, 6, 0); + } + } + } + + private void setDays () { + int numOfDays; - int week; + int week = 1; int day = firstDay; if (calendar.get(Calendar.MONTH) == Calendar.JANUARY || calendar.get(Calendar.MONTH) == Calendar.MARCH @@ -54,43 +126,21 @@ private void setGridPane (Calendar calendar) { } else { numOfDays = 30; } - //for (int i = 0; i < numOfDays; i++) { - week = calendar.get(Calendar.WEEK_OF_MONTH); - calendar.set(Calendar.DAY_OF_MONTH, 1); - date1.setText(Integer.toString(1)); - calendarView.add(date1, (day % 7), week); - day++; - //} - } - /* - private void setEventHandlerForSelectionChangeEvent() { - calendarView.getSelectionModel().selectedItemProperty() - .addListener((observable, oldValue, newValue) -> { - if (newValue != null) { - logger.fine("Selection in person list panel changed to : '" + newValue + "'"); - raise(new PersonPanelSelectionChangedEvent(newValue)); - } - }); - } - */ - - /** - * Custom {@code ListCell} that displays the graphics of a {@code Person} using a {@code PersonCard}. - */ - /* - class PersonListViewCell extends ListCell { - @Override - protected void updateItem(Person person, boolean empty) { - super.updateItem(person, empty); - - if (empty || person == null) { - setGraphic(null); - setText(null); - } else { - setGraphic(new PersonCard(person, getIndex() + 1).getRoot()); + + for (int i = 1; i <= numOfDays; i++) { + Text text = new Text(Integer.toString(i)); + text.setFont(Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 20)); + text.setFill(Color.WHEAT); + calendarView.add(text, day, week); + day = (day + 1) % 7; + if (day == 0) { + week++; } } } - */ + private void setCalendar () { + setOverview(); + setDays(); + } } diff --git a/src/main/java/seedu/address/ui/MainWindow.java b/src/main/java/seedu/address/ui/MainWindow.java index e23ce9fd1c46..2c54f040b24a 100644 --- a/src/main/java/seedu/address/ui/MainWindow.java +++ b/src/main/java/seedu/address/ui/MainWindow.java @@ -6,11 +6,11 @@ import javafx.event.ActionEvent; import javafx.fxml.FXML; +import javafx.scene.Node; import javafx.scene.control.MenuItem; import javafx.scene.control.TextInputControl; import javafx.scene.input.KeyCombination; import javafx.scene.input.KeyEvent; -import javafx.scene.layout.GridPane; import javafx.scene.layout.StackPane; import javafx.stage.Stage; import seedu.address.commons.core.Config; @@ -53,7 +53,7 @@ public class MainWindow extends UiPart { private StackPane browserPlaceholder; @FXML - private GridPane calendarPlaceholder; + private StackPane calendarPlaceholder; @FXML private StackPane commandBoxPlaceholder; @@ -141,7 +141,8 @@ void fillInnerParts() { //browserPlaceholder.getChildren().add(browserPanel.getRoot()); calendarPanel = new CalendarPanel(); - calendarPlaceholder.getChildren().add(calendarPanel.getRoot()); + Node x = calendarPanel.getRoot(); + calendarPlaceholder.getChildren().add(x); expenditureListPanel = new ExpenditureListPanel(logic.getFilteredExpenditureList()); expenditureListPanelPlaceholder.getChildren().add(expenditureListPanel.getRoot()); @@ -228,6 +229,10 @@ public ExpenditureListPanel getExpenditureListPanel() { return expenditureListPanel; } + public CalendarPanel getCalendarPanel() { + return calendarPanel; + } + void releaseResources() { browserPanel.freeResources(); } diff --git a/src/main/resources/view/CalendarPanel.fxml b/src/main/resources/view/CalendarPanel.fxml index fbe5fb8dbae3..3a81bea6225f 100644 --- a/src/main/resources/view/CalendarPanel.fxml +++ b/src/main/resources/view/CalendarPanel.fxml @@ -8,118 +8,9 @@ - - - - - + + + diff --git a/src/main/resources/view/MainWindow.fxml b/src/main/resources/view/MainWindow.fxml index 93b6637f14a2..82c8b4b27610 100644 --- a/src/main/resources/view/MainWindow.fxml +++ b/src/main/resources/view/MainWindow.fxml @@ -48,21 +48,21 @@ - + - + + + - - - +