1
// CLASSIFICATION: UNCLASSIFIED
6
* Created on April 2, 2001, 4:28 PM
13
import geotrans3.enumerations.*;
14
import geotrans3.exception.CoordinateConversionException;
15
import geotrans3.jni.JNIFiomeths;
16
import geotrans3.jni.JNICoordinateConversionService;
17
import geotrans3.misc.FormatOptions;
18
import geotrans3.misc.StringHandler;
19
import geotrans3.utility.DATFileFilter;
20
import geotrans3.utility.Directory;
21
import geotrans3.utility.Utility;
22
import geotrans3.utility.StartBrowser;
28
public class FileDlg extends javax.swing.JDialog
30
private Directory currentDir;
31
private MasterPanel lowerFilePanel;
32
private StringHandler stringHandler;
33
private JNIFiomeths jniFiomeths;
34
private javax.swing.JFrame parentFrame;
35
private FormatOptions options;
37
/** Creates new form FileDlg */
38
public FileDlg(JNICoordinateConversionService _jniCoordinateConversionService, javax.swing.JFrame parent, boolean modal, Directory dir, FormatOptions joptions, JNIFiomeths _jniFiomeths, StringHandler _stringHandler) throws CoordinateConversionException
46
jniFiomeths = _jniFiomeths;
48
stringHandler = _stringHandler;
52
MasterPanel upperFilePanel = new MasterPanel(_jniCoordinateConversionService, _jniFiomeths.getDatumCode(), _jniFiomeths.getCoordinateSystemParameters(), ConversionState.FILE, SourceOrTarget.SOURCE, joptions, _stringHandler);
53
lowerFilePanel = new MasterPanel(_jniCoordinateConversionService, SourceOrTarget.TARGET, joptions, _stringHandler, upperFilePanel.getProjectionType());
55
inputFilePanel.add(upperFilePanel, java.awt.BorderLayout.CENTER);
56
outputFilePanel.add(lowerFilePanel, java.awt.BorderLayout.CENTER);
58
getRootPane().setDefaultButton(okButton);
61
Utility.center(parent, this);
65
_stringHandler.displayErrorMsg(parent, e.getMessage());
71
/** This method is called from within the constructor to
72
* initialize the form.
73
* WARNING: Do NOT modify this code. The content of this method is
74
* always regenerated by the FormEditor.
76
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
77
private void initComponents() {
78
java.awt.GridBagConstraints gridBagConstraints;
80
inputFilePanel = new javax.swing.JPanel();
81
inputLabel = new javax.swing.JLabel();
82
outputFilePanel = new javax.swing.JPanel();
83
outputLabel = new javax.swing.JLabel();
84
buttonsPanel = new javax.swing.JPanel();
85
okButton = new javax.swing.JButton();
86
helpButton = new javax.swing.JButton();
87
cancelButton = new javax.swing.JButton();
89
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
90
setTitle("File Processing");
92
addWindowListener(new java.awt.event.WindowAdapter() {
93
public void windowClosing(java.awt.event.WindowEvent evt) {
97
getContentPane().setLayout(new java.awt.GridBagLayout());
99
inputFilePanel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
100
inputFilePanel.setMinimumSize(new java.awt.Dimension(467, 197));
101
inputFilePanel.setPreferredSize(new java.awt.Dimension(467, 197));
102
inputFilePanel.setLayout(new java.awt.BorderLayout(1, 1));
104
inputLabel.setText("INPUT");
105
inputFilePanel.add(inputLabel, java.awt.BorderLayout.NORTH);
107
gridBagConstraints = new java.awt.GridBagConstraints();
108
gridBagConstraints.gridx = 0;
109
gridBagConstraints.gridy = 1;
110
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
111
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
112
gridBagConstraints.weightx = 0.5;
113
gridBagConstraints.weighty = 0.5;
114
gridBagConstraints.insets = new java.awt.Insets(2, 2, 2, 2);
115
getContentPane().add(inputFilePanel, gridBagConstraints);
117
outputFilePanel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
118
outputFilePanel.setAlignmentY(1.5F);
119
outputFilePanel.setMinimumSize(new java.awt.Dimension(467, 197));
120
outputFilePanel.setPreferredSize(new java.awt.Dimension(467, 197));
121
outputFilePanel.setLayout(new java.awt.BorderLayout(1, 1));
123
outputLabel.setText("OUTPUT");
124
outputFilePanel.add(outputLabel, java.awt.BorderLayout.NORTH);
126
gridBagConstraints = new java.awt.GridBagConstraints();
127
gridBagConstraints.gridx = 0;
128
gridBagConstraints.gridy = 3;
129
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
130
gridBagConstraints.ipady = 8;
131
gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHWEST;
132
gridBagConstraints.weightx = 0.5;
133
gridBagConstraints.weighty = 0.5;
134
gridBagConstraints.insets = new java.awt.Insets(3, 2, 2, 2);
135
getContentPane().add(outputFilePanel, gridBagConstraints);
137
buttonsPanel.setMinimumSize(new java.awt.Dimension(330, 50));
138
buttonsPanel.setPreferredSize(new java.awt.Dimension(330, 50));
139
buttonsPanel.setLayout(new java.awt.GridBagLayout());
141
okButton.setMnemonic(java.awt.event.KeyEvent.VK_O);
142
okButton.setText("OK");
143
okButton.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
144
okButton.setMaximumSize(new java.awt.Dimension(80, 21));
145
okButton.setMinimumSize(new java.awt.Dimension(80, 21));
146
okButton.setPreferredSize(new java.awt.Dimension(80, 21));
147
okButton.addActionListener(new java.awt.event.ActionListener() {
148
public void actionPerformed(java.awt.event.ActionEvent evt) {
149
okActionPerformed(evt);
152
gridBagConstraints = new java.awt.GridBagConstraints();
153
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
154
gridBagConstraints.insets = new java.awt.Insets(0, 0, 12, 45);
155
buttonsPanel.add(okButton, gridBagConstraints);
157
helpButton.setMnemonic(java.awt.event.KeyEvent.VK_H);
158
helpButton.setText("Help");
159
helpButton.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
160
helpButton.setMaximumSize(new java.awt.Dimension(80, 21));
161
helpButton.setMinimumSize(new java.awt.Dimension(80, 21));
162
helpButton.setPreferredSize(new java.awt.Dimension(80, 21));
163
helpButton.addActionListener(new java.awt.event.ActionListener() {
164
public void actionPerformed(java.awt.event.ActionEvent evt) {
165
helpActionPerformed(evt);
168
gridBagConstraints = new java.awt.GridBagConstraints();
169
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
170
gridBagConstraints.insets = new java.awt.Insets(0, 0, 12, 45);
171
buttonsPanel.add(helpButton, gridBagConstraints);
173
cancelButton.setMnemonic(java.awt.event.KeyEvent.VK_C);
174
cancelButton.setText("Cancel");
175
cancelButton.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
176
cancelButton.setMaximumSize(new java.awt.Dimension(80, 21));
177
cancelButton.setMinimumSize(new java.awt.Dimension(80, 21));
178
cancelButton.setPreferredSize(new java.awt.Dimension(80, 21));
179
cancelButton.addActionListener(new java.awt.event.ActionListener() {
180
public void actionPerformed(java.awt.event.ActionEvent evt) {
181
cancelActionPerformed(evt);
184
gridBagConstraints = new java.awt.GridBagConstraints();
185
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
186
gridBagConstraints.insets = new java.awt.Insets(0, 0, 12, 0);
187
buttonsPanel.add(cancelButton, gridBagConstraints);
189
gridBagConstraints = new java.awt.GridBagConstraints();
190
gridBagConstraints.gridx = 0;
191
gridBagConstraints.gridy = 4;
192
getContentPane().add(buttonsPanel, gridBagConstraints);
193
}// </editor-fold>//GEN-END:initComponents
195
private void cancelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cancelActionPerformed
198
jniFiomeths.closeInputFile();
202
stringHandler.displayErrorMsg(this, e.getMessage());
209
}//GEN-LAST:event_cancelActionPerformed
211
private void helpActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_helpActionPerformed
212
java.io.File helpFile = new java.io.File ("..");
215
if (StartBrowser.isWindowsPlatform())
216
StartBrowser.displayURL(this, "file:" + helpFile.getCanonicalPath() + "\\help\\fileproc.htm");
218
StartBrowser.displayURL(this, "file:" + helpFile.getCanonicalPath() + "/help/fileproc.htm");
222
stringHandler.displayErrorMsg(this, "Could not invoke browser");
224
}//GEN-LAST:event_helpActionPerformed
226
private void okActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_okActionPerformed
230
if(!lowerFilePanel.getError())
233
javax.swing.JFileChooser jChooser1 = new javax.swing.JFileChooser(currentDir.getDirectory());
234
jChooser1.setDialogTitle("Save As");
235
jChooser1.addChoosableFileFilter(new DATFileFilter());
236
jChooser1.setSelectedFile(new java.io.File("*.dat"));
237
int state = jChooser1.showSaveDialog(parentFrame);
238
if( state == javax.swing.JFileChooser.APPROVE_OPTION )
240
java.io.File file = jChooser1.getSelectedFile();
241
currentDir.setDirectory(file.getAbsolutePath());
245
jniFiomeths.setUseNSEW(options.getUseNSEW());
246
jniFiomeths.setUseMinutes(options.getUseMinutes());
247
jniFiomeths.setUseSeconds(options.getUseSeconds());
248
jniFiomeths.setLatLongPrecision(options.getPrecision());
249
if (lowerFilePanel.getProjectionType() == CoordinateType.GEODETIC)
250
jniFiomeths.setGeodeticCoordinateOrder(lowerFilePanel.getCoordinateOrder());
252
jniFiomeths.setOutputFilename(file.getPath(), lowerFilePanel.getDatumCode(), lowerFilePanel.getParameters());
254
ProgressDlg progressDlg = new ProgressDlg(this, true, jniFiomeths);
261
lowerFilePanel.showErrors(this);
267
stringHandler.displayErrorMsg(this, e.getMessage());
273
jniFiomeths.closeInputFile();
277
stringHandler.displayErrorMsg(this, e.getMessage());
282
}//GEN-LAST:event_okActionPerformed
284
private void closeDialog(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_closeDialog
289
jniFiomeths.closeInputFile();
293
stringHandler.displayErrorMsg(this, e.getMessage());
295
}//GEN-LAST:event_closeDialog
298
// Variables declaration - do not modify//GEN-BEGIN:variables
299
private javax.swing.JPanel buttonsPanel;
300
private javax.swing.JButton cancelButton;
301
private javax.swing.JButton helpButton;
302
private javax.swing.JPanel inputFilePanel;
303
private javax.swing.JLabel inputLabel;
304
private javax.swing.JButton okButton;
305
private javax.swing.JPanel outputFilePanel;
306
private javax.swing.JLabel outputLabel;
307
// End of variables declaration//GEN-END:variables
311
// CLASSIFICATION: UNCLASSIFIED