Blame view

src/main/kotlin/application/controller/MapPanelController.kt 1.1 KB
53f01ecc3   lsagona   display message o...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
  package application.controller
  
  import application.model.MessageListener
  import application.model.Vessel
  import application.model.observableMessages
  import javafx.concurrent.Worker
  import javafx.fxml.FXML
  import javafx.fxml.Initializable
  import javafx.scene.layout.StackPane
  import map.LeafletMapView
  import map.MapConfig
  import map.displayMessageOnMap
  import java.net.URL
  import java.util.*
  import java.util.concurrent.CompletableFuture
  
  class MapPanelController : Initializable, MessageListener {
  
      @FXML
      private lateinit var map: StackPane
  
      private val mapView = LeafletMapView()
  
  
      override fun initialize(location: URL?, resources: ResourceBundle?) {
          val completeFutureMap: CompletableFuture<Worker.State> = mapView.displayMap(MapConfig())
          observableMessages.listeners.add(this)
  
          /*completeFutureMap.whenComplete{
              workerState, _ ->
              if (workerState == Worker.State.SUCCEEDED) {
              }
          }*/
          map.children.add(mapView)
      }
  
      override fun onValueChanged(newValue: MutableMap<Int?, Vessel>) {
          displayMessageOnMap(mapView)
      }
  
  
  }