diff --git a/visualiser/src/main/java/seng302/Controllers/ConnectionController.java b/visualiser/src/main/java/seng302/Controllers/ConnectionController.java index afb417d9..4e4eb2d0 100644 --- a/visualiser/src/main/java/seng302/Controllers/ConnectionController.java +++ b/visualiser/src/main/java/seng302/Controllers/ConnectionController.java @@ -6,6 +6,7 @@ import javafx.fxml.FXML; import javafx.scene.control.Button; import javafx.scene.control.TableColumn; import javafx.scene.control.TableView; +import javafx.scene.control.TextField; import javafx.scene.layout.AnchorPane; import seng302.RaceConnection; @@ -31,16 +32,21 @@ public class ConnectionController extends Controller { @FXML private Button connectButton; - private List connections; + @FXML + private TextField urlField; + @FXML + private TextField portField; + + private ObservableList connections; @Override public void initialize(URL location, ResourceBundle resources) { // TODO - replace with config file - connections = new ArrayList<>(); + connections = FXCollections.observableArrayList(); connections.add(new RaceConnection("livedata.americascup.com", 4941)); connections.add(new RaceConnection("localhost", 4942)); - connectionTable.setItems(FXCollections.observableArrayList(connections)); + connectionTable.setItems(connections); hostnameColumn.setCellValueFactory(cellData -> cellData.getValue().hostnameProperty()); statusColumn.setCellValueFactory(cellData -> cellData.getValue().statusProperty()); @@ -60,6 +66,10 @@ public class ConnectionController extends Controller { } } + public AnchorPane startWrapper(){ + return connectionWrapper; + } + /** * Connects to host currently selected in table. Button enabled only if host is ready. */ @@ -71,4 +81,19 @@ public class ConnectionController extends Controller { parent.enterLobby(socket); } catch (IOException e) { /* Never reached */ } } + + /** + * adds a new connection + */ + public void addConnection(){ + String hostName = urlField.getText(); + String portString = portField.getText(); + try{ + int port = Integer.parseInt(portString); + connections.add(new RaceConnection(hostName, port)); + }catch(NumberFormatException e){ + System.err.println("Port number entered is not a number"); + } + + } } diff --git a/visualiser/src/main/java/seng302/Controllers/MainController.java b/visualiser/src/main/java/seng302/Controllers/MainController.java index 736fc5c2..22c9c2ed 100644 --- a/visualiser/src/main/java/seng302/Controllers/MainController.java +++ b/visualiser/src/main/java/seng302/Controllers/MainController.java @@ -43,5 +43,10 @@ public class MainController extends Controller { AnchorPane.setBottomAnchor(startController.startWrapper(), 0.0); AnchorPane.setLeftAnchor(startController.startWrapper(), 0.0); AnchorPane.setRightAnchor(startController.startWrapper(), 0.0); + + AnchorPane.setTopAnchor(connectionController.startWrapper(), 0.0); + AnchorPane.setBottomAnchor(connectionController.startWrapper(), 0.0); + AnchorPane.setLeftAnchor(connectionController.startWrapper(), 0.0); + AnchorPane.setRightAnchor(connectionController.startWrapper(), 0.0); } } diff --git a/visualiser/src/main/resources/scenes/connect.fxml b/visualiser/src/main/resources/scenes/connect.fxml index e9e9cc52..86c25190 100644 --- a/visualiser/src/main/resources/scenes/connect.fxml +++ b/visualiser/src/main/resources/scenes/connect.fxml @@ -1,5 +1,10 @@ + + + + + @@ -11,7 +16,7 @@ - + @@ -22,6 +27,7 @@ + @@ -33,12 +39,12 @@ - -