mirror of
https://github.com/PAMGuard/PAMGuard.git
synced 2024-11-22 07:02:29 +00:00
Project info dialog
More wrapping of nilus objects to make a general project info tab in PAMGuard. This is global and can share basic project informatin with the Tethys module.
This commit is contained in:
parent
7721d7f1c0
commit
9c86b41027
@ -74,6 +74,7 @@ import javax.swing.event.MenuListener;
|
|||||||
|
|
||||||
import Acquisition.DaqSystemInterface;
|
import Acquisition.DaqSystemInterface;
|
||||||
import annotation.tasks.AnnotationManager;
|
import annotation.tasks.AnnotationManager;
|
||||||
|
import metadata.MetaDataContol;
|
||||||
import performanceTests.PerformanceDialog;
|
import performanceTests.PerformanceDialog;
|
||||||
import tipOfTheDay.TipOfTheDayManager;
|
import tipOfTheDay.TipOfTheDayManager;
|
||||||
import Array.ArrayManager;
|
import Array.ArrayManager;
|
||||||
@ -760,6 +761,7 @@ public class PamGui extends PamView implements WindowListener, PamSettings {
|
|||||||
//for changing "hydrophones" to "microphone" and vice versa if medium changes.
|
//for changing "hydrophones" to "microphone" and vice versa if medium changes.
|
||||||
menu.addMenuListener(new SettingsMenuListener());
|
menu.addMenuListener(new SettingsMenuListener());
|
||||||
|
|
||||||
|
menu.add(MetaDataContol.getMetaDataControl().createMenu(frame));
|
||||||
|
|
||||||
menu.addSeparator();
|
menu.addSeparator();
|
||||||
|
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package metadata;
|
package metadata;
|
||||||
|
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
import java.awt.event.ActionListener;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
import javax.swing.JFrame;
|
import javax.swing.JFrame;
|
||||||
@ -10,9 +12,7 @@ import PamController.PamControlledUnitSettings;
|
|||||||
import PamController.PamController;
|
import PamController.PamController;
|
||||||
import PamController.PamSettingManager;
|
import PamController.PamSettingManager;
|
||||||
import PamController.PamSettings;
|
import PamController.PamSettings;
|
||||||
import PamModel.parametermanager.ParameterSetManager;
|
import metadata.swing.MetaDataDialog;
|
||||||
import generalDatabase.parameterstore.ParameterDatabaseStore;
|
|
||||||
import metadata.deployment.DeploymentData;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class to handle Project MetaData. Am making this a PAMControlledUnit, but may never
|
* Class to handle Project MetaData. Am making this a PAMControlledUnit, but may never
|
||||||
@ -89,10 +89,25 @@ public class MetaDataContol extends PamControlledUnit implements PamSettings {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// @Override
|
// @Override
|
||||||
// public JMenuItem createFileMenu(JFrame parentFrame) {
|
public JMenuItem createMenu(JFrame parentFrame) {
|
||||||
// return deploymentSetManager.getMenuItem(parentFrame);
|
JMenuItem menuItem = new JMenuItem("Project information ...");
|
||||||
//// return null;
|
menuItem.setToolTipText("General project objectives, region, etc.");
|
||||||
// }
|
menuItem.addActionListener(new ActionListener() {
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
showDialog(parentFrame);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return menuItem;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void showDialog(JFrame parentFrame) {
|
||||||
|
PamguardMetaData newData = MetaDataDialog.showDialog(parentFrame, pamguardMetaData);
|
||||||
|
if (newData != null) {
|
||||||
|
this.pamguardMetaData = newData;
|
||||||
|
// send around a notification ?
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -3,8 +3,12 @@ package metadata;
|
|||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
import PamUtils.LatLong;
|
import PamUtils.LatLong;
|
||||||
|
import nilus.ContactInfo;
|
||||||
import nilus.Deployment;
|
import nilus.Deployment;
|
||||||
|
import nilus.DescriptionType;
|
||||||
import nilus.Helper;
|
import nilus.Helper;
|
||||||
|
import nilus.MetadataInfo;
|
||||||
|
import nilus.ResponsibleParty;
|
||||||
import tethys.niluswraps.NilusSettingsWrapper;
|
import tethys.niluswraps.NilusSettingsWrapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -43,12 +47,24 @@ public class PamguardMetaData implements Serializable {
|
|||||||
try {
|
try {
|
||||||
Helper.createRequiredElements(deployment);
|
Helper.createRequiredElements(deployment);
|
||||||
} catch (IllegalArgumentException | IllegalAccessException | InstantiationException e) {
|
} catch (IllegalArgumentException | IllegalAccessException | InstantiationException e) {
|
||||||
// TODO Auto-generated catch block
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
deploymentWrapper.setNilusObject(deployment);
|
deploymentWrapper.setNilusObject(deployment);
|
||||||
}
|
}
|
||||||
return deploymentWrapper.getNilusObject(Deployment.class);
|
// check some fields we know we'll need that the Helper may not have managed.
|
||||||
|
if (deployment.getDescription() == null) {
|
||||||
|
deployment.setDescription(new DescriptionType());
|
||||||
|
}
|
||||||
|
if (deployment.getMetadataInfo() == null) {
|
||||||
|
deployment.setMetadataInfo(new MetadataInfo());
|
||||||
|
}
|
||||||
|
if (deployment.getMetadataInfo().getContact() == null) {
|
||||||
|
deployment.getMetadataInfo().setContact(new ResponsibleParty());
|
||||||
|
}
|
||||||
|
if (deployment.getMetadataInfo().getContact().getContactInfo() == null) {
|
||||||
|
deployment.getMetadataInfo().getContact().setContactInfo(new ContactInfo());
|
||||||
|
}
|
||||||
|
return deployment;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,327 +0,0 @@
|
|||||||
package metadata.deployment;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
import PamModel.parametermanager.FieldNotFoundException;
|
|
||||||
import PamModel.parametermanager.ManagedParameters;
|
|
||||||
import PamModel.parametermanager.PamParameterSet;
|
|
||||||
import PamModel.parametermanager.PamParameterSet.ParameterSetType;
|
|
||||||
import PamUtils.LatLong;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Class to hold Deployment data in a form consistent with the ANSI PAM
|
|
||||||
* Standard. This has been keep separate from the Tethys Interface to keep it
|
|
||||||
* easy to benefit from these data without using Tethys itself. Is also serilaisable
|
|
||||||
* which is important for storage into PAMGuard settings.
|
|
||||||
*
|
|
||||||
* @author dg50
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class DeploymentData implements Serializable, Cloneable, ManagedParameters {
|
|
||||||
|
|
||||||
public static final long serialVersionUID = 1L;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* String that uniquely identifies this deployment.
|
|
||||||
*/
|
|
||||||
private String id;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Name of project associated with this deployment. Can be related to a
|
|
||||||
* geographic region, funding source, etc
|
|
||||||
*/
|
|
||||||
private String project;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Deployment identifier, a number related to either the Nth deployment
|
|
||||||
* operation in a series of deployments or the Nth deployment at a specific
|
|
||||||
* site. This is different from Id which is unique across all deployments
|
|
||||||
*/
|
|
||||||
private int deploymentId;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Alternative deployment description.
|
|
||||||
*/
|
|
||||||
private String deploymentAlias;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Name for current location.
|
|
||||||
*/
|
|
||||||
private String site;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Alternative names for the deployment location
|
|
||||||
*/
|
|
||||||
private String siteAliases;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Name of deployment cruise.
|
|
||||||
*/
|
|
||||||
private String cruise;
|
|
||||||
|
|
||||||
// /**
|
|
||||||
// * On what platform is the instrument deployed? (e.g. mooring, tag)
|
|
||||||
// */
|
|
||||||
// private String platform = "Unknown";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Name of geographic region.
|
|
||||||
*/
|
|
||||||
private String region;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* time of instrument deployment (different to recording start);
|
|
||||||
*/
|
|
||||||
private Long deploymentMillis;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* time of actual recovery (different to recording end);
|
|
||||||
*/
|
|
||||||
private Long recoveryMillis;
|
|
||||||
|
|
||||||
private LatLong recoverLatLong;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return the deploymentMillis
|
|
||||||
*/
|
|
||||||
public Long getDeploymentMillis() {
|
|
||||||
return deploymentMillis;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param deploymentMillis the deploymentMillis to set
|
|
||||||
*/
|
|
||||||
public void setDeploymentMillis(Long deploymentMillis) {
|
|
||||||
this.deploymentMillis = deploymentMillis;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return the recoveryMillis
|
|
||||||
*/
|
|
||||||
public Long getRecoveryMillis() {
|
|
||||||
return recoveryMillis;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param recoveryMillis the recoveryMillis to set
|
|
||||||
*/
|
|
||||||
public void setRecoveryMillis(Long recoveryMillis) {
|
|
||||||
this.recoveryMillis = recoveryMillis;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set data from a nilus deployment class
|
|
||||||
* @param nilusDeployment
|
|
||||||
*/
|
|
||||||
public void setData(nilus.Deployment nilusDeployment) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void getData(nilus.Deployment nilusDeployment) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public DeploymentData() {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected DeploymentData clone() {
|
|
||||||
try {
|
|
||||||
return (DeploymentData) super.clone();
|
|
||||||
} catch (CloneNotSupportedException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public PamParameterSet getParameterSet() {
|
|
||||||
PamParameterSet ps = PamParameterSet.autoGenerate(this, ParameterSetType.DETECTOR);
|
|
||||||
try {
|
|
||||||
ps.findParameterData("id").setInfo("Unique Id", null, "String that uniquely identifies this deployment", 128);
|
|
||||||
// ps.setOrder("id", 0);
|
|
||||||
ps.findParameterData("project").setInfo("Project Name", null, "Name of project associated with this deployment. Can be related to a geographic region, funding source, etc", 200);
|
|
||||||
ps.findParameterData("deploymentId").setInfo("Deployment Identifier", null, "Deployment identifier, a number related to either the Nth deployment operation in a series of deployments or the Nth deployment at a specific site. This is different from Id which is unique across all deployments");
|
|
||||||
ps.findParameterData("deploymentAlias").setInfo("Alternative deployment description", null, "Alternative deployment description", 20);
|
|
||||||
ps.findParameterData("site").setInfo("Site name", null, "Name for current location", 40);
|
|
||||||
ps.findParameterData("siteAliases").setInfo("Alternative site name", null, "Alternative site description", 40);
|
|
||||||
ps.findParameterData("cruise").setInfo("Deployment cruise", null, "Name of deployment cruise");
|
|
||||||
ps.findParameterData("platform").setInfo("Platform type", null, "On what platform is the instrument deployed? (e.g. mooring, tag)", 20);
|
|
||||||
ps.findParameterData("region").setInfo("Geographic Region", "", "Name of geographic region", 40);
|
|
||||||
} catch (FieldNotFoundException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
return ps;
|
|
||||||
}
|
|
||||||
|
|
||||||
// /**
|
|
||||||
// * @return the id
|
|
||||||
// */
|
|
||||||
// public String getId() {
|
|
||||||
// return id;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * @param id the id to set
|
|
||||||
// */
|
|
||||||
// public void setId(String id) {
|
|
||||||
// this.id = id;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * @return the project
|
|
||||||
// */
|
|
||||||
// public String getProject() {
|
|
||||||
// return project;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * @param project the project to set
|
|
||||||
// */
|
|
||||||
// public void setProject(String project) {
|
|
||||||
// this.project = project;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * @return the deploymentId
|
|
||||||
// */
|
|
||||||
// public int getDeploymentId() {
|
|
||||||
// return deploymentId;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * @param deploymentId the deploymentId to set
|
|
||||||
// */
|
|
||||||
// public void setDeploymentId(int deploymentId) {
|
|
||||||
// this.deploymentId = deploymentId;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * @return the deplomentAlias
|
|
||||||
// */
|
|
||||||
// public String getDeploymentAlias() {
|
|
||||||
// return deploymentAlias;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * @param deplomentAlias the deplomentAlias to set
|
|
||||||
// */
|
|
||||||
// public void setDeploymentAlias(String deplomentAlias) {
|
|
||||||
// this.deploymentAlias = deplomentAlias;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * @return the site
|
|
||||||
// */
|
|
||||||
// public String getSite() {
|
|
||||||
// return site;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * @param site the site to set
|
|
||||||
// */
|
|
||||||
// public void setSite(String site) {
|
|
||||||
// this.site = site;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * @return the siteAliases
|
|
||||||
// */
|
|
||||||
// public String getSiteAliases() {
|
|
||||||
// return siteAliases;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * @param siteAliases the siteAliases to set
|
|
||||||
// */
|
|
||||||
// public void setSiteAliases(String siteAliases) {
|
|
||||||
// this.siteAliases = siteAliases;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * @return the cruise
|
|
||||||
// */
|
|
||||||
// public String getCruise() {
|
|
||||||
// return cruise;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * @param cruise the cruise to set
|
|
||||||
// */
|
|
||||||
// public void setCruise(String cruise) {
|
|
||||||
// this.cruise = cruise;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// /**
|
|
||||||
// * @return the platform
|
|
||||||
// */
|
|
||||||
// public String getPlatform() {
|
|
||||||
// return platform;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * @param platform the platform to set
|
|
||||||
// */
|
|
||||||
// public void setPlatform(String platform) {
|
|
||||||
// this.platform = platform;
|
|
||||||
// }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return the region
|
|
||||||
*/
|
|
||||||
public String getRegion() {
|
|
||||||
return region;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param region the region to set
|
|
||||||
*/
|
|
||||||
public void setRegion(String region) {
|
|
||||||
this.region = region;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the recovery position latlong for a static recorder.
|
|
||||||
* Deployment lat long is in the hydrophone array data.
|
|
||||||
* @param recoverLatLong
|
|
||||||
*/
|
|
||||||
public void setRecoveryLatLong(LatLong recoverLatLong) {
|
|
||||||
this.recoverLatLong = recoverLatLong;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return the recoverLatLong (may often be null)
|
|
||||||
*/
|
|
||||||
public LatLong getRecoverLatLong() {
|
|
||||||
return recoverLatLong;
|
|
||||||
}
|
|
||||||
|
|
||||||
// /**
|
|
||||||
// * @return the instrumentType
|
|
||||||
// */
|
|
||||||
// public String getInstrumentType() {
|
|
||||||
// return instrumentType;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * @param instrumentType the instrumentType to set
|
|
||||||
// */
|
|
||||||
// public void setInstrumentType(String instrumentType) {
|
|
||||||
// this.instrumentType = instrumentType;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * @return the instrumentId
|
|
||||||
// */
|
|
||||||
// public String getInstrumentId() {
|
|
||||||
// return instrumentId;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * @param instrumentId the instrumentId to set
|
|
||||||
// */
|
|
||||||
// public void setInstrumentId(String instrumentId) {
|
|
||||||
// this.instrumentId = instrumentId;
|
|
||||||
// }
|
|
||||||
|
|
||||||
}
|
|
@ -1,41 +0,0 @@
|
|||||||
package metadata.deployment;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
import PamModel.parametermanager.ManagedParameters;
|
|
||||||
import PamModel.parametermanager.PamParameterSet;
|
|
||||||
import PamModel.parametermanager.PamParameterSet.ParameterSetType;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Largely the content of the Tethys QualityAssurance schema
|
|
||||||
* @author dg50
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class QAData implements Serializable, Cloneable, ManagedParameters {
|
|
||||||
|
|
||||||
public static final long serialVersionUID = 1L;
|
|
||||||
|
|
||||||
private String objectives;
|
|
||||||
|
|
||||||
private String qaAbstract;
|
|
||||||
|
|
||||||
private String method;
|
|
||||||
|
|
||||||
private String responsibleName;
|
|
||||||
private String responsibleOrganisation;
|
|
||||||
private String responsiblePosition;
|
|
||||||
private String responsiblePhone;
|
|
||||||
private String responsibleAddress;
|
|
||||||
private String responsibleEmail;
|
|
||||||
|
|
||||||
public QAData() {
|
|
||||||
// TODO Auto-generated constructor stub
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public PamParameterSet getParameterSet() {
|
|
||||||
PamParameterSet ps = PamParameterSet.autoGenerate(this, ParameterSetType.DETECTOR);
|
|
||||||
return ps;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
131
src/metadata/swing/MetaDataDialog.java
Normal file
131
src/metadata/swing/MetaDataDialog.java
Normal file
@ -0,0 +1,131 @@
|
|||||||
|
package metadata.swing;
|
||||||
|
|
||||||
|
import java.awt.BorderLayout;
|
||||||
|
import java.awt.Dimension;
|
||||||
|
import java.awt.GridBagConstraints;
|
||||||
|
import java.awt.GridBagLayout;
|
||||||
|
import java.awt.Window;
|
||||||
|
|
||||||
|
import javax.swing.BoxLayout;
|
||||||
|
import javax.swing.JLabel;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JTabbedPane;
|
||||||
|
import javax.swing.JTextField;
|
||||||
|
import javax.swing.border.TitledBorder;
|
||||||
|
|
||||||
|
import PamView.dialog.PamDialog;
|
||||||
|
import PamView.dialog.PamGridBagContraints;
|
||||||
|
import PamView.panel.WestAlignedPanel;
|
||||||
|
import metadata.PamguardMetaData;
|
||||||
|
import nilus.Deployment;
|
||||||
|
import tethys.swing.export.DescriptionTypePanel;
|
||||||
|
import tethys.swing.export.ResponsiblePartyPanel;
|
||||||
|
|
||||||
|
public class MetaDataDialog extends PamDialog {
|
||||||
|
|
||||||
|
private static MetaDataDialog singleInstance;
|
||||||
|
|
||||||
|
private PamguardMetaData pamguardMetaData;
|
||||||
|
|
||||||
|
private DescriptionTypePanel descriptionPanel;
|
||||||
|
|
||||||
|
private JTextField project, site, cruise, region;
|
||||||
|
|
||||||
|
private ResponsiblePartyPanel responsiblePanel;
|
||||||
|
|
||||||
|
private MetaDataDialog(Window parentFrame) {
|
||||||
|
super(parentFrame, "Project information", false);
|
||||||
|
|
||||||
|
JPanel mainPanel = new JPanel();
|
||||||
|
mainPanel.setLayout(new BorderLayout());
|
||||||
|
JTabbedPane tabbedPane = new JTabbedPane();
|
||||||
|
|
||||||
|
descriptionPanel = new DescriptionTypePanel(null, false, false, false);
|
||||||
|
descriptionPanel.getMainPanel().setPreferredSize(new Dimension(400,300));
|
||||||
|
|
||||||
|
JPanel projectPanel = new JPanel(new GridBagLayout());
|
||||||
|
GridBagConstraints c = new PamGridBagContraints();
|
||||||
|
projectPanel.add(new JLabel("Project Name ", JLabel.RIGHT), c);
|
||||||
|
c.gridx++;
|
||||||
|
projectPanel.add(project = new JTextField(40), c);
|
||||||
|
c.gridx = 0;
|
||||||
|
c.gridy++;
|
||||||
|
projectPanel.add(new JLabel("Region ", JLabel.RIGHT), c);
|
||||||
|
c.gridx++;
|
||||||
|
projectPanel.add(region = new JTextField(20), c);
|
||||||
|
c.gridx = 0;
|
||||||
|
c.gridy++;
|
||||||
|
projectPanel.add(new JLabel("Cruise name ", JLabel.RIGHT), c);
|
||||||
|
c.gridx++;
|
||||||
|
projectPanel.add(cruise = new JTextField(20), c);
|
||||||
|
c.gridx = 0;
|
||||||
|
c.gridy++;
|
||||||
|
projectPanel.add(new JLabel("Site ", JLabel.RIGHT), c);
|
||||||
|
c.gridx++;
|
||||||
|
projectPanel.add(site = new JTextField(20), c);
|
||||||
|
c.gridx = 0;
|
||||||
|
c.gridy++;
|
||||||
|
|
||||||
|
responsiblePanel = new ResponsiblePartyPanel();
|
||||||
|
JPanel northPanel = new JPanel();
|
||||||
|
WestAlignedPanel wp;
|
||||||
|
northPanel.setLayout(new BoxLayout(northPanel, BoxLayout.Y_AXIS));
|
||||||
|
|
||||||
|
northPanel.add(wp = new WestAlignedPanel(projectPanel));
|
||||||
|
wp.setBorder(new TitledBorder("General project information"));
|
||||||
|
northPanel.add(wp = new WestAlignedPanel(responsiblePanel.getMainPanel()));
|
||||||
|
wp.setBorder(new TitledBorder("Contact information"));
|
||||||
|
|
||||||
|
// mainPanel.add(BorderLayout.CENTER, descriptionPanel.getMainPanel());
|
||||||
|
// mainPanel.add(BorderLayout.NORTH, northPanel);
|
||||||
|
mainPanel.add(tabbedPane, BorderLayout.CENTER);
|
||||||
|
tabbedPane.add(northPanel, "General");
|
||||||
|
tabbedPane.add(descriptionPanel.getMainPanel(), "Description");
|
||||||
|
|
||||||
|
setResizable(true);
|
||||||
|
|
||||||
|
setDialogComponent(mainPanel);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static PamguardMetaData showDialog(Window frame, PamguardMetaData pamguardMetaData) {
|
||||||
|
singleInstance = new MetaDataDialog(frame);
|
||||||
|
singleInstance.setParams(pamguardMetaData);
|
||||||
|
singleInstance.setVisible(true);
|
||||||
|
return singleInstance.pamguardMetaData;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setParams(PamguardMetaData pamguardMetaData) {
|
||||||
|
this.pamguardMetaData = pamguardMetaData;
|
||||||
|
Deployment deployment = pamguardMetaData.getDeployment();
|
||||||
|
descriptionPanel.setParams(deployment.getDescription());
|
||||||
|
responsiblePanel.setParams(deployment.getMetadataInfo().getContact());
|
||||||
|
cruise.setText(deployment.getCruise());
|
||||||
|
region.setText(deployment.getRegion());
|
||||||
|
site.setText(deployment.getSite());
|
||||||
|
project.setText(deployment.getProject());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean getParams() {
|
||||||
|
Deployment deployment = pamguardMetaData.getDeployment();
|
||||||
|
boolean ok = descriptionPanel.getParams(deployment.getDescription());
|
||||||
|
ok &= responsiblePanel.getParams(deployment.getMetadataInfo().getContact());
|
||||||
|
deployment.setCruise(cruise.getText());
|
||||||
|
deployment.setRegion(region.getText());
|
||||||
|
deployment.setSite(site.getText());
|
||||||
|
deployment.setProject(project.getText());
|
||||||
|
|
||||||
|
return ok;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void cancelButtonPressed() {
|
||||||
|
pamguardMetaData = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void restoreDefaultSettings() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -37,7 +37,6 @@ import PamView.dialog.warn.WarnOnce;
|
|||||||
import PamguardMVC.PamDataBlock;
|
import PamguardMVC.PamDataBlock;
|
||||||
import metadata.MetaDataContol;
|
import metadata.MetaDataContol;
|
||||||
import metadata.PamguardMetaData;
|
import metadata.PamguardMetaData;
|
||||||
import metadata.deployment.DeploymentData;
|
|
||||||
import nilus.Deployment;
|
import nilus.Deployment;
|
||||||
import tethys.TethysState.StateType;
|
import tethys.TethysState.StateType;
|
||||||
import tethys.calibration.CalibrationHandler;
|
import tethys.calibration.CalibrationHandler;
|
||||||
@ -427,15 +426,6 @@ public class TethysControl extends PamControlledUnit implements PamSettings, Tet
|
|||||||
// return deploymentData;
|
// return deploymentData;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets a copy of Deployment data stored with other Tethys params when the more
|
|
||||||
* general meta data provider is not present.
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
private DeploymentData getTethysProjectData() {
|
|
||||||
return tethysExportParams.getProjectData();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add a new state observer.
|
* Add a new state observer.
|
||||||
* @param stateObserver
|
* @param stateObserver
|
||||||
|
@ -37,7 +37,6 @@ import dataMap.OfflineDataMapPoint;
|
|||||||
import generalDatabase.DBControlUnit;
|
import generalDatabase.DBControlUnit;
|
||||||
import metadata.MetaDataContol;
|
import metadata.MetaDataContol;
|
||||||
import metadata.PamguardMetaData;
|
import metadata.PamguardMetaData;
|
||||||
import metadata.deployment.DeploymentData;
|
|
||||||
import nilus.Audio;
|
import nilus.Audio;
|
||||||
import nilus.ChannelInfo;
|
import nilus.ChannelInfo;
|
||||||
import nilus.ChannelInfo.DutyCycle;
|
import nilus.ChannelInfo.DutyCycle;
|
||||||
|
@ -39,6 +39,20 @@ import tethys.TethysTimeFuncs;
|
|||||||
*/
|
*/
|
||||||
public class NilusUnpacker {
|
public class NilusUnpacker {
|
||||||
|
|
||||||
|
|
||||||
|
private boolean verbose = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param verbose
|
||||||
|
*/
|
||||||
|
public NilusUnpacker(boolean verbose) {
|
||||||
|
this.verbose = verbose;
|
||||||
|
}
|
||||||
|
|
||||||
|
public NilusUnpacker() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
public Object unpackDocument(Document doc, Class nilusClass) throws SecurityException {
|
public Object unpackDocument(Document doc, Class nilusClass) throws SecurityException {
|
||||||
|
|
||||||
Object nilusObject = null;
|
Object nilusObject = null;
|
||||||
@ -155,7 +169,7 @@ public class NilusUnpacker {
|
|||||||
* it's possible that they are simply not there.
|
* it's possible that they are simply not there.
|
||||||
*/
|
*/
|
||||||
if (child == null) {
|
if (child == null) {
|
||||||
if (required) {
|
if (required & verbose) {
|
||||||
System.out.printf("Field %s in class %s is required but cannot be found\n", fieldName, nilusClass.getName());
|
System.out.printf("Field %s in class %s is required but cannot be found\n", fieldName, nilusClass.getName());
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
@ -171,7 +185,7 @@ public class NilusUnpacker {
|
|||||||
// find a setter for it.
|
// find a setter for it.
|
||||||
Method setter = findSetter(nilusClass, fieldName);
|
Method setter = findSetter(nilusClass, fieldName);
|
||||||
// System.out.printf("Field %s with element %s and setter %s\n", fieldName, childName, setter);
|
// System.out.printf("Field %s with element %s and setter %s\n", fieldName, childName, setter);
|
||||||
if (setter == null) {
|
if (setter == null & verbose) {
|
||||||
System.out.printf("No setter available for field %s and element %s\n", fieldName, elementName);
|
System.out.printf("No setter available for field %s and element %s\n", fieldName, elementName);
|
||||||
continue; // eventually do something more intelligent here.
|
continue; // eventually do something more intelligent here.
|
||||||
}
|
}
|
||||||
|
@ -9,93 +9,84 @@ import nilus.DescriptionType;
|
|||||||
* psfx files and because Nilus description types are not serialised
|
* psfx files and because Nilus description types are not serialised
|
||||||
* these have to be wrapped in a total bodge way with reasonably convenient
|
* these have to be wrapped in a total bodge way with reasonably convenient
|
||||||
* constructors and getters for converting back and forth from the nilus object.
|
* constructors and getters for converting back and forth from the nilus object.
|
||||||
|
* this is now slightly more rationalised in NilusSettingsWrapper.
|
||||||
* @author dg50
|
* @author dg50
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class PDescriptionType implements Serializable {
|
public class WrappedDescriptionType extends NilusSettingsWrapper<DescriptionType> implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
protected String objectives;
|
|
||||||
|
|
||||||
protected String _abstract;
|
|
||||||
|
|
||||||
protected String method;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor from a set of strings
|
* Constructor from a set of strings
|
||||||
* @param objectives
|
* @param objectives
|
||||||
* @param _abstract
|
* @param _abstract
|
||||||
* @param method
|
* @param method
|
||||||
*/
|
*/
|
||||||
public PDescriptionType(String objectives, String _abstract, String method) {
|
public WrappedDescriptionType(String objectives, String _abstract, String method) {
|
||||||
super();
|
super();
|
||||||
this.objectives = objectives;
|
DescriptionType description = getDescription();
|
||||||
this._abstract = _abstract;
|
description.setObjectives(objectives);
|
||||||
this.method = method;
|
description.setAbstract(_abstract);
|
||||||
|
description.setMethod(method);
|
||||||
|
}
|
||||||
|
|
||||||
|
public DescriptionType getDescription() {
|
||||||
|
return getNilusObject(DescriptionType.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDescription(DescriptionType description) {
|
||||||
|
setNilusObject(description);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Construct from a nilus object
|
* Construct from a nilus object
|
||||||
* @param descriptionType
|
* @param descriptionType
|
||||||
*/
|
*/
|
||||||
public PDescriptionType(DescriptionType descriptionType) {
|
public WrappedDescriptionType(DescriptionType descriptionType) {
|
||||||
this.objectives = descriptionType.getObjectives();
|
this.setNilusObject(descriptionType);
|
||||||
this._abstract = descriptionType.getAbstract();
|
|
||||||
this.method = descriptionType.getMethod();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public PDescriptionType() {
|
public WrappedDescriptionType() {
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getObjectives() {
|
public String getObjectives() {
|
||||||
return objectives;
|
return getDescription().getObjectives();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the _abstract
|
* @return the _abstract
|
||||||
*/
|
*/
|
||||||
public String getAbstract() {
|
public String getAbstract() {
|
||||||
return _abstract;
|
return getDescription().getAbstract();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param _abstract the _abstract to set
|
* @param _abstract the _abstract to set
|
||||||
*/
|
*/
|
||||||
public void setAbstract(String _abstract) {
|
public void setAbstract(String _abstract) {
|
||||||
this._abstract = _abstract;
|
getDescription().setAbstract(_abstract);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the method
|
* @return the method
|
||||||
*/
|
*/
|
||||||
public String getMethod() {
|
public String getMethod() {
|
||||||
return method;
|
return getDescription().getMethod();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param method the method to set
|
* @param method the method to set
|
||||||
*/
|
*/
|
||||||
public void setMethod(String method) {
|
public void setMethod(String method) {
|
||||||
this.method = method;
|
getDescription().setMethod(method);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param objectives the objectives to set
|
* @param objectives the objectives to set
|
||||||
*/
|
*/
|
||||||
public void setObjectives(String objectives) {
|
public void setObjectives(String objectives) {
|
||||||
this.objectives = objectives;
|
getDescription().setObjectives(objectives);;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* convert into a nilus object for output.
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public DescriptionType getDescription() {
|
|
||||||
DescriptionType descriptionType = new DescriptionType();
|
|
||||||
descriptionType.setAbstract(_abstract);
|
|
||||||
descriptionType.setObjectives(objectives);
|
|
||||||
descriptionType.setMethod(method);
|
|
||||||
return descriptionType;
|
|
||||||
}
|
|
||||||
}
|
}
|
@ -8,7 +8,7 @@ import PamguardMVC.PamDataBlock;
|
|||||||
import nilus.DescriptionType;
|
import nilus.DescriptionType;
|
||||||
import nilus.GranularityEnumType;
|
import nilus.GranularityEnumType;
|
||||||
import tethys.TethysControl;
|
import tethys.TethysControl;
|
||||||
import tethys.niluswraps.PDescriptionType;
|
import tethys.niluswraps.WrappedDescriptionType;
|
||||||
import tethys.pamdata.TethysDataProvider;
|
import tethys.pamdata.TethysDataProvider;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -65,11 +65,11 @@ public class StreamExportParams implements Serializable {
|
|||||||
/*
|
/*
|
||||||
* Can't have this here since it isn't serializable.
|
* Can't have this here since it isn't serializable.
|
||||||
*/
|
*/
|
||||||
public PDescriptionType detectionDescription;
|
public WrappedDescriptionType detectionDescription;
|
||||||
|
|
||||||
public PDescriptionType getDetectionDescription() {
|
public WrappedDescriptionType getDetectionDescription() {
|
||||||
if (detectionDescription == null) {
|
if (detectionDescription == null) {
|
||||||
detectionDescription = new PDescriptionType();
|
detectionDescription = new WrappedDescriptionType();
|
||||||
}
|
}
|
||||||
return detectionDescription;
|
return detectionDescription;
|
||||||
}
|
}
|
||||||
@ -89,7 +89,7 @@ public class StreamExportParams implements Serializable {
|
|||||||
private void autoFill(TethysControl tethysControl, PamDataBlock dataBlock) {
|
private void autoFill(TethysControl tethysControl, PamDataBlock dataBlock) {
|
||||||
// there should always be a data provider or we'd never have got this far.
|
// there should always be a data provider or we'd never have got this far.
|
||||||
TethysDataProvider dataProvider = dataBlock.getTethysDataProvider(tethysControl);
|
TethysDataProvider dataProvider = dataBlock.getTethysDataProvider(tethysControl);
|
||||||
PDescriptionType desc = getDetectionDescription();
|
WrappedDescriptionType desc = getDetectionDescription();
|
||||||
desc.setMethod(dataProvider.getDetectionsMethod());
|
desc.setMethod(dataProvider.getDetectionsMethod());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,7 +4,6 @@ import java.io.Serializable;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import PamguardMVC.PamDataBlock;
|
import PamguardMVC.PamDataBlock;
|
||||||
import generalDatabase.DBControlUnit;
|
import generalDatabase.DBControlUnit;
|
||||||
import metadata.deployment.DeploymentData;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -30,7 +29,6 @@ public class TethysExportParams implements Serializable, Cloneable{
|
|||||||
|
|
||||||
private HashMap<String, StreamExportParams> streamParamsMap = new HashMap();
|
private HashMap<String, StreamExportParams> streamParamsMap = new HashMap();
|
||||||
|
|
||||||
private DeploymentData deploymentData;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* PAMGuard HAS to have a dataset name to link to data in Tethys, or it all gets
|
* PAMGuard HAS to have a dataset name to link to data in Tethys, or it all gets
|
||||||
@ -114,11 +112,6 @@ public class TethysExportParams implements Serializable, Cloneable{
|
|||||||
return streamParamsMap.get(longDataName);
|
return streamParamsMap.get(longDataName);
|
||||||
}
|
}
|
||||||
|
|
||||||
public DeploymentData getProjectData() {
|
|
||||||
if (deploymentData == null) {
|
|
||||||
deploymentData = new DeploymentData();
|
|
||||||
}
|
|
||||||
return deploymentData;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,6 @@ import PamController.PamController;
|
|||||||
import PamUtils.PamCalendar;
|
import PamUtils.PamCalendar;
|
||||||
import PamguardMVC.PamDataBlock;
|
import PamguardMVC.PamDataBlock;
|
||||||
import metadata.MetaDataContol;
|
import metadata.MetaDataContol;
|
||||||
import metadata.deployment.DeploymentData;
|
|
||||||
import nilus.Deployment;
|
import nilus.Deployment;
|
||||||
import tethys.TethysControl;
|
import tethys.TethysControl;
|
||||||
import tethys.dbxml.DBXMLConnect;
|
import tethys.dbxml.DBXMLConnect;
|
||||||
|
@ -27,7 +27,6 @@ import PamView.panel.PamAlignmentPanel;
|
|||||||
import PamView.panel.WestAlignedPanel;
|
import PamView.panel.WestAlignedPanel;
|
||||||
import binaryFileStorage.BinaryStore;
|
import binaryFileStorage.BinaryStore;
|
||||||
import generalDatabase.DBControlUnit;
|
import generalDatabase.DBControlUnit;
|
||||||
import metadata.deployment.DeploymentData;
|
|
||||||
import nilus.Deployment;
|
import nilus.Deployment;
|
||||||
import nilus.Deployment.Data;
|
import nilus.Deployment.Data;
|
||||||
import tethys.TethysControl;
|
import tethys.TethysControl;
|
||||||
|
@ -11,7 +11,6 @@ import javax.swing.border.TitledBorder;
|
|||||||
|
|
||||||
import PamView.dialog.PamGridBagContraints;
|
import PamView.dialog.PamGridBagContraints;
|
||||||
import metadata.PamguardMetaData;
|
import metadata.PamguardMetaData;
|
||||||
import metadata.deployment.DeploymentData;
|
|
||||||
import nilus.Deployment;
|
import nilus.Deployment;
|
||||||
import tethys.TethysControl;
|
import tethys.TethysControl;
|
||||||
|
|
||||||
|
@ -24,7 +24,6 @@ import PamView.panel.PamPanel;
|
|||||||
import PamView.panel.WestAlignedPanel;
|
import PamView.panel.WestAlignedPanel;
|
||||||
import metadata.MetaDataContol;
|
import metadata.MetaDataContol;
|
||||||
import metadata.PamguardMetaData;
|
import metadata.PamguardMetaData;
|
||||||
import metadata.deployment.DeploymentData;
|
|
||||||
import nilus.Deployment;
|
import nilus.Deployment;
|
||||||
import pamViewFX.fxNodes.PamComboBox;
|
import pamViewFX.fxNodes.PamComboBox;
|
||||||
import tethys.TethysControl;
|
import tethys.TethysControl;
|
||||||
|
@ -19,12 +19,12 @@ public class DescriptionCard extends ExportWizardCard {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean getParams(StreamExportParams streamExportParams) {
|
public boolean getParams(StreamExportParams streamExportParams) {
|
||||||
return descriptionPanel.getParams(streamExportParams.getDetectionDescription());
|
return descriptionPanel.getParams(streamExportParams.getDetectionDescription().getDescription());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setParams(StreamExportParams streamExportParams) {
|
public void setParams(StreamExportParams streamExportParams) {
|
||||||
descriptionPanel.setParams(streamExportParams.getDetectionDescription());
|
descriptionPanel.setParams(streamExportParams.getDetectionDescription().getDescription());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@ import javax.swing.border.TitledBorder;
|
|||||||
import PamView.PamGui;
|
import PamView.PamGui;
|
||||||
import PamView.dialog.PamDialog;
|
import PamView.dialog.PamDialog;
|
||||||
import nilus.DescriptionType;
|
import nilus.DescriptionType;
|
||||||
import tethys.niluswraps.PDescriptionType;
|
import tethys.niluswraps.WrappedDescriptionType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Panel containing the three test entry fields for nilus.DescriptionType
|
* Panel containing the three test entry fields for nilus.DescriptionType
|
||||||
@ -89,7 +89,7 @@ public class DescriptionTypePanel {
|
|||||||
return mainPanel;
|
return mainPanel;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setParams(PDescriptionType description) {
|
public void setParams(DescriptionType description) {
|
||||||
if (description == null) {
|
if (description == null) {
|
||||||
tObjectives.setText(null);
|
tObjectives.setText(null);
|
||||||
tAbstract.setText(null);
|
tAbstract.setText(null);
|
||||||
@ -102,7 +102,7 @@ public class DescriptionTypePanel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean getParams(PDescriptionType description) {
|
public boolean getParams(DescriptionType description) {
|
||||||
Window f = PamGui.findComponentWindow(mainPanel);
|
Window f = PamGui.findComponentWindow(mainPanel);
|
||||||
if (checkField(requireObjective, tObjectives) == false) {
|
if (checkField(requireObjective, tObjectives) == false) {
|
||||||
return PamDialog.showWarning(f, "Objectives", "The objectives field must be completed");
|
return PamDialog.showWarning(f, "Objectives", "The objectives field must be completed");
|
||||||
|
77
src/tethys/swing/export/ResponsiblePartyPanel.java
Normal file
77
src/tethys/swing/export/ResponsiblePartyPanel.java
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
package tethys.swing.export;
|
||||||
|
|
||||||
|
import java.awt.GridBagConstraints;
|
||||||
|
import java.awt.GridBagLayout;
|
||||||
|
|
||||||
|
import javax.swing.JLabel;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JTextField;
|
||||||
|
import javax.swing.border.TitledBorder;
|
||||||
|
|
||||||
|
import PamView.dialog.PamGridBagContraints;
|
||||||
|
import nilus.ResponsibleParty;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Simple Swing panel for responsibleparty fields.
|
||||||
|
* @author dg50
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class ResponsiblePartyPanel {
|
||||||
|
|
||||||
|
private JTextField name, organisation, position, email;
|
||||||
|
|
||||||
|
private JPanel mainPanel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public ResponsiblePartyPanel() {
|
||||||
|
super();
|
||||||
|
mainPanel = new JPanel(new GridBagLayout());
|
||||||
|
// mainPanel.setBorder(new TitledBorder("Responsible party"));
|
||||||
|
GridBagConstraints c = new PamGridBagContraints();
|
||||||
|
mainPanel.add(new JLabel("Name ", JLabel.RIGHT), c);
|
||||||
|
c.gridx++;
|
||||||
|
mainPanel.add(name = new JTextField(40), c);
|
||||||
|
c.gridx = 0;
|
||||||
|
c.gridy++;
|
||||||
|
mainPanel.add(new JLabel("Organisation ", JLabel.RIGHT), c);
|
||||||
|
c.gridx++;
|
||||||
|
mainPanel.add(organisation = new JTextField(30), c);
|
||||||
|
c.gridx = 0;
|
||||||
|
c.gridy++;
|
||||||
|
mainPanel.add(new JLabel("Position ", JLabel.RIGHT), c);
|
||||||
|
c.gridx++;
|
||||||
|
mainPanel.add(position = new JTextField(30), c);
|
||||||
|
c.gridx = 0;
|
||||||
|
c.gridy++;
|
||||||
|
mainPanel.add(new JLabel("Email ", JLabel.RIGHT), c);
|
||||||
|
c.gridx++;
|
||||||
|
mainPanel.add(email = new JTextField(30), c);
|
||||||
|
c.gridx = 0;
|
||||||
|
c.gridy++;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public JPanel getMainPanel() {
|
||||||
|
return mainPanel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setParams(ResponsibleParty responsibleParty) {
|
||||||
|
if (responsibleParty == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
name.setText(responsibleParty.getIndividualName());
|
||||||
|
organisation.setText(responsibleParty.getOrganizationName());
|
||||||
|
position.setText(responsibleParty.getPositionName());
|
||||||
|
email.setText(responsibleParty.getContactInfo().getContactInstructions());
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean getParams(ResponsibleParty responsibleParty) {
|
||||||
|
responsibleParty.setIndividualName(name.getText());
|
||||||
|
responsibleParty.setOrganizationName(organisation.getText());
|
||||||
|
responsibleParty.setPositionName(position.getText());
|
||||||
|
responsibleParty.getContactInfo().setContactInstructions(email.getText());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user