Update button enablers

And reinstate output of a single deployment document, with non-recording
periods stores in the QA section

And update help TOC for latest help documents.
This commit is contained in:
Douglas Gillespie 2024-01-29 16:54:24 +00:00
parent 810ec67077
commit 6b1845293c
17 changed files with 127 additions and 89 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,2 +1,2 @@
JavaSearch 1.0 JavaSearch 1.0
TMAP bs=2048 rt=1 fl=-1 id1=6872 id2=1 TMAP bs=2048 rt=1 fl=-1 id1=6882 id2=1

Binary file not shown.

View File

@ -54,6 +54,8 @@
<mapID target="classifiers.whistleClassifierHelp.docs.whistleClassifier_Output" url="classifiers/whistleClassifierHelp/docs/whistleClassifier_Output.html"/> <mapID target="classifiers.whistleClassifierHelp.docs.whistleClassifier_Output" url="classifiers/whistleClassifierHelp/docs/whistleClassifier_Output.html"/>
<mapID target="utilities.tethys.docs.calibrations" url="utilities/tethys/docs/calibrations.html"/>
<mapID target="utilities.hydrophoneArrayManagerHelp.docs.Array_Configuration_sec1" url="utilities/hydrophoneArrayManagerHelp/docs/Array_Configuration.html#sec1"/> <mapID target="utilities.hydrophoneArrayManagerHelp.docs.Array_Configuration_sec1" url="utilities/hydrophoneArrayManagerHelp/docs/Array_Configuration.html#sec1"/>
<mapID target="sound_processing.fftManagerHelp.docs.noise_removal_medianfilter" url="sound_processing/fftManagerHelp/docs/noise_removal.html#medianfilter"/> <mapID target="sound_processing.fftManagerHelp.docs.noise_removal_medianfilter" url="sound_processing/fftManagerHelp/docs/noise_removal.html#medianfilter"/>
@ -138,6 +140,8 @@
<mapID target="sound_processing.NoiseBands.Docs.NoiseBands" url="sound_processing/NoiseBands/Docs/NoiseBands.html"/> <mapID target="sound_processing.NoiseBands.Docs.NoiseBands" url="sound_processing/NoiseBands/Docs/NoiseBands.html"/>
<mapID target="utilities.tethys.docs.detect_localize" url="utilities/tethys/docs/detect_localize.html"/>
<mapID target="visual_methods.videoRangeHelp.docs.videoRange_Calibrating" url="visual_methods/videoRangeHelp/docs/videoRange_Calibrating.html"/> <mapID target="visual_methods.videoRangeHelp.docs.videoRange_Calibrating" url="visual_methods/videoRangeHelp/docs/videoRange_Calibrating.html"/>
<mapID target="detectors.gpl.docs.detection" url="detectors/gpl/docs/detection.html"/> <mapID target="detectors.gpl.docs.detection" url="detectors/gpl/docs/detection.html"/>
@ -198,6 +202,8 @@
<mapID target="displays.userDisplayHelp.docs.userDisplayPanel" url="displays/userDisplayHelp/docs/userDisplayPanel.html"/> <mapID target="displays.userDisplayHelp.docs.userDisplayPanel" url="displays/userDisplayHelp/docs/userDisplayPanel.html"/>
<mapID target="utilities.tethys.docs.tethys_speciescodes_TSNLookup" url="utilities/tethys/docs/tethys_speciescodes.html#TSNLookup"/>
<mapID target="classifiers.roccaHelp.docs.rocca_Configure_SchoolStats" url="classifiers/roccaHelp/docs/rocca_Configure.html#SchoolStats"/> <mapID target="classifiers.roccaHelp.docs.rocca_Configure_SchoolStats" url="classifiers/roccaHelp/docs/rocca_Configure.html#SchoolStats"/>
<mapID target="visual_methods.loggerFormsHelp.docs.SUBTABS" url="visual_methods/loggerFormsHelp/docs/SUBTABS.html"/> <mapID target="visual_methods.loggerFormsHelp.docs.SUBTABS" url="visual_methods/loggerFormsHelp/docs/SUBTABS.html"/>
@ -276,8 +282,6 @@
<mapID target="detectors.clickDetectorHelp.docs.offline_Tools_AmplSel" url="detectors/clickDetectorHelp/docs/offline_Tools.html#AmplSel"/> <mapID target="detectors.clickDetectorHelp.docs.offline_Tools_AmplSel" url="detectors/clickDetectorHelp/docs/offline_Tools.html#AmplSel"/>
<mapID target="utilities.tethys.docs.tethys_quickstart" url="utilities/tethys/docs/tethys_quickstart.html"/>
<mapID target="displays.spectrogramDisplayHelp.docs.UserDisplay_Spectrogram_Overlays" url="displays/spectrogramDisplayHelp/docs/UserDisplay_Spectrogram_Overlays.html"/> <mapID target="displays.spectrogramDisplayHelp.docs.UserDisplay_Spectrogram_Overlays" url="displays/spectrogramDisplayHelp/docs/UserDisplay_Spectrogram_Overlays.html"/>
<mapID target="displays.radarDisplayHelp.docs.UserDisplay_Radar_Creating" url="displays/radarDisplayHelp/docs/UserDisplay_Radar_Creating.html"/> <mapID target="displays.radarDisplayHelp.docs.UserDisplay_Radar_Creating" url="displays/radarDisplayHelp/docs/UserDisplay_Radar_Creating.html"/>
@ -390,6 +394,8 @@
<mapID target="localisation.group3d.docs.3dsimplex" url="localisation/group3d/docs/3dsimplex.html"/> <mapID target="localisation.group3d.docs.3dsimplex" url="localisation/group3d/docs/3dsimplex.html"/>
<mapID target="utilities.tethys.docs.connection" url="utilities/tethys/docs/connection.html"/>
<mapID target="visual_methods.loggerFormsHelp.docs.NOCLEAR" url="visual_methods/loggerFormsHelp/docs/NOCLEAR.html"/> <mapID target="visual_methods.loggerFormsHelp.docs.NOCLEAR" url="visual_methods/loggerFormsHelp/docs/NOCLEAR.html"/>
<mapID target="sound_processing.beamformer.docs.Beamformer_Settings_BF_SourceTab" url="sound_processing/beamformer/docs/Beamformer_Settings.html#BF_SourceTab"/> <mapID target="sound_processing.beamformer.docs.Beamformer_Settings_BF_SourceTab" url="sound_processing/beamformer/docs/Beamformer_Settings.html#BF_SourceTab"/>
@ -458,6 +464,8 @@
<mapID target="sound_processing.seismicveto.docs.veto_configuration" url="sound_processing/seismicveto/docs/veto_configuration.html"/> <mapID target="sound_processing.seismicveto.docs.veto_configuration" url="sound_processing/seismicveto/docs/veto_configuration.html"/>
<mapID target="utilities.tethys.docs.deployments" url="utilities/tethys/docs/deployments.html"/>
<mapID target="detectors.whistleMoanHelp.docs.whistleMoan_ConfigNoise_averagesubtraction" url="detectors/whistleMoanHelp/docs/whistleMoan_ConfigNoise.html#averagesubtraction"/> <mapID target="detectors.whistleMoanHelp.docs.whistleMoan_ConfigNoise_averagesubtraction" url="detectors/whistleMoanHelp/docs/whistleMoan_ConfigNoise.html#averagesubtraction"/>
<mapID target="localisation.largeAperture3D.docs.meal_exercise3_localise" url="localisation/largeAperture3D/docs/meal_exercise3_localise.html"/> <mapID target="localisation.largeAperture3D.docs.meal_exercise3_localise" url="localisation/largeAperture3D/docs/meal_exercise3_localise.html"/>
@ -594,6 +602,8 @@
<mapID target="detectors.gpl.docs.notes" url="detectors/gpl/docs/notes.html"/> <mapID target="detectors.gpl.docs.notes" url="detectors/gpl/docs/notes.html"/>
<mapID target="utilities.tethys.docs.tethys_module" url="utilities/tethys/docs/tethys_module.html"/>
<mapID target="sound_processing.fftManagerHelp.docs.FFTEngine_Creating" url="sound_processing/fftManagerHelp/docs/FFTEngine_Creating.html"/> <mapID target="sound_processing.fftManagerHelp.docs.FFTEngine_Creating" url="sound_processing/fftManagerHelp/docs/FFTEngine_Creating.html"/>
<mapID target="sound_processing.fftManagerHelp.docs.noise_removal_clickremoval" url="sound_processing/fftManagerHelp/docs/noise_removal.html#clickremoval"/> <mapID target="sound_processing.fftManagerHelp.docs.noise_removal_clickremoval" url="sound_processing/fftManagerHelp/docs/noise_removal.html#clickremoval"/>

