|
|
|
|
@ -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<String> 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<TripStop> stopTableView = new TableView<>();
|
|
|
|
|
|
|
|
|
|
TableColumn<TripStop, String> addressColumn = new TableColumn<>();
|
|
|
|
|
addressColumn.setText("Address");
|
|
|
|
|
addressColumn.setCellValueFactory(p->new SimpleStringProperty(p.getValue().getName()));
|
|
|
|
|
stopTableView.getColumns().add(addressColumn);
|
|
|
|
|
|
|
|
|
|
TableColumn<TripStop, String> 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(){
|
|
|
|
|
|