Commit 867a0df4617a6c1355868b60f50a41b9e74d0140

Authored by lsagona
1 parent e220e082b5
Exists in master and in 1 other branch dev

populate plot when the property is selected

Showing 1 changed file with 63 additions and 44 deletions Side-by-side Diff

src/main/kotlin/application/controller/DataPanelController.kt View file @ 867a0df
... ... @@ -55,7 +55,7 @@
55 55  
56 56  
57 57  
58   - config.showLegend(true)
  58 + config.showLegend(false)
59 59 config.setLegendInsidePlot(false)
60 60  
61 61 setObservableCurrentTimeListener()
... ... @@ -75,6 +75,7 @@
75 75  
76 76 dataListView.selectionModel.selectedItemProperty().addListener { _, _, newValue ->
77 77 selectedItem = newValue
  78 + updateDataList(observableSelectedVessel.value)
78 79 plot(newValue)
79 80 }
80 81  
... ... @@ -90,7 +91,7 @@
90 91 }
91 92  
92 93 private fun plot() {
93   - if (selectedItem != null) {
  94 + if (selectedItem != null || observableSelectedVessel.value == Vessel(null)) {
94 95 GlobalScope.launch {
95 96 plot(selectedItem)
96 97 }
... ... @@ -107,7 +108,7 @@
107 108 dataViewer.resetPlot()
108 109  
109 110 return
110   - }
  111 + }else if (data.second.size < timeData.size) return
111 112  
112 113 val getValueVisitorX = GetValueVisitor()
113 114 val getValueVisitorY = GetValueVisitor()
114 115  
... ... @@ -308,48 +309,66 @@
308 309 private fun updateDataList(vessel: Vessel) {
309 310 timeData = populateTime(vessel)
310 311  
311   - latitude.clear()
312   - latitude.addAll(populateLatitude(vessel))
  312 + if(dataListView.selectionModel.selectedItem == null) return
313 313  
314   - longitude.clear()
315   - longitude.addAll(populateLongitude(vessel))
316   -
317   - speedOverGround.clear()
318   - speedOverGround.addAll(populateSpeedOverGround(vessel))
319   -
320   - courseOverGround.clear()
321   - courseOverGround.addAll(populateCourseOverGround(vessel))
322   -
323   - heading.clear()
324   - heading.addAll(populateHeading(vessel))
325   -
326   - vesselName.clear()
327   - vesselName.addAll(populateVesselName(vessel))
328   -
329   - imo.clear()
330   - imo.addAll(populateIMO(vessel))
331   -
332   - callSign.clear()
333   - callSign.addAll(populateCallSign(vessel))
334   -
335   - vesselType.clear()
336   - vesselType.addAll(populateVesselType(vessel))
337   -
338   - status.clear()
339   - status.addAll(populateStatus(vessel))
340   -
341   - length.clear()
342   - length.addAll(populateLength(vessel))
343   -
344   - width.clear()
345   - width.addAll(populateWidth(vessel))
346   -
347   - draft.clear()
348   - draft.addAll(populateDraft(vessel))
349   -
350   - cargo.clear()
351   - cargo.addAll(populateCargo(vessel))
352   -
  314 + when (dataListView.selectionModel.selectedItem.first) {
  315 + "Latitude" -> {
  316 + latitude.clear()
  317 + latitude.addAll(populateLatitude(vessel))
  318 + }
  319 + "Longitude" -> {
  320 + longitude.clear()
  321 + longitude.addAll(populateLongitude(vessel))
  322 + }
  323 + "Speed Over Ground" -> {
  324 + speedOverGround.clear()
  325 + speedOverGround.addAll(populateSpeedOverGround(vessel))
  326 + }
  327 + "Course Over Ground" -> {
  328 + courseOverGround.clear()
  329 + courseOverGround.addAll(populateCourseOverGround(vessel))
  330 + }
  331 + "Heading" -> {
  332 + heading.clear()
  333 + heading.addAll(populateHeading(vessel))
  334 + }
  335 + "Vessel Name" -> {
  336 + vesselName.clear()
  337 + vesselName.addAll(populateVesselName(vessel))
  338 + }
  339 + "IMO" -> {
  340 + imo.clear()
  341 + imo.addAll(populateIMO(vessel))
  342 + }
  343 + "Call Sign" -> {
  344 + callSign.clear()
  345 + callSign.addAll(populateCallSign(vessel))
  346 + }
  347 + "Vessel Type" -> {
  348 + vesselType.clear()
  349 + vesselType.addAll(populateVesselType(vessel))
  350 + }
  351 + "Status" -> {
  352 + status.clear()
  353 + status.addAll(populateStatus(vessel))
  354 + }
  355 + "Length" -> {
  356 + length.clear()
  357 + length.addAll(populateLength(vessel))
  358 + }
  359 + "Width" -> {
  360 + width.clear()
  361 + width.addAll(populateWidth(vessel))
  362 + }
  363 + "Draft" -> {
  364 + draft.clear()
  365 + draft.addAll(populateDraft(vessel))
  366 + }
  367 + "Cargo" -> {
  368 + cargo.clear()
  369 + cargo.addAll(populateCargo(vessel))
  370 + }
  371 + }
353 372 }
354 373  
355 374 private fun setObservableCurrentTimeListener() {