View File

@ -198,10 +198,18 @@
<tocitem text="Tethys Interface "> <tocitem text="Tethys Interface ">
<tocitem text="Tethys Overview " target="utilities.tethys.docs.tethys_overview" image="topic"/> <tocitem text="Tethys Overview " target="utilities.tethys.docs.tethys_overview" image="topic"/>
<tocitem text="Quick Start " target="utilities.tethys.docs.tethys_quickstart" image="topic"/> <tocitem text="Tethys Module " target="utilities.tethys.docs.tethys_module" image="topic"/>
<tocitem text="Tethys Server " target="utilities.tethys.docs.tethys_server" image="topic"/> <tocitem text="Tethys Server " target="utilities.tethys.docs.tethys_server" image="topic"/>
<tocitem text="Connecting to Tethys " target="utilities.tethys.docs.connection" image="topic"/>
<tocitem text="Instrument Calibrations " target="utilities.tethys.docs.calibrations" image="topic"/>
<tocitem text="Instrument Deployments " target="utilities.tethys.docs.deployments" image="topic"/>
<tocitem text="Detections and Localizations " target="utilities.tethys.docs.detect_localize" image="topic"/>
<tocitem text="ITIS Species Codes " target="utilities.tethys.docs.tethys_speciescodes" image="topic"/> <tocitem text="ITIS Species Codes " target="utilities.tethys.docs.tethys_speciescodes" image="topic"/>
</tocitem> </tocitem>

