PAMGuard/src/Array/ArraySidePanelControl.java
Douglas Gillespie b420fd9f9d Major code cleanup
Cleanup of imports, whitespace, etc. across all of PAMGuard. No other changes to code apart from this automatic cleanup.
2024-08-27 12:48:16 +01:00

94 lines
2.5 KiB
Java

package Array;
import java.awt.Window;
import java.io.Serializable;
import Array.sensors.ArrayDisplayParameters;
import Array.sensors.ArrayDisplayParamsProvider;
import Array.sensors.swing.ArrayDisplayParamsDialog;
import Array.swing.sidepanel.ArraySidePanel;
import PamController.PamControlledUnit;
import PamController.PamControlledUnitSettings;
import PamController.PamControllerInterface;
import PamController.PamSettingManager;
import PamController.PamSettings;
import PamUtils.PamCalendar;
import PamView.PamSidePanel;
public class ArraySidePanelControl extends PamControlledUnit implements ArrayDisplayParamsProvider, PamSettings {
private static final String unitType = "Array Display";
private ArraySidePanel arraySidePanel;
private ArrayDisplayParameters arrayDisplayParameters = new ArrayDisplayParameters();
public ArraySidePanelControl(String unitName) {
super(unitType, unitName);
PamSettingManager.getInstance().registerSettings(this);
}
/* (non-Javadoc)
* @see PamController.PamControlledUnit#getSidePanel()
*/
@Override
public PamSidePanel getSidePanel() {
if (arraySidePanel == null) {
arraySidePanel = new ArraySidePanel(this);
}
return arraySidePanel;
}
/* (non-Javadoc)
* @see PamController.PamControlledUnit#notifyModelChanged(int)
*/
@Override
public void notifyModelChanged(int changeType) {
super.notifyModelChanged(changeType);
switch (changeType) {
case PamControllerInterface.INITIALIZATION_COMPLETE:
case PamControllerInterface.HYDROPHONE_ARRAY_CHANGED:
if (arraySidePanel != null) {
arraySidePanel.update();
}
break;
case PamControllerInterface.NEW_SCROLL_TIME:
if (isViewer()) {
arraySidePanel.updateViewerTime(PamCalendar.getTimeInMillis());
}
}
}
@Override
public ArrayDisplayParameters getDisplayParameters() {
return arrayDisplayParameters;
}
@Override
public boolean showDisplayParamsDialog(Window window) {
return ArrayDisplayParamsDialog.showDialog(window, this);
}
@Override
public void setDisplayParameters(ArrayDisplayParameters displayParameters) {
this.arrayDisplayParameters = displayParameters;
}
@Override
public Serializable getSettingsReference() {
return arrayDisplayParameters;
}
@Override
public long getSettingsVersion() {
return ArrayDisplayParameters.serialVersionUID;
}
@Override
public boolean restoreSettings(PamControlledUnitSettings pamControlledUnitSettings) {
arrayDisplayParameters = ((ArrayDisplayParameters) pamControlledUnitSettings.getSettings()).clone();
return arrayDisplayParameters != null;
}
}