package salomeTMF_plug.beanshell;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.BorderFactory;
import javax.swing.BoxLayout;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
import javax.swing.border.TitledBorder;
import org.objectweb.salome_tmf.ihm.languages.Language;
public class GuiScriptChoice extends JDialog {
private JPanel jContentPane = null;
private JPanel jpChoice = null;
private ButtonGroup jbgGroup = null;
private JRadioButton jrbExistingTestPlan = null;
private JRadioButton jrbNewTestPlan = null;
private JPanel jpExistingTestPlan = null;
private JPanel jpNewTestPlan = null;
private JTextField jtfExistingTestPlanName = null;
private JButton jbBrowse = null;
private JTextField jtfNewTestPlanName = null;
private JPanel jpButtons = null;
private JButton jbCancel = null;
private JButton jbOk = null;
private JPanel jpNameTestPlan = null;
private JPanel jpBrowse = null;
private JLabel jlTitleNewTesPlan = null;
public GuiScriptChoice(Frame parent) {
super(parent, true);
initialize();
this.pack();
this.setVisible(true);
}
private void initialize() {
this.setModal(true);
this.setResizable(false);
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
this.setTitle("Beanshell Script");
this.setContentPane(getJContentPane());
// window center
this.setLocationRelativeTo(this.getParent());
}
public File getSelectedFile() {
File file = null;
if(jrbExistingTestPlan.isSelected()) {
if(!jtfExistingTestPlanName.getText().trim().equals("")) {
file = new File(jtfExistingTestPlanName.getText());
}
} else if (jrbNewTestPlan.isSelected()) {
if(!jtfNewTestPlanName.getText().trim().equals("")) {
String fileName = jtfNewTestPlanName.getText();
if(!jtfNewTestPlanName.getText().toUpperCase().contains(".BSH")) {
fileName = fileName + ".bsh";
}
file = new File(fileName);
}
}
return (file);
}
private void selectedAction() {
if(jrbExistingTestPlan.isSelected()) {
jtfExistingTestPlanName.setEnabled(true);
jbBrowse.setEnabled(true);
jtfNewTestPlanName.setEnabled(false);
jlTitleNewTesPlan.setEnabled(false);
} else if (jrbNewTestPlan.isSelected()) {
jtfExistingTestPlanName.setEnabled(false);
jbBrowse.setEnabled(false);
jtfNewTestPlanName.setEnabled(true);
jlTitleNewTesPlan.setEnabled(true);
}
}
private void displayFileChooser() {
javax.swing.JFileChooser fileChooser = new javax.swing.JFileChooser();
fileChooser.setApproveButtonText(Language.getInstance().getText("Valider"));
fileChooser.addChoosableFileFilter(new BeanShellFileFilter("BeanShell",".bsh"));
int returnVal = fileChooser.showOpenDialog(this);
if (returnVal == javax.swing.JFileChooser.APPROVE_OPTION) {
jtfExistingTestPlanName.setText(fileChooser.getSelectedFile().getPath());
}
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jbgGroup = new ButtonGroup();
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
jContentPane.add(getJpChoice(), BorderLayout.CENTER);
jContentPane.add(getJpButtons(), BorderLayout.SOUTH);
}
return jContentPane;
}
/**
* This method initializes jpChoice
*
* @return javax.swing.JPanel
*/
private JPanel getJpChoice() {
if (jpChoice == null) {
try {
jpChoice = new JPanel();
jpChoice.setLayout(new BoxLayout(getJpChoice(), BoxLayout.Y_AXIS));
jpChoice.add(getJpExistingTestPlan(), null);
jpChoice.add(getJpNewTestPlan(), null);
} catch (java.lang.Throwable e) {
// TODO: Something
}
}
return jpChoice;
}
/**
* This method initializes jrbExistingTestPlan
*
* @return javax.swing.JRadioButton
*/
private JRadioButton getJrbExistingTestPlan() {
if (jrbExistingTestPlan == null) {
try {
jrbExistingTestPlan = new JRadioButton();
jrbExistingTestPlan.setText(Language.getInstance().getText("Existing_script"));
jrbExistingTestPlan.setSelected(true);
jbgGroup.add(jrbExistingTestPlan);
jrbExistingTestPlan.addChangeListener(new javax.swing.event.ChangeListener() {
public void stateChanged(javax.swing.event.ChangeEvent evt) {
selectedAction();
}
});
} catch (java.lang.Throwable e) {
// TODO: Something
}
}
return jrbExistingTestPlan;
}
/**
* This method initializes jrbNewTestPlan
*
* @return javax.swing.JRadioButton
*/
private JRadioButton getJrbNewTestPlan() {
if (jrbNewTestPlan == null) {
try {
jrbNewTestPlan = new JRadioButton();
jrbNewTestPlan.setText(Language.getInstance().getText("New_script"));
jbgGroup.add(jrbNewTestPlan);
jrbNewTestPlan.addChangeListener(new javax.swing.event.ChangeListener() {
public void stateChanged(javax.swing.event.ChangeEvent evt) {
selectedAction();
}
});
} catch (java.lang.Throwable e) {
// TODO: Something
}
}
return jrbNewTestPlan;
}
/**
* This method initializes jpExistingTestPlan
*
* @return javax.swing.JPanel
*/
private JPanel getJpExistingTestPlan() {
if (jpExistingTestPlan == null) {
try {
jpExistingTestPlan = new JPanel();
jpExistingTestPlan.setLayout(new BorderLayout());
jpExistingTestPlan.add(getJrbExistingTestPlan(), BorderLayout.NORTH);
jpExistingTestPlan.add(getJpBrowse(), BorderLayout.CENTER);
} catch (java.lang.Throwable e) {
// TODO: Something
}
}
return jpExistingTestPlan;
}
/**
* This method initializes jpNewTestPlan
*
* @return javax.swing.JPanel
*/
private JPanel getJpNewTestPlan() {
if (jpNewTestPlan == null) {
try {
jpNewTestPlan = new JPanel();
jpNewTestPlan.setLayout(new BorderLayout());
jpNewTestPlan.add(getJrbNewTestPlan(), BorderLayout.NORTH);
jpNewTestPlan.add(getJpNameTestPlan(), BorderLayout.CENTER);
} catch (java.lang.Throwable e) {
// TODO: Something
}
}
return jpNewTestPlan;
}
/**
* This method initializes jtfExistingTestPlanName
*
* @return javax.swing.JTextField
*/
private JTextField getJtfExistingTestPlanName() {
if (jtfExistingTestPlanName == null) {
try {
jtfExistingTestPlanName = new JTextField();
jtfExistingTestPlanName.setText("");
jtfExistingTestPlanName.setPreferredSize(new Dimension(250, 19));
} catch (java.lang.Throwable e) {
// TODO: Something
}
}
return jtfExistingTestPlanName;
}
/**
* This method initializes jbBrowse
*
* @return javax.swing.JButton
*/
private JButton getJbBrowse() {
if (jbBrowse == null) {
try {
jbBrowse = new JButton();
jbBrowse.setText(Language.getInstance().getText("Browse"));
jbBrowse.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
displayFileChooser();
}
});
} catch (java.lang.Throwable e) {
// TODO: Something
}
}
return jbBrowse;
}
/**
* This method initializes jtfNewTestPlanName
*
* @return javax.swing.JTextField
*/
private JTextField getJtfNewTestPlanName() {
if (jtfNewTestPlanName == null) {
try {
jtfNewTestPlanName = new JTextField();
jtfNewTestPlanName.setText("");
jtfNewTestPlanName.setEnabled(false);
jtfNewTestPlanName.setPreferredSize(new Dimension(170, 19));
} catch (java.lang.Throwable e) {
// TODO: Something
}
}
return jtfNewTestPlanName;
}
/**
* This method initializes jpButtons
*
* @return javax.swing.JPanel
*/
private JPanel getJpButtons() {
if (jpButtons == null) {
try {
jpButtons = new JPanel();
jpButtons.setLayout(new FlowLayout());
jpButtons.add(getJbOk(), null);
jpButtons.add(getJbCancel(), null);
} catch (java.lang.Throwable e) {
// TODO: Something
}
}
return jpButtons;
}
/**
* This method initializes jbCancel
*
* @return javax.swing.JButton
*/
private JButton getJbCancel() {
if (jbCancel == null) {
try {
jbCancel = new JButton();
jbCancel.setText(Language.getInstance().getText("Annuler"));
jbCancel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jbCancelActionPerformed();
}
});
} catch (java.lang.Throwable e) {
// TODO: Something
}
}
return jbCancel;
}
private void jbCancelActionPerformed()
{
this.dispose();
}
/**
* This method initializes jbOk
*
* @return javax.swing.JButton
*/
private JButton getJbOk() {
if (jbOk == null) {
try {
jbOk = new JButton();
jbOk.setText(Language.getInstance().getText("Valider"));
jbOk.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jbOkActionPerformed();
}
});
} catch (java.lang.Throwable e) {
// TODO: Something
}
}
return jbOk;
}
private void jbOkActionPerformed() {
if(jrbExistingTestPlan.isSelected()) {
if(jtfExistingTestPlanName.getText().trim().equals("")) {
JOptionPane.showMessageDialog(this, "Please select a script.", "Warning", JOptionPane.INFORMATION_MESSAGE);
} else {
this.dispose();
}
} else if (jrbNewTestPlan.isSelected()) {
if(jtfNewTestPlanName.getText().trim().equals("")) {
JOptionPane.showMessageDialog(this, "Please fill the new script name.", "Warning", JOptionPane.INFORMATION_MESSAGE);
} else {
this.dispose();
}
}
}
/**
* This method initializes jpNameTestPlan
*
* @return javax.swing.JPanel
*/
private JPanel getJpNameTestPlan() {
if (jpNameTestPlan == null) {
try {
jpNameTestPlan = new JPanel();
jpNameTestPlan.setLayout(new FlowLayout(FlowLayout.LEFT));
jpNameTestPlan.setBorder(BorderFactory.createTitledBorder(null, "", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, null, null));
jlTitleNewTesPlan = new JLabel(Language.getInstance().getText("Nom_du_script_:_"));
jpNameTestPlan.add(jlTitleNewTesPlan, null);
jpNameTestPlan.add(getJtfNewTestPlanName(), null);
} catch (java.lang.Throwable e) {
// TODO: Something
}
}
return jpNameTestPlan;
}
/**
* This method initializes jpBrowse
*
* @return javax.swing.JPanel
*/
private JPanel getJpBrowse() {
if (jpBrowse == null) {
try {
jpBrowse = new JPanel();
jpBrowse.setLayout(new FlowLayout(FlowLayout.LEFT));
jpBrowse.setBorder(BorderFactory.createTitledBorder(null, "", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, null, null));
jpBrowse.add(getJtfExistingTestPlanName(), null);
jpBrowse.add(getJbBrowse(), null);
} catch (java.lang.Throwable e) {
// TODO: Something
}
}
return jpBrowse;
}
}
|