<<<<<<< HEAD
package ui.dialogs;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.io.File;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.WindowConstants;
import ui.filefilters.ProjectFileFilter;
import ui.filefilters.SUMOFileFilter;
/**
* Dialog that enables the user to create a new project
*/
public class DlgNewProject extends JDialog {
private static final long serialVersionUID = 1L;
private int answer = JOptionPane.CANCEL_OPTION;
private JButton btnBrowseMap = null;
private JButton btnBrowseSave = null;
private JButton btnCancel = null;
private JButton btnOK = null;
private JDialog dialog = this; // @jve:decl-index=0:visual-constraint="82,242"
private JPanel jContentPane = null; // @jve:decl-index=0:visual-constraint="10,10"
private JLabel lblLocation = null;
private JLabel lblMapLocation = null;
private JTextField txtMapLocation = null;
private JTextField txtSave = null;
/**
* @param owner
*/
public DlgNewProject(JFrame frame) {
super(frame, "New Project", true);
initialize();
setLocationRelativeTo(frame);
setVisible(true);
}
/**
* Returns the user's answer
* @return
* @uml.property name="answer"
*/
public int getAnswer() {
return answer;
}
/**
* Returns the file containing the road network
* @return
*/
public File getMapFile() {
return new File(txtMapLocation.getText());
}
/**
* Returns the path to save the new project to
* @return
*/
public String getProjectPath() {
return txtSave.getText();
}
/**
* This method initializes btnBrowseMap
* @return javax.swing.JButton
* @uml.property name="btnBrowse"
*/
private JButton getBtnBrowseMap() {
if (btnBrowseMap == null) {
btnBrowseMap = new JButton();
btnBrowseMap.setText("Browse...");
btnBrowseMap.setBounds(new Rectangle(351, 34, 93, 19));
btnBrowseMap.setPreferredSize(new Dimension(87, 20));
btnBrowseMap.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
//Show road network selection dialog
JFileChooser f = new JFileChooser();
f.setMultiSelectionEnabled(false);
f.setFileSelectionMode(JFileChooser.FILES_ONLY);
f.setDialogTitle("Select a SUMO road network map");
f.setFileFilter(new SUMOFileFilter());
f.setAcceptAllFileFilterUsed(false);
if (f.showOpenDialog(dialog) == JFileChooser.APPROVE_OPTION) {
getTxtMapLocation().setText(f.getSelectedFile().getAbsolutePath());
getTxtMapLocation().setToolTipText(f.getSelectedFile().getAbsolutePath());
}
}
});
}
return btnBrowseMap;
}
/**
* This method initializes btnBrowseSave
* @return javax.swing.JButton
* @uml.property name="btnBrowseSave"
*/
private JButton getBtnBrowseSave() {
if (btnBrowseSave == null) {
btnBrowseSave = new JButton();
btnBrowseSave.setText("Browse...");
btnBrowseSave.setBounds(new Rectangle(351, 8, 93, 19));
btnBrowseSave.setPreferredSize(new Dimension(87, 20));
btnBrowseSave.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
//Shows the file save dialog
JFileChooser f = new JFileChooser();
f.setDialogTitle("Select project path");
f.setAcceptAllFileFilterUsed(false);
f.setFileFilter(new ProjectFileFilter());
f.setMultiSelectionEnabled(false);
if (f.showSaveDialog(dialog) == JFileChooser.APPROVE_OPTION) {
if (f.getSelectedFile().getAbsolutePath().endsWith(".sumo.prj")) {
getTxtSave().setText(f.getSelectedFile().getAbsolutePath());
getTxtSave().setToolTipText(f.getSelectedFile().getAbsolutePath());
} else {
getTxtSave().setText(f.getSelectedFile().getAbsolutePath() + ".sumo.prj");
getTxtSave().setToolTipText(f.getSelectedFile().getAbsolutePath() + ".sumo.prj");
}
}
}
});
}
return btnBrowseSave;
}
/**
* This method initializes btnCancel
* @return javax.swing.JButton
* @uml.property name="btnCancel"
*/
private JButton getBtnCancel() {
if (btnCancel == null) {
btnCancel = new JButton();
btnCancel.setText("Cancel");
btnCancel.setBounds(new Rectangle(362, 63, 82, 24));
btnCancel.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
answer = JOptionPane.CANCEL_OPTION;
dialog.setVisible(false);
}
});
}
return btnCancel;
}
/**
* This method initializes btnOK
* @return javax.swing.JButton
* @uml.property name="btnOK"
*/
private JButton getBtnOK() {
if (btnOK == null) {
btnOK = new JButton();
btnOK.setText("OK");
btnOK.setBounds(new Rectangle(275, 63, 82, 24));
btnOK.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
answer = JOptionPane.OK_OPTION;
//Perform validations
if (txtSave.getText().trim().length() == 0) {
JOptionPane.showMessageDialog(dialog, "Please select the project path");
return;
}
if (txtMapLocation.getText().trim().length() == 0) {
JOptionPane.showMessageDialog(dialog, "Please select a road network map");
return;
}
if (!(new File(txtMapLocation.getText().trim().replaceFirst(".net.", ".edg.")).exists()) || (!(new File(txtMapLocation.getText().trim().replaceFirst(".net.", ".nod.")).exists()))) {
JOptionPane.showMessageDialog(dialog, "No corresponding edge and/or node file was found for the selected map");
return;
}
dialog.setVisible(false);
}
});
}
return btnOK;
}
/**
* This method initializes jContentPane
* @return javax.swing.JPanel
* @uml.property name="jContentPane"
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getBtnCancel(), null);
jContentPane.add(getLblLocation(), null);
jContentPane.add(getTxtSave(), null);
jContentPane.add(getBtnBrowseSave(), null);
jContentPane.add(getLblMapLocation(), null);
jContentPane.add(getTxtMapLocation(), null);
jContentPane.add(getBtnBrowseMap(), null);
jContentPane.add(getBtnOK(), null);
}
return jContentPane;
}
/**
* @return the lblLocation
* @uml.property name="lblLocation"
*/
private JLabel getLblLocation() {
if (lblLocation == null) {
lblLocation = new JLabel();
lblLocation.setHorizontalAlignment(SwingConstants.RIGHT);
lblLocation.setBounds(new Rectangle(9, 11, 52, 16));
lblLocation.setText("Save as:");
}
return lblLocation;
}
/**
* @return the lblMapLocation
* @uml.property name="lblMapLocation"
*/
private JLabel getLblMapLocation() {
if (lblMapLocation == null) {
lblMapLocation = new JLabel();
lblMapLocation.setHorizontalAlignment(SwingConstants.RIGHT);
lblMapLocation.setBounds(new Rectangle(8, 36, 52, 16));
lblMapLocation.setText("Map file:");
}
return lblMapLocation;
}
/**
* This method initializes txtMapLocation
* @return javax.swing.JTextField
* @uml.property name="txtMapLocation"
*/
private JTextField getTxtMapLocation() {
if (txtMapLocation == null) {
txtMapLocation = new JTextField();
txtMapLocation.setPreferredSize(new Dimension(60, 20));
txtMapLocation.setEditable(false);
txtMapLocation.setBounds(new Rectangle(71, 34, 273, 19));
}
return txtMapLocation;
}
/**
* This method initializes txtSave
* @return javax.swing.JTextField
* @uml.property name="txtSave"
*/
private JTextField getTxtSave() {
if (txtSave == null) {
txtSave = new JTextField();
txtSave.setBounds(new Rectangle(71, 8, 273, 19));
txtSave.setEditable(false);
}
return txtSave;
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(459, 127);
setModal(true);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
setResizable(false);
setContentPane(getJContentPane());
setTitle("New Project");
}
} // @jve:decl-index=0:visual-constraint="17,21"
=======
package ui.dialogs;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.io.File;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.WindowConstants;
import ui.filefilters.ProjectFileFilter;
import ui.filefilters.SUMOFileFilter;
/**
* Dialog that enables the user to create a new project
*/
public class DlgNewProject extends JDialog {
private static final long serialVersionUID = 1L;
private int answer = JOptionPane.CANCEL_OPTION;
private JButton btnBrowseMap = null;
private JButton btnBrowseSave = null;
private JButton btnCancel = null;
private JButton btnOK = null;
private JDialog dialog = this; // @jve:decl-index=0:visual-constraint="82,242"
private JPanel jContentPane = null; // @jve:decl-index=0:visual-constraint="10,10"
private JLabel lblLocation = null;
private JLabel lblMapLocation = null;
private JTextField txtMapLocation = null;
private JTextField txtSave = null;
/**
* @param owner
*/
public DlgNewProject(JFrame frame) {
super(frame, "New Project", true);
initialize();
setLocationRelativeTo(frame);
setVisible(true);
}
/**
* Returns the user's answer
* @return
* @uml.property name="answer"
*/
public int getAnswer() {
return answer;
}
/**
* Returns the file containing the road network
* @return
*/
public File getMapFile() {
return new File(txtMapLocation.getText());
}
/**
* Returns the path to save the new project to
* @return
*/
public String getProjectPath() {
return txtSave.getText();
}
/**
* This method initializes btnBrowseMap
* @return javax.swing.JButton
* @uml.property name="btnBrowse"
*/
private JButton getBtnBrowseMap() {
if (btnBrowseMap == null) {
btnBrowseMap = new JButton();
btnBrowseMap.setText("Browse...");
btnBrowseMap.setBounds(new Rectangle(351, 34, 93, 19));
btnBrowseMap.setPreferredSize(new Dimension(87, 20));
btnBrowseMap.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
//Show road network selection dialog
JFileChooser f = new JFileChooser();
f.setMultiSelectionEnabled(false);
f.setFileSelectionMode(JFileChooser.FILES_ONLY);
f.setDialogTitle("Select a SUMO road network map");
f.setFileFilter(new SUMOFileFilter());
f.setAcceptAllFileFilterUsed(false);
if (f.showOpenDialog(dialog) == JFileChooser.APPROVE_OPTION) {
getTxtMapLocation().setText(f.getSelectedFile().getAbsolutePath());
getTxtMapLocation().setToolTipText(f.getSelectedFile().getAbsolutePath());
}
}
});
}
return btnBrowseMap;
}
/**
* This method initializes btnBrowseSave
* @return javax.swing.JButton
* @uml.property name="btnBrowseSave"
*/
private JButton getBtnBrowseSave() {
if (btnBrowseSave == null) {
btnBrowseSave = new JButton();
btnBrowseSave.setText("Browse...");
btnBrowseSave.setBounds(new Rectangle(351, 8, 93, 19));
btnBrowseSave.setPreferredSize(new Dimension(87, 20));
btnBrowseSave.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
//Shows the file save dialog
JFileChooser f = new JFileChooser();
f.setDialogTitle("Select project path");
f.setAcceptAllFileFilterUsed(false);
f.setFileFilter(new ProjectFileFilter());
f.setMultiSelectionEnabled(false);
if (f.showSaveDialog(dialog) == JFileChooser.APPROVE_OPTION) {
if (f.getSelectedFile().getAbsolutePath().endsWith(".sumo.prj")) {
getTxtSave().setText(f.getSelectedFile().getAbsolutePath());
getTxtSave().setToolTipText(f.getSelectedFile().getAbsolutePath());
} else {
getTxtSave().setText(f.getSelectedFile().getAbsolutePath() + ".sumo.prj");
getTxtSave().setToolTipText(f.getSelectedFile().getAbsolutePath() + ".sumo.prj");
}
}
}
});
}
return btnBrowseSave;
}
/**
* This method initializes btnCancel
* @return javax.swing.JButton
* @uml.property name="btnCancel"
*/
private JButton getBtnCancel() {
if (btnCancel == null) {
btnCancel = new JButton();
btnCancel.setText("Cancel");
btnCancel.setBounds(new Rectangle(362, 63, 82, 24));
btnCancel.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
answer = JOptionPane.CANCEL_OPTION;
dialog.setVisible(false);
}
});
}
return btnCancel;
}
/**
* This method initializes btnOK
* @return javax.swing.JButton
* @uml.property name="btnOK"
*/
private JButton getBtnOK() {
if (btnOK == null) {
btnOK = new JButton();
btnOK.setText("OK");
btnOK.setBounds(new Rectangle(275, 63, 82, 24));
btnOK.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
answer = JOptionPane.OK_OPTION;
//Perform validations
if (txtSave.getText().trim().length() == 0) {
JOptionPane.showMessageDialog(dialog, "Please select the project path");
return;
}
if (txtMapLocation.getText().trim().length() == 0) {
JOptionPane.showMessageDialog(dialog, "Please select a road network map");
return;
}
if (!(new File(txtMapLocation.getText().trim().replaceFirst(".net.", ".edg.")).exists()) || (!(new File(txtMapLocation.getText().trim().replaceFirst(".net.", ".nod.")).exists()))) {
JOptionPane.showMessageDialog(dialog, "No corresponding edge and/or node file was found for the selected map");
return;
}
dialog.setVisible(false);
}
});
}
return btnOK;
}
/**
* This method initializes jContentPane
* @return javax.swing.JPanel
* @uml.property name="jContentPane"
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getBtnCancel(), null);
jContentPane.add(getLblLocation(), null);
jContentPane.add(getTxtSave(), null);
jContentPane.add(getBtnBrowseSave(), null);
jContentPane.add(getLblMapLocation(), null);
jContentPane.add(getTxtMapLocation(), null);
jContentPane.add(getBtnBrowseMap(), null);
jContentPane.add(getBtnOK(), null);
}
return jContentPane;
}
/**
* @return the lblLocation
* @uml.property name="lblLocation"
*/
private JLabel getLblLocation() {
if (lblLocation == null) {
lblLocation = new JLabel();
lblLocation.setHorizontalAlignment(SwingConstants.RIGHT);
lblLocation.setBounds(new Rectangle(9, 11, 52, 16));
lblLocation.setText("Save as:");
}
return lblLocation;
}
/**
* @return the lblMapLocation
* @uml.property name="lblMapLocation"
*/
private JLabel getLblMapLocation() {
if (lblMapLocation == null) {
lblMapLocation = new JLabel();
lblMapLocation.setHorizontalAlignment(SwingConstants.RIGHT);
lblMapLocation.setBounds(new Rectangle(8, 36, 52, 16));
lblMapLocation.setText("Map file:");
}
return lblMapLocation;
}
/**
* This method initializes txtMapLocation
* @return javax.swing.JTextField
* @uml.property name="txtMapLocation"
*/
private JTextField getTxtMapLocation() {
if (txtMapLocation == null) {
txtMapLocation = new JTextField();
txtMapLocation.setPreferredSize(new Dimension(60, 20));
txtMapLocation.setEditable(false);
txtMapLocation.setBounds(new Rectangle(71, 34, 273, 19));
}
return txtMapLocation;
}
/**
* This method initializes txtSave
* @return javax.swing.JTextField
* @uml.property name="txtSave"
*/
private JTextField getTxtSave() {
if (txtSave == null) {
txtSave = new JTextField();
txtSave.setBounds(new Rectangle(71, 8, 273, 19));
txtSave.setEditable(false);
}
return txtSave;
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(459, 127);
setModal(true);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
setResizable(false);
setContentPane(getJContentPane());
setTitle("New Project");
}
} // @jve:decl-index=0:visual-constraint="17,21"
>>>>>>> origin/abdalla