-
Notifications
You must be signed in to change notification settings - Fork 20
Expand file tree
/
Copy pathClipDisplayDialog.java
More file actions
83 lines (66 loc) · 2.32 KB
/
ClipDisplayDialog.java
File metadata and controls
83 lines (66 loc) · 2.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
package clipgenerator;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Window;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.border.TitledBorder;
import PamView.dialog.PamDialog;
import PamView.dialog.PamGridBagContraints;
public class ClipDisplayDialog extends PamDialog {
private ClipSettings clipSettings;
private JTextField[] rangeFields;
private ClipDisplayDialog(Window parentFrame, ClipControl clipControl) {
super(parentFrame, clipControl.getUnitName() + " display", false);
this.clipSettings = clipControl.clipSettings.clone();
JPanel rangePanel = new JPanel(new GridBagLayout());
rangePanel.setBorder(new TitledBorder("Map bearing lines"));
GridBagConstraints c = new PamGridBagContraints();
rangePanel.add(new JLabel("Clip trigger ", SwingConstants.RIGHT), c);
c.gridx++;
rangePanel.add(new JLabel("Range (m)"));
rangeFields = new JTextField[clipSettings.getNumClipGenerators()];
for (int i = 0; i < clipSettings.getNumClipGenerators(); i++) {
c.gridx = 0;
c.gridy++;
ClipGenSetting genSet = clipSettings.getClipGenSetting(i);
rangePanel.add(new JLabel(genSet.dataName, SwingConstants.RIGHT), c);
c.gridx++;
rangePanel.add(rangeFields[i] = new JTextField(4), c);
rangeFields[i].setText(String.format("%3.1f", genSet.mapLineLength));
}
setDialogComponent(rangePanel);
}
public static ClipSettings showDialog(Window owner, ClipControl clipControl) {
ClipDisplayDialog displayDialog = new ClipDisplayDialog(owner, clipControl);
displayDialog.setParams();
displayDialog.setVisible(true);
return displayDialog.clipSettings;
}
private void setParams() {
// nothing to do - all done in constructor
}
@Override
public boolean getParams() {
for (int i = 0; i < clipSettings.getNumClipGenerators(); i++) {
ClipGenSetting genSet = clipSettings.getClipGenSetting(i);
try {
genSet.mapLineLength = Double.valueOf(rangeFields[i].getText());
}
catch (NumberFormatException e) {
return showWarning("Invalid range value for " + genSet.dataName);
}
}
return true;
}
@Override
public void cancelButtonPressed() {
clipSettings = null;
}
@Override
public void restoreDefaultSettings() {
// TODO Auto-generated method stub
}
}