From e3926801a0e4e15e44c0d6b17c903aa66e6809f5 Mon Sep 17 00:00:00 2001 From: Fan-Wu Yang Date: Thu, 1 Jun 2017 16:12:46 +1200 Subject: [PATCH] Added story 8 --- .../controllers/SharedTripsController.java | 98 +++++++++++++++++- .../controllers/SharedTripsController.class | Bin 7501 -> 10944 bytes 2 files changed, 94 insertions(+), 4 deletions(-) diff --git a/src/main/java/controllers/SharedTripsController.java b/src/main/java/controllers/SharedTripsController.java index 34d5f8d..296304d 100644 --- a/src/main/java/controllers/SharedTripsController.java +++ b/src/main/java/controllers/SharedTripsController.java @@ -4,10 +4,15 @@ import javafx.beans.property.SimpleStringProperty; import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.fxml.FXML; -import javafx.scene.control.ComboBox; -import javafx.scene.control.TableColumn; -import javafx.scene.control.TableView; -import javafx.scene.control.TextField; +import javafx.geometry.Pos; +import javafx.scene.Scene; +import javafx.scene.control.*; +import javafx.scene.layout.AnchorPane; +import javafx.scene.layout.ColumnConstraints; +import javafx.scene.layout.GridPane; +import javafx.scene.layout.RowConstraints; +import javafx.stage.Popup; +import javafx.stage.Stage; import model.SharedTrip; import model.Stop; import model.Trip; @@ -41,7 +46,92 @@ public class SharedTripsController extends Controller{ private ComboBox directionBox; public void showDetails(){ + SharedTrip trip = sharedTripsTable.getSelectionModel().getSelectedItem(); + Stage tripDetails = new Stage(); + tripDetails.setWidth(600); + tripDetails.setHeight(400); + tripDetails.setTitle(String.format("%1s Details", trip.name)); + AnchorPane wrapper = new AnchorPane(); + + GridPane popUpGrid = new GridPane(); + ColumnConstraints columnConstraints = new ColumnConstraints(); + columnConstraints.setPercentWidth(50); + popUpGrid.getColumnConstraints().add(columnConstraints); + popUpGrid.getColumnConstraints().add(columnConstraints); + + popUpGrid.addColumn(0); + popUpGrid.addColumn(0); + popUpGrid.addRow(0);//title + popUpGrid.addRow(0);//driver title + popUpGrid.addRow(0);//driver name + popUpGrid.addRow(0);//driver photo + popUpGrid.addRow(0);// + popUpGrid.addRow(0);//Car title + popUpGrid.addRow(0);//car model + popUpGrid.addRow(0);//car color + popUpGrid.addRow(0);//car year + popUpGrid.addRow(0);//car performance + + //information + Label tripTitle = new Label(trip.name); + tripTitle.setAlignment(Pos.CENTER); + popUpGrid.add(tripTitle, 0, 0, 2, 1); + + Label driverTitle = new Label("Driver"); + driverTitle.setAlignment(Pos.CENTER); + popUpGrid.add(driverTitle, 0, 1); + + Label driverName = new Label("Driver Name"); + popUpGrid.add(driverName, 0, 2); + + Label driverPhoto = new Label("Driver Photo"); + popUpGrid.add(driverPhoto, 0, 3); + + Label carTitle = new Label("Car"); + popUpGrid.add(carTitle, 0, 5); + + Label carModel = new Label(trip.ride.getModel()); + popUpGrid.add(carModel, 0, 6); + + Label carPlate = new Label(trip.ride.getLicensePlate()); + popUpGrid.add(carPlate, 0, 7); + + Label carColour = new Label(trip.ride.getColour()); + popUpGrid.add(carColour, 0, 8); + + Label carYear = new Label(String.valueOf(trip.ride.getYear())); + popUpGrid.add(carYear, 0, 9); + + //stops + TableView stopTableView = new TableView<>(); + + TableColumn addressColumn = new TableColumn<>(); + addressColumn.setText("Address"); + addressColumn.setCellValueFactory(p->new SimpleStringProperty(p.getValue().getName())); + stopTableView.getColumns().add(addressColumn); + + TableColumn timeColumn = new TableColumn<>(); + timeColumn.setText("Time"); + timeColumn.setCellValueFactory(p->new SimpleStringProperty(p.getValue().getTime())); + stopTableView.getColumns().add(timeColumn); + + stopTableView.setItems(trip.route); + + popUpGrid.add(stopTableView, 1, 1, 1, 8); + + AnchorPane.setTopAnchor(popUpGrid, 0.0); + AnchorPane.setBottomAnchor(popUpGrid, 0.0); + AnchorPane.setRightAnchor(popUpGrid, 0.0); + AnchorPane.setLeftAnchor(popUpGrid, 0.0); + + wrapper.getChildren().add(popUpGrid); + + Scene detailsScene = new Scene(wrapper); + + tripDetails.setScene(detailsScene); + + tripDetails.showAndWait(); } public void resetSearch(){ diff --git a/target/classes/controllers/SharedTripsController.class b/target/classes/controllers/SharedTripsController.class index 3ddb608aedb4bcb21c5a515fa8682b78233a0b92..d4a45bfbbda282b8a7fe68e8581fe0844ef361dd 100644 GIT binary patch literal 10944 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 ddQ-gKI)c0l?xQ9? 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 NPvh6+(Qone{{u!y*tP%w