/*
* NewKillDialog.java
*
* Copyright (c) 2009 Jay Lawson <jaylawson39 at yahoo.com>. All rights reserved.
*
* This file is part of MekHQ.
*
* MekHQ is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* MekHQ is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with MekHQ. If not, see <http://www.gnu.org/licenses/>.
*/
package mekhq.gui.dialog;
import java.awt.Frame;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.ResourceBundle;
import megamek.common.util.EncodeControl;
import mekhq.campaign.Kill;
/**
*
* @author Taharqa
*/
public class KillDialog extends javax.swing.JDialog {
private static final long serialVersionUID = -8038099101234445018L;
private Frame frame;
private Date date;
private Kill kill;
private String name;
private boolean cancelled;
/** Creates new form NewTeamDialog */
public KillDialog(java.awt.Frame parent, boolean modal, Kill k, String pilotName) {
super(parent, modal);
this.frame = parent;
this.kill = k;
date = kill.getDate();
name = pilotName;
cancelled = false;
initComponents();
setLocationRelativeTo(parent);
}
private void initComponents() {
java.awt.GridBagConstraints gridBagConstraints;
txtKill = new javax.swing.JTextField();
lblKill = new javax.swing.JLabel();
txtKiller = new javax.swing.JTextField();
lblKiller = new javax.swing.JLabel();
btnOK = new javax.swing.JButton();
btnClose = new javax.swing.JButton();
btnDate = new javax.swing.JButton();
ResourceBundle resourceMap = ResourceBundle.getBundle("mekhq.resources.KillDialog", new EncodeControl()); //$NON-NLS-1$
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setName("Form"); // NOI18N
setTitle(resourceMap.getString("Form.title") + " " + name);
getContentPane().setLayout(new java.awt.GridBagLayout());
lblKill.setText(resourceMap.getString("lblKill.text")); // NOI18N
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.gridwidth = 1;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
getContentPane().add(lblKill, gridBagConstraints);
txtKill.setText(kill.getWhatKilled());
txtKill.setMinimumSize(new java.awt.Dimension(150, 28));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 0;
gridBagConstraints.gridwidth = 1;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
getContentPane().add(txtKill, gridBagConstraints);
lblKiller.setText(resourceMap.getString("lblKiller.text")); // NOI18N
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 1;
gridBagConstraints.gridwidth = 1;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
getContentPane().add(lblKiller, gridBagConstraints);
//Unit u = campaign.getUnit(person.getUnitId());
//if(null != u) {
// txtKiller.setText(u.getName());
//} else {
// txtKiller.setText("Bare hands?");
//}
txtKiller.setText(kill.getKilledByWhat());
txtKiller.setMinimumSize(new java.awt.Dimension(150, 28));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 1;
gridBagConstraints.gridwidth = 1;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
getContentPane().add(txtKiller, gridBagConstraints);
btnDate.setText(getDateAsString());
btnDate.setName("btnDate"); // NOI18N
btnDate.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
changeDate();
}
});
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 2;
gridBagConstraints.gridwidth = 2;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
getContentPane().add(btnDate, gridBagConstraints);
btnOK.setText(resourceMap.getString("btnOK.text")); // NOI18N
btnOK.setName("btnOK"); // NOI18N
btnOK.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnOKActionPerformed(evt);
}
});
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 3;
gridBagConstraints.gridwidth = 1;
gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
getContentPane().add(btnOK, gridBagConstraints);
btnClose.setText(resourceMap.getString("btnClose.text")); // NOI18N
btnClose.setName("btnClose"); // NOI18N
btnClose.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnCloseActionPerformed(evt);
}
});
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 3;
gridBagConstraints.gridwidth = 1;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
getContentPane().add(btnClose, gridBagConstraints);
pack();
}
private void btnOKActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnHireActionPerformed
kill.setWhatKilled(txtKill.getText());
kill.setKilledByWhat(txtKiller.getText());
kill.setDate(date);
this.setVisible(false);
}
private void btnCloseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCloseActionPerformed
cancelled = true;
this.setVisible(false);
}
public Kill getKill() {
return kill;
}
public boolean wasCancelled() {
return cancelled;
}
private void changeDate() {
GregorianCalendar cal = new GregorianCalendar();
cal.setTime(date);
DateChooser dc = new DateChooser(frame, cal);
if (dc.showDateChooser() == DateChooser.OK_OPTION) {
date = dc.getDate().getTime();
btnDate.setText(getDateAsString());
}
}
private String getDateAsString() {
SimpleDateFormat dateFormat = new SimpleDateFormat("MMMM d yyyy");
return dateFormat.format(date);
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton btnClose;
private javax.swing.JButton btnOK;
private javax.swing.JLabel lblKill;
private javax.swing.JTextField txtKill;
private javax.swing.JLabel lblKiller;
private javax.swing.JTextField txtKiller;
private javax.swing.JButton btnDate;
// End of variables declaration//GEN-END:variables
}