/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/*
* AddIngredient.java
*
* Created on Jan 24, 2011, 10:11:06 PM
*/
package omnom.newRecipes;
import javax.swing.JOptionPane;
import omnom.jaxb.IngredientType;
/**
*
* @author ashton
*/
public class AddIngredient extends javax.swing.JDialog {
private AddRecipe recipeParent;
/** Creates new form AddIngredient */
public AddIngredient(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
clearFields();
}
public AddIngredient(java.awt.Frame parent, AddRecipe recipeDialog) {
super(parent);
initComponents();
recipeParent = recipeDialog;
clearFields();
}
public void clearFields() {
nameTextField.setText("");
amountTextField.setText("");
unitTextField.setText("");
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
jToggleButton1 = new javax.swing.JToggleButton();
jDialog1 = new javax.swing.JDialog();
jDialog2 = new javax.swing.JDialog();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
acceptButton = new javax.swing.JButton();
cancelButton = new javax.swing.JButton();
nameTextField = new javax.swing.JTextField();
amountTextField = new javax.swing.JTextField();
unitTextField = new javax.swing.JTextField();
org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(omnom.RecipesApp.class).getContext().getResourceMap(AddIngredient.class);
jToggleButton1.setText(resourceMap.getString("jToggleButton1.text")); // NOI18N
jToggleButton1.setName("jToggleButton1"); // NOI18N
jDialog1.setName("jDialog1"); // NOI18N
javax.swing.GroupLayout jDialog1Layout = new javax.swing.GroupLayout(jDialog1.getContentPane());
jDialog1.getContentPane().setLayout(jDialog1Layout);
jDialog1Layout.setHorizontalGroup(
jDialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 400, Short.MAX_VALUE)
);
jDialog1Layout.setVerticalGroup(
jDialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 300, Short.MAX_VALUE)
);
jDialog2.setName("jDialog2"); // NOI18N
javax.swing.GroupLayout jDialog2Layout = new javax.swing.GroupLayout(jDialog2.getContentPane());
jDialog2.getContentPane().setLayout(jDialog2Layout);
jDialog2Layout.setHorizontalGroup(
jDialog2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 400, Short.MAX_VALUE)
);
jDialog2Layout.setVerticalGroup(
jDialog2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 300, Short.MAX_VALUE)
);
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setName("Form"); // NOI18N
jLabel1.setText(resourceMap.getString("jLabel1.text")); // NOI18N
jLabel1.setName("jLabel1"); // NOI18N
jLabel2.setText(resourceMap.getString("jLabel2.text")); // NOI18N
jLabel2.setName("jLabel2"); // NOI18N
jLabel3.setText(resourceMap.getString("jLabel3.text")); // NOI18N
jLabel3.setName("jLabel3"); // NOI18N
acceptButton.setText(resourceMap.getString("acceptButton.text")); // NOI18N
acceptButton.setName("acceptButton"); // NOI18N
acceptButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
acceptButtonActionPerformed(evt);
}
});
cancelButton.setText(resourceMap.getString("cancelButton.text")); // NOI18N
cancelButton.setName("cancelButton"); // NOI18N
cancelButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
cancelButtonActionPerformed(evt);
}
});
nameTextField.setText(resourceMap.getString("nameTextField.text")); // NOI18N
nameTextField.setName("nameTextField"); // NOI18N
amountTextField.setText(resourceMap.getString("amountTextField.text")); // NOI18N
amountTextField.setToolTipText(resourceMap.getString("amountTextField.toolTipText")); // NOI18N
amountTextField.setName("amountTextField"); // NOI18N
unitTextField.setText(resourceMap.getString("unitTextField.text")); // NOI18N
unitTextField.setName("unitTextField"); // NOI18N
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(acceptButton, javax.swing.GroupLayout.PREFERRED_SIZE, 165, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel1)
.addComponent(jLabel2)
.addComponent(jLabel3))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(unitTextField)
.addComponent(amountTextField)
.addComponent(nameTextField)
.addComponent(cancelButton, javax.swing.GroupLayout.DEFAULT_SIZE, 163, Short.MAX_VALUE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel1)
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(amountTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addComponent(nameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel3)
.addComponent(unitTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(acceptButton)
.addComponent(cancelButton))
.addContainerGap(14, Short.MAX_VALUE))
);
pack();
}// </editor-fold>//GEN-END:initComponents
private void cancelButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cancelButtonActionPerformed
dispose();
}//GEN-LAST:event_cancelButtonActionPerformed
private void acceptButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_acceptButtonActionPerformed
if (nameTextField.getText() == null ? "" == null : nameTextField.getText().equals("")) {
JOptionPane.showMessageDialog(this, "You need a name for an ingredient");
} else {
IngredientType ing = new IngredientType();
ing.setName(nameTextField.getText());
if (amountTextField.getText() == null ? "" == null : amountTextField.getText().equals("")) {
ing.setNumerator(0);
ing.setDenominator(0);
} else if (amountTextField.getText().contains("/")) {
String[] amounts = amountTextField.getText().split("/");
ing.setNumerator(Integer.parseInt(amounts[0]));
ing.setDenominator(Integer.parseInt(amounts[1]));
} else {
ing.setDenominator(0);
ing.setNumerator(Integer.parseInt(amountTextField.getText()));
}
ing.setUnit(unitTextField.getText());
recipeParent.addIngredient(ing);
dispose();
}
}//GEN-LAST:event_acceptButtonActionPerformed
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
AddIngredient dialog = new AddIngredient(new javax.swing.JFrame(), true);
dialog.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent e) {
System.exit(0);
}
});
dialog.setVisible(true);
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton acceptButton;
private javax.swing.JTextField amountTextField;
private javax.swing.JButton cancelButton;
private javax.swing.JDialog jDialog1;
private javax.swing.JDialog jDialog2;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JToggleButton jToggleButton1;
private javax.swing.JTextField nameTextField;
private javax.swing.JTextField unitTextField;
// End of variables declaration//GEN-END:variables
}