View File

@ -53,7 +53,6 @@ import tethys.output.TethysExportParams;
import tethys.species.ITISFunctions; import tethys.species.ITISFunctions;
import tethys.species.SpeciesMapManager; import tethys.species.SpeciesMapManager;
import tethys.swing.ProjectDeploymentsDialog; import tethys.swing.ProjectDeploymentsDialog;
import tethys.swing.TethysEnabler;
import tethys.swing.TethysTabPanel; import tethys.swing.TethysTabPanel;
import tethys.swing.XMLStringView; import tethys.swing.XMLStringView;
import tethys.swing.documents.TethysDocumentsFrame; import tethys.swing.documents.TethysDocumentsFrame;
@ -92,12 +91,10 @@ public class TethysControl extends PamControlledUnit implements PamSettings, Tet
private CalibrationHandler calibrationHandler; private CalibrationHandler calibrationHandler;
private ITISFunctions itisFunctions; private ITISFunctions itisFunctions;
private TethysEnabler tethysEnabler;
public TethysControl(String unitName) { public TethysControl(String unitName) {
super(unitType, unitName); super(unitType, unitName);
stateObservers = new ArrayList(); stateObservers = new ArrayList();
tethysEnabler = new TethysEnabler(this);
dbxmlConnect = new DBXMLConnect(this); dbxmlConnect = new DBXMLConnect(this);
dbxmlQueries = new DBXMLQueries(this, dbxmlConnect); dbxmlQueries = new DBXMLQueries(this, dbxmlConnect);
deploymentHandler = new DeploymentHandler(this); deploymentHandler = new DeploymentHandler(this);
@ -494,10 +491,10 @@ public class TethysControl extends PamControlledUnit implements PamSettings, Tet
public ServerStatus checkServer() { public ServerStatus checkServer() {
ServerStatus serverState = dbxmlConnect.pingServer(); ServerStatus serverState = dbxmlConnect.pingServer();
if (lastServerStatus == null || lastServerStatus.ok != serverState.ok) { if (lastServerStatus == null || lastServerStatus.ok != serverState.ok) {
lastServerStatus = serverState; // set before sending notification!
sendStateUpdate(new TethysState(StateType.UPDATESERVER)); sendStateUpdate(new TethysState(StateType.UPDATESERVER));
} }
lastServerStatus = serverState; // lastServerStatus = serverState;
tethysEnabler.enableControls(serverState.ok);
return serverState; return serverState;
} }
@ -704,11 +701,22 @@ public class TethysControl extends PamControlledUnit implements PamSettings, Tet
} }
/** /**
* Get a utility class that enables / disables controls depending on server state. * @return the lastServerStatus
* @return
*/ */
public TethysEnabler getEnabler() { public ServerStatus getLastServerStatus() {
return tethysEnabler; return lastServerStatus;
}
/**
* Quick way for any controls to see that the server is probably OK
* without actually pinging it.
* @return true if last ping of server was OK
*/
public boolean isServerOk() {
if (lastServerStatus == null) {
return false;
}
return lastServerStatus.ok;
} }
} }

View File

@ -13,6 +13,7 @@ import javax.swing.border.TitledBorder;
import PamView.panel.PamPanel; import PamView.panel.PamPanel;
import tethys.TethysControl; import tethys.TethysControl;
import tethys.TethysState;
import tethys.calibration.CalibrationHandler; import tethys.calibration.CalibrationHandler;
import tethys.swing.TethysGUIPanel; import tethys.swing.TethysGUIPanel;
@ -41,7 +42,6 @@ public class CalibrationsMainPanel extends TethysGUIPanel {
ctrlPanel = new PamPanel(new BorderLayout()); ctrlPanel = new PamPanel(new BorderLayout());
exportButton = new JButton("Export ..."); exportButton = new JButton("Export ...");
tethysControl.getEnabler().addComponent(exportButton);
ctrlPanel.add(BorderLayout.WEST, exportButton); ctrlPanel.add(BorderLayout.WEST, exportButton);
warning = new JLabel(); warning = new JLabel();
ctrlPanel.add(BorderLayout.CENTER, warning); ctrlPanel.add(BorderLayout.CENTER, warning);
@ -64,4 +64,14 @@ public class CalibrationsMainPanel extends TethysGUIPanel {
return mainPanel; return mainPanel;
} }
@Override
public void updateState(TethysState tethysState) {
super.updateState(tethysState);
enableControls();
}
private void enableControls() {
exportButton.setEnabled(getTethysControl().isServerOk());
}
} }

View File

@ -45,6 +45,9 @@ import dataMap.OfflineDataMapPoint;
import generalDatabase.DBControlUnit; import generalDatabase.DBControlUnit;
import metadata.MetaDataContol; import metadata.MetaDataContol;
import metadata.PamguardMetaData; import metadata.PamguardMetaData;
import nilus.AcousticDataQAType;
import nilus.AcousticDataQAType.Quality;
import nilus.AcousticDataQAType.Quality.FrequencyRange;
import nilus.Audio; import nilus.Audio;
import nilus.ChannelInfo; import nilus.ChannelInfo;
import nilus.ChannelInfo.DutyCycle; import nilus.ChannelInfo.DutyCycle;
@ -403,6 +406,14 @@ public class DeploymentHandler implements TethysStateObserver, DeploymentTableOb
*/ */
private void exportOneDeploymnet(ArrayList<RecordingPeriod> selectedDeployments) { private void exportOneDeploymnet(ArrayList<RecordingPeriod> selectedDeployments) {
// do the lot, whatever ... // do the lot, whatever ...
Float sampleRate = null;
AcquisitionControl daq = (AcquisitionControl) PamController.getInstance().findControlledUnit(AcquisitionControl.class, null);
if (daq != null) {
DaqSystem system = daq.findDaqSystem(null);
AcquisitionParameters daqParams = daq.acquisitionParameters;
sampleRate = daqParams.sampleRate;
}
selectedDeployments = getDeploymentOverview().getRecordingPeriods(); selectedDeployments = getDeploymentOverview().getRecordingPeriods();
int freeId = getTethysControl().getDeploymentHandler().getFirstFreeDeploymentId(); int freeId = getTethysControl().getDeploymentHandler().getFirstFreeDeploymentId();
RecordingPeriod onePeriod = new RecordingPeriod(selectedDeployments.get(0).getRecordStart(), RecordingPeriod onePeriod = new RecordingPeriod(selectedDeployments.get(0).getRecordStart(),
@ -415,11 +426,37 @@ public class DeploymentHandler implements TethysStateObserver, DeploymentTableOb
deployment.setCruise(globalMeta.getCruise()); deployment.setCruise(globalMeta.getCruise());
deployment.setSite(globalMeta.getSite()); deployment.setSite(globalMeta.getSite());
if (selectedDeployments.size() > 1) { if (selectedDeployments.size() > 1) {
// now need to remove the // // now need to remove the sampling details - don't though, add invalid periods instead.
SamplingDetails samplingDetails = deployment.getSamplingDetails(); // SamplingDetails samplingDetails = deployment.getSamplingDetails();
samplingDetails.getChannel().clear(); // samplingDetails.getChannel().clear();
for (int i = 0; i < selectedDeployments.size(); i++) { // for (int i = 0; i < selectedDeployments.size(); i++) {
addSamplingDetails(deployment, selectedDeployments.get(i)); // addSamplingDetails(deployment, selectedDeployments.get(i));
// }
/*
* Instead, we're putting invalid periods into the QA section.
*/
AcousticDataQAType qa = deployment.getQualityAssurance();
if (qa == null) {
deployment.setQualityAssurance(qa = new AcousticDataQAType());
}
List<Quality> qualityList = qa.getQuality();
for (int i = 1; i < selectedDeployments.size(); i++) {
long end = selectedDeployments.get(i-1).getRecordStop();
long start = selectedDeployments.get(i).getRecordStart();
Quality q = new Quality();
q.setStart(TethysTimeFuncs.xmlGregCalFromMillis(end));
q.setEnd(TethysTimeFuncs.xmlGregCalFromMillis(start));
q.setCategory("unusable");
if (sampleRate != null) {
FrequencyRange f = q.getFrequencyRange();
if (f == null) {
q.setFrequencyRange(f = new FrequencyRange());
}
f.setLowHz(0);
f.setHighHz(sampleRate/2);
}
q.setComment("No data (probably off or out of water)");
qualityList.add(q);
} }
} }
DBXMLConnect dbxmlConnect = getTethysControl().getDbxmlConnect(); DBXMLConnect dbxmlConnect = getTethysControl().getDbxmlConnect();

View File

@ -100,9 +100,9 @@ public class DeploymentDataCard extends PamWizardCard {
/* /*
* temp code to only allow export of multiple documents. * temp code to only allow export of multiple documents.
*/ */
exportOptions.separateDeployments = true; // exportOptions.separateDeployments = true;
exportOne.setEnabled(false); // exportOne.setEnabled(false);
exportOne.setToolTipText("Feature not yet enabled"); // exportOne.setToolTipText("Feature not yet enabled");
exportOne.setSelected(exportOptions.separateDeployments == false); exportOne.setSelected(exportOptions.separateDeployments == false);

View File

@ -61,7 +61,6 @@ public class DatablockSynchPanel extends TethysGUIPanel {
mainPanel.add(BorderLayout.CENTER, scrollPane); mainPanel.add(BorderLayout.CENTER, scrollPane);
PamPanel ctrlPanel = new PamPanel(new BorderLayout()); PamPanel ctrlPanel = new PamPanel(new BorderLayout());
exportButton = new JButton("Export ..."); exportButton = new JButton("Export ...");
tethysControl.getEnabler().addComponent(exportButton);
ctrlPanel.add(BorderLayout.WEST, exportButton); ctrlPanel.add(BorderLayout.WEST, exportButton);
mainPanel.add(BorderLayout.NORTH, ctrlPanel); mainPanel.add(BorderLayout.NORTH, ctrlPanel);
@ -148,7 +147,7 @@ public class DatablockSynchPanel extends TethysGUIPanel {
if (deployments == null || deployments.size() == 0) { if (deployments == null || deployments.size() == 0) {
en = false; en = false;
} }
exportButton.setEnabled(en); exportButton.setEnabled(getTethysControl().isServerOk() & en);
} }
public void showPopup(MouseEvent e, int row) { public void showPopup(MouseEvent e, int row) {
@ -182,6 +181,9 @@ public class DatablockSynchPanel extends TethysGUIPanel {
// dataBlockSynchInfo = null; // dataBlockSynchInfo = null;
// getSychInfos(); // getSychInfos();
// getTethysControl().coun // getTethysControl().coun
break;
case UPDATESERVER:
enableExportButton();
} }
synchTableModel.fireTableDataChanged(); synchTableModel.fireTableDataChanged();

View File

@ -100,7 +100,6 @@ public class DeploymentExportPanel extends TethysGUIPanel implements DeploymentT
addPair("Set from ", projectDeployments, c); addPair("Set from ", projectDeployments, c);
bigExportButton = new JButton("Export selection"); bigExportButton = new JButton("Export selection");
tethysControl.getEnabler().addComponent(bigExportButton);
bigExportButton.addActionListener(new ActionListener() { bigExportButton.addActionListener(new ActionListener() {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
@ -155,6 +154,9 @@ public class DeploymentExportPanel extends TethysGUIPanel implements DeploymentT
case UPDATEMETADATA: case UPDATEMETADATA:
setInternal(); setInternal();
break; break;
case UPDATESERVER:
enableControls();
break;
} }
} }
@ -245,7 +247,7 @@ public class DeploymentExportPanel extends TethysGUIPanel implements DeploymentT
private void enableControls() { private void enableControls() {
boolean enable = selectedDeployments != null && selectedDeployments.size() > 0; boolean enable = selectedDeployments != null && selectedDeployments.size() > 0;
bigExportButton.setEnabled(enable); bigExportButton.setEnabled(getTethysControl().isServerOk() & enable);
} }
} }

View File

@ -15,6 +15,7 @@ import javax.swing.border.TitledBorder;
import PamView.panel.PamPanel; import PamView.panel.PamPanel;
import tethys.TethysControl; import tethys.TethysControl;
import tethys.TethysState;
import tethys.deployment.DeploymentHandler; import tethys.deployment.DeploymentHandler;
import tethys.deployment.RecordingPeriod; import tethys.deployment.RecordingPeriod;
@ -57,7 +58,6 @@ public class DeploymentsPanel extends TethysGUIPanel implements DeploymentTableO
ctrlButtons.setLayout(new BoxLayout(ctrlButtons, BoxLayout.X_AXIS)); ctrlButtons.setLayout(new BoxLayout(ctrlButtons, BoxLayout.X_AXIS));
optionsButton = new JButton("Options ..."); optionsButton = new JButton("Options ...");
exportButton = new JButton("Export ..."); exportButton = new JButton("Export ...");
tethysControl.getEnabler().addComponent(exportButton);
ctrlButtons.add(optionsButton); ctrlButtons.add(optionsButton);
ctrlButtons.add(exportButton); ctrlButtons.add(exportButton);
ctrlPanel.add(BorderLayout.WEST, ctrlButtons); ctrlPanel.add(BorderLayout.WEST, ctrlButtons);
@ -98,23 +98,37 @@ public class DeploymentsPanel extends TethysGUIPanel implements DeploymentTableO
enableExportButton(); enableExportButton();
} }
private void enableExportButton() { private void enableExportButton() {
ArrayList<RecordingPeriod> selected = pamDeploymentsTable.getSelectedPeriods(); ArrayList<RecordingPeriod> selected = pamDeploymentsTable.getSelectedPeriods();
// and see if any warnings are needed: basically if anything selected has an output. if (selected == null) {
exportButton.setEnabled(false);
return;
}
boolean existing = false; boolean existing = false;
if (selected != null) {
// and see if any warnings are needed: basically if anything selected has an output.
for (RecordingPeriod aPeriod: selected) { for (RecordingPeriod aPeriod: selected) {
if (aPeriod.getMatchedTethysDeployment() != null) { if (aPeriod.getMatchedTethysDeployment() != null) {
existing = true; existing = true;
break; break;
} }
} }
}
String warning = null; String warning = null;
if (existing) { if (existing) {
warning = " One or more deployment documents already exist. These must be deleted prior to exporting new documents"; warning = " One or more deployment documents already exist. These must be deleted prior to exporting new documents";
exportWarning.setText(warning); exportWarning.setText(warning);
} }
exportButton.setEnabled(selected.size()>0 & existing == false); exportButton.setEnabled(selected.size()>0 & existing == false && getTethysControl().isServerOk());
}
@Override
public void updateState(TethysState tethysState) {
super.updateState(tethysState);
enableExportButton();
} }

View File

@ -326,6 +326,9 @@ public class PAMGuardDeploymentsTable extends TethysGUIPanel {
* @return * @return
*/ */
public ArrayList<RecordingPeriod> getSelectedPeriods() { public ArrayList<RecordingPeriod> getSelectedPeriods() {
if (deploymentOverview == null) {
return null;
}
ArrayList<RecordingPeriod> allPeriods = deploymentOverview.getRecordingPeriods(); ArrayList<RecordingPeriod> allPeriods = deploymentOverview.getRecordingPeriods();
ArrayList<RecordingPeriod> selPeriods = new ArrayList(); ArrayList<RecordingPeriod> selPeriods = new ArrayList();
int n = allPeriods.size(); int n = allPeriods.size();

View File

@ -1,56 +0,0 @@
package tethys.swing;
import java.awt.Component;
import java.util.ArrayList;
import tethys.TethysControl;
import tethys.TethysState;
import tethys.TethysState.StateType;
import tethys.TethysStateObserver;
/**
* Handle enabling / disabling of any buttons / controls on the GUI.
* @author dg50
*
*/
public class TethysEnabler implements TethysStateObserver {
private TethysControl tethysControl;
private ArrayList<Component> components = new ArrayList<>();
/**
* @param tethysControl
*/
public TethysEnabler(TethysControl tethysControl) {
this.tethysControl = tethysControl;
tethysControl.addStateObserver(this);
}
/**
* Add a component to the enable list.
* @param aComponent
*/
public synchronized void addComponent(Component aComponent) {
components.add(aComponent);
}
public synchronized void removeComponent(Component aComponent) {
components.remove(aComponent);
}
@Override
public void updateState(TethysState tethysState) {
// if (tethysState.stateType == StateType.UPDATESERVER) {
// boolean ok = tethysControl.getDbxmlConnect().pingServer()
// }
}
public synchronized void enableControls(boolean enable) {
for (Component c : components) {
c.setEnabled(enable);
}
}
}