package application.controller import application.model.MessageListener import application.model.Vessel import application.model.observableVessel import application.model.observableSelectedVessel import javafx.collections.FXCollections import javafx.collections.ObservableList import javafx.fxml.FXML import javafx.fxml.Initializable import javafx.scene.control.ListView import java.net.URL import java.util.* class VesselListPanelController : Initializable, MessageListener { @FXML var shipListView: ListView = ListView() var shipList: ObservableList = FXCollections.observableArrayList() override fun initialize(location: URL?, resources: ResourceBundle?) { shipListView.items = shipList observableVessel.listeners.add(this) shipListView.selectionModel.selectedItemProperty().addListener { _, _, newValue -> observableSelectedVessel.vessel = observableVessel.vessels[newValue]!! } } override fun onValueChanged(newValue: MutableMap) { shipList.clear() shipList.addAll(newValue.keys) } }