@FXML void initialize() { getAllImageViewsForButtons(); configureWidthHeightForImageViews(); configureButtons(); contentPane.setAlignment(Pos.CENTER); // show all customers and all employees titleLabel.setText("All Customers and All Employees"); TableView table = new TableView(); TableColumn fnCol = new TableColumn("First Name"); fnCol.setCellValueFactory(new PropertyValueFactory<>("firstName")); TableColumn lnCol = new TableColumn("Last Name"); lnCol.setCellValueFactory(new PropertyValueFactory<>("lastName")); TableColumn emailCol = new TableColumn("email"); emailCol.setCellValueFactory(new PropertyValueFactory<>("email")); table.getColumns().addAll(fnCol, lnCol, emailCol); ObservableList<Person> data = FXCollections.observableArrayList(operation.getAllCustomersAndEmployees()); table.setItems(data); table.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY); contentPane.getChildren().add(table); }
@FXML private void customersButtonClicked(ActionEvent event) { configureButtons(); customersButton.setGraphic(customersSelectedIMV); // Clear old content contentPane.getChildren().clear(); titleLabel.setText("Customer Information"); ScrollPane scrollPane = new ScrollPane(); contentPane.getChildren().add(scrollPane); VBox box = new VBox(); box.setSpacing(10); box.setAlignment(Pos.TOP_CENTER); box.setPrefWidth(900); // set up for ALL CUSTOMERS Text cHeader = new Text("All Customers"); cHeader.setFont(new Font("System", 24)); ObservableList<Customer> data = FXCollections.observableArrayList(operation.getAllCustomers()); TableView cTable = new TableView(); TableColumn cfnCol = new TableColumn("First Name"); cfnCol.setCellValueFactory(new PropertyValueFactory<>("firstName")); TableColumn clnCol = new TableColumn("Last Name"); clnCol.setCellValueFactory(new PropertyValueFactory<>("lastName")); TableColumn cEmailCol = new TableColumn("Email"); cEmailCol.setCellValueFactory(new PropertyValueFactory<>("email")); TableColumn cUpdatedAtCol = new TableColumn("Updated At"); cUpdatedAtCol.setCellValueFactory(new PropertyValueFactory<>("updatedAt")); TableColumn cDiscountCol = new TableColumn("Discount"); cDiscountCol.setCellValueFactory(new PropertyValueFactory<>("discount")); cTable.getColumns().addAll(cfnCol, clnCol, cEmailCol, cUpdatedAtCol, cDiscountCol); cTable.setItems(data); cTable.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY); box.getChildren().addAll(cHeader, cTable); scrollPane.setContent(box); }
@FXML private void employeesButtonClicked(ActionEvent event) { configureButtons(); employeesButton.setGraphic(employeesSelectedIMV); // Clear old content contentPane.getChildren().clear(); titleLabel.setText("Employees"); // 2 horizontal boxes for All Employees and Employees are Customers HBox hbox = new HBox(); hbox.setSpacing(5); // 2 vboxes for each hbox VBox leftBox = new VBox(); VBox rightBox = new VBox(); // Set up All employees ObservableList<Employee> data = FXCollections.observableArrayList(operation.getAllEmployees()); TableView table = new TableView(); // Add title for all employees Text leftTitle = new Text("All Employees"); leftTitle.setFont(new Font("System", 24)); // add left table and title to left box leftBox.getChildren().addAll(leftTitle, table); leftBox.setSpacing(5); TableColumn efnCol = new TableColumn("First Name"); efnCol.setCellValueFactory(new PropertyValueFactory<>("firstName")); TableColumn elnCol = new TableColumn("Last Name"); elnCol.setCellValueFactory(new PropertyValueFactory<>("lastName")); TableColumn epositionCol = new TableColumn("Position"); epositionCol.setCellValueFactory(new PropertyValueFactory<>("position")); TableColumn eemailCol = new TableColumn("Email"); eemailCol.setCellValueFactory(new PropertyValueFactory<>("email")); TableColumn elastworkedCol = new TableColumn("Last Worked"); elastworkedCol.setCellValueFactory(new PropertyValueFactory<>("lastWorked")); table.getColumns().addAll(efnCol, elnCol, epositionCol, eemailCol, elastworkedCol); table.setItems(data); table.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY); // Set up for employees and also customers ObservableList<Employee> rightData = FXCollections.observableArrayList(operation.getEmployeesWhoAreCustomers()); TableView rightTable = new TableView(); // Add title for all employees Text rightTitle = new Text("Employees Are Customers"); rightTitle.setFont(new Font("System", 24)); TableColumn RfnCol = new TableColumn("First Name"); RfnCol.setCellValueFactory(new PropertyValueFactory<>("firstName")); TableColumn RlnCol = new TableColumn("Last Name"); RlnCol.setCellValueFactory(new PropertyValueFactory<>("lastName")); TableColumn RpositionCol = new TableColumn("Position"); RpositionCol.setCellValueFactory(new PropertyValueFactory<>("position")); TableColumn RemailCol = new TableColumn("Email"); RemailCol.setCellValueFactory(new PropertyValueFactory<>("email")); TableColumn RlastworkedCol = new TableColumn("Last Worked"); RlastworkedCol.setCellValueFactory(new PropertyValueFactory<>("lastWorked")); rightTable.getColumns().addAll(RfnCol, RlnCol, RpositionCol, RemailCol, RlastworkedCol); rightTable.setItems(rightData); // add right table to the right box rightBox.getChildren().addAll(rightTitle, rightTable); rightBox.setSpacing(5); hbox.getChildren().addAll(leftBox, rightBox); hbox.setSpacing(10); hbox.setAlignment(Pos.CENTER); // add hbox to content pane contentPane.getChildren().add(hbox); }
@FXML private void reservationsButtonClicked(ActionEvent event) { configureButtons(); reservationsButton.setGraphic(reservationsSelectedIMV); // Clear the content of contentPane contentPane.getChildren().clear(); // Set title titleLabel.setText("Reservations"); // Make box for weekly availability and reservations VBox box = new VBox(); box.setSpacing(10); box.setAlignment(Pos.TOP_CENTER); box.setPrefWidth(900); // box for availability VBox abox = new VBox(); box.setSpacing(10); box.setAlignment(Pos.TOP_CENTER); box.setPrefWidth(900); // box for reservations VBox resbox = new VBox(); box.setSpacing(10); box.setAlignment(Pos.TOP_CENTER); box.setPrefWidth(900); // set up for weekly table availability Text aHeader = new Text("Tables still available"); aHeader.setFont(new Font("System", 24)); TableView aTable = new TableView(); TableColumn aDateCol = new TableColumn("Date"); aDateCol.setCellValueFactory(new PropertyValueFactory<>("date")); TableColumn tablesCol = new TableColumn("Tables Available"); tablesCol.setCellValueFactory(new PropertyValueFactory<>("tablesAvailable")); // add table and title to availability box abox.getChildren().addAll(aHeader, aTable); abox.setSpacing(5); // set width for all cols aDateCol.setMinWidth(100); tablesCol.setMinWidth(100); aTable.getColumns().addAll(aDateCol, tablesCol); // Populate data to the table view operation.callDates(); ObservableList<Availability> adata = FXCollections.observableArrayList(operation.getWeeklyAvailability()); aTable.setItems(adata); aTable.setMaxHeight(235); aTable.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY); // set up for reservations Text resHeader = new Text("All Reservations"); resHeader.setFont(new Font("System", 24)); TableView resTable = new TableView(); TableColumn firstNameCol = new TableColumn("First Name"); firstNameCol.setCellValueFactory(new PropertyValueFactory<>("firstName")); TableColumn lastNameCol = new TableColumn("Last Name"); lastNameCol.setCellValueFactory(new PropertyValueFactory<>("lastName")); TableColumn tidCol = new TableColumn("tID"); tidCol.setCellValueFactory(new PropertyValueFactory<>("tID")); TableColumn partySizeCol = new TableColumn("Party Size"); partySizeCol.setCellValueFactory(new PropertyValueFactory<>("partySize")); TableColumn seatsCol = new TableColumn("Seats"); seatsCol.setCellValueFactory(new PropertyValueFactory<>("seats")); TableColumn dateCol = new TableColumn("Reservation Date"); dateCol.setCellValueFactory(new PropertyValueFactory<>("reservationDate")); // set width for all cols firstNameCol.setMinWidth(100); lastNameCol.setMinWidth(100); tidCol.setMinWidth(100); partySizeCol.setMinWidth(100); seatsCol.setMinWidth(100); dateCol.setMinWidth(300); // add table and title to availability box ScrollPane scrollPane = new ScrollPane(); scrollPane.setContent(resTable); scrollPane.setFitToWidth(true); resbox.getChildren().addAll(resHeader, scrollPane); resbox.setSpacing(5); resTable .getColumns() .addAll(firstNameCol, lastNameCol, tidCol, partySizeCol, seatsCol, dateCol); // Populate data to the table view ObservableList<ReservationInfo> resdata = FXCollections.observableArrayList(operation.getAllReservations()); resTable.setItems(resdata); resTable.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY); // add table view to content pane box.getChildren().addAll(abox, resbox); contentPane.getChildren().add(box); }