diff --git a/src/main/java/io/github/dsheirer/gui/squelch/NoiseSquelchView.java b/src/main/java/io/github/dsheirer/gui/squelch/NoiseSquelchView.java index b00709ee..293a35cc 100644 --- a/src/main/java/io/github/dsheirer/gui/squelch/NoiseSquelchView.java +++ b/src/main/java/io/github/dsheirer/gui/squelch/NoiseSquelchView.java @@ -241,6 +241,18 @@ public class NoiseSquelchView extends VBox implements Listener { - synchronized(mSquelchStateHistory) - { - mSquelchStateHistory.clear(); - } + //Clear the squelch state history + synchronized(mSquelchStateHistory) + { + mSquelchStateHistory.clear(); + } - updateChart(); + //Clear the chart axis + getActivityChart().setDisable(true); + for(int x = 0; x < HISTORY_BUFFER_SIZE; x++) + { + mNoiseSeries.getData().get(x).setYValue(0); + mNoiseOpenThresholdSeries.getData().get(x).setYValue(0); + mNoiseCloseThresholdSeries.getData().get(x).setYValue(0); + mHysteresisSeries.getData().get(x).setYValue(0); + mHysteresisOpenThresholdSeries.getData().get(x).setYValue(0); + mHysteresisCloseThresholdSeries.getData().get(x).setYValue(0); + } - //Hysteresis controls - getOpenHysteresisSlider().setDisable(true); - getOpenHysteresisSlider().setValue(0); - getCloseHysteresisSlider().setDisable(true); - getCloseHysteresisSlider().setValue(0); - getHysteresisValueLabel().setDisable(true); + //Hysteresis controls + getOpenHysteresisSlider().setDisable(true); + getOpenHysteresisSlider().setValue(0); + getCloseHysteresisSlider().setDisable(true); + getCloseHysteresisSlider().setValue(0); + getHysteresisValueLabel().setDisable(true); + getHysteresisValueLabel().setText(NOT_AVAILABLE); - //Noise controls - getOpenNoiseSlider().setDisable(true); - getOpenNoiseSlider().setValue(0); - getCloseNoiseSlider().setValue(0); - getCloseNoiseSlider().setDisable(true); - getNoiseValueLabel().setDisable(true); + //Noise controls + getOpenNoiseSlider().setDisable(true); + getOpenNoiseSlider().setValue(0); + getCloseNoiseSlider().setValue(0); + getCloseNoiseSlider().setDisable(true); + getNoiseValueLabel().setDisable(true); + getNoiseValueLabel().setText(NOT_AVAILABLE); - getActivityChart().setDisable(true); - getSquelchOverrideButton().setDisable(true); - getSquelchStateLabel().setDisable(true); - getSquelchStateLabel().setText(NOT_AVAILABLE); - getResetButton().setDisable(true); + getResetButton().setDisable(true); + getSquelchOverrideButton().setDisable(true); + getSquelchStateLabel().setDisable(true); + getSquelchStateLabel().setText(NOT_AVAILABLE); - mControlsUpdated = false; - - //Setting the slider values triggers a delayed label update. Submit a separate delayed update onto the - // UI thread queue to clear the labels after the slider value triggered label updates are processed. - Platform.runLater(() -> { - getHysteresisValueLabel().setText(NOT_AVAILABLE); - getNoiseValueLabel().setText(NOT_AVAILABLE); - }); - }); + mControlsUpdated = false; } /** @@ -474,9 +487,10 @@ public class NoiseSquelchView extends VBox implements Listener { + reset(); + + mController = controller; + + if(mController != null) + { + mController.setNoiseSquelchStateListener(NoiseSquelchView.this); + } + + updateTimer(); + }); } catch(Exception e) { LOGGER.error("Error updating noise squelch controller", e); } - - updateTimer(); } /**