/* * NewMissionDialog.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.Dimension; import java.util.ResourceBundle; import javax.swing.BorderFactory; import megamek.common.util.EncodeControl; import mekhq.campaign.Campaign; import mekhq.campaign.mission.Mission; import mekhq.gui.utilities.JSuggestField; /** * * @author Taharqa */ public class CustomizeMissionDialog extends javax.swing.JDialog { private static final long serialVersionUID = -8038099101234445018L; private Mission mission; private Campaign campaign; private boolean newMission; /** Creates new form NewTeamDialog */ public CustomizeMissionDialog(java.awt.Frame parent, boolean modal, Mission m, Campaign c) { super(parent, modal); if(null == m) { mission = new Mission("New Mission"); newMission = true; } else { mission = m; newMission = false; } campaign = c; initComponents(); setLocationRelativeTo(parent); } private void initComponents() { java.awt.GridBagConstraints gridBagConstraints; txtName = new javax.swing.JTextField(); lblName = new javax.swing.JLabel(); txtType = new javax.swing.JTextField(); lblType = new javax.swing.JLabel(); btnOK = new javax.swing.JButton(); btnClose = new javax.swing.JButton(); scrDesc = new javax.swing.JScrollPane(); txtDesc = new javax.swing.JTextArea(); lblPlanetName = new javax.swing.JLabel(); ResourceBundle resourceMap = ResourceBundle.getBundle("mekhq.resources.CustomizeMissionDialog", new EncodeControl()); //$NON-NLS-1$ setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setName("Form"); // NOI18N setTitle(resourceMap.getString("title")); if(newMission) { setTitle(resourceMap.getString("title.new")); } getContentPane().setLayout(new java.awt.GridBagLayout()); lblName.setText(resourceMap.getString("lblName.text")); // NOI18N lblName.setName("lblName"); // 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(lblName, gridBagConstraints); txtName.setText(mission.getName()); txtName.setName("txtName"); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 0; gridBagConstraints.gridwidth = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); getContentPane().add(txtName, gridBagConstraints); lblType.setText(resourceMap.getString("lblType.text")); // NOI18N lblType.setName("lblType"); // 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(lblType, gridBagConstraints); txtType.setText(mission.getType()); txtType.setName("txtType"); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 1; gridBagConstraints.gridwidth = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); getContentPane().add(txtType, gridBagConstraints); lblPlanetName.setText(resourceMap.getString("lblPlanetName.text")); // NOI18N lblPlanetName.setName("lblPlanetName"); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; gridBagConstraints.gridwidth = 1; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); getContentPane().add(lblPlanetName, gridBagConstraints); suggestPlanet = new JSuggestField(this, campaign.getPlanetNames()); if(!newMission) { suggestPlanet.setText(mission.getPlanetName()); } gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 2; gridBagConstraints.gridwidth = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); getContentPane().add(suggestPlanet, gridBagConstraints); txtDesc.setText(mission.getDescription()); txtDesc.setName("txtDesc"); txtDesc.setEditable(true); txtDesc.setLineWrap(true); txtDesc.setWrapStyleWord(true); txtDesc.setBorder(BorderFactory.createCompoundBorder( BorderFactory.createTitledBorder("Description"), BorderFactory.createEmptyBorder(5,5,5,5))); scrDesc.setViewportView(txtDesc); scrDesc.setPreferredSize(new Dimension(400,200)); scrDesc.setMinimumSize(new Dimension(400,200)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 3; gridBagConstraints.gridwidth = 2; gridBagConstraints.weightx = 1.0; gridBagConstraints.weighty = 1.0; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.insets = new java.awt.Insets(5, 5, 0, 0); getContentPane().add(scrDesc, gridBagConstraints); btnOK.setText(resourceMap.getString("btnOkay.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 = 4; 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("btnCancel.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 = 4; 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 mission.setName(txtName.getText()); mission.setType(txtType.getText()); mission.setPlanetName(suggestPlanet.getText()); mission.setDesc(txtDesc.getText()); if(newMission) { campaign.addMission(mission); } this.setVisible(false); } public int getMissionId() { return mission.getId(); } private void btnCloseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCloseActionPerformed this.setVisible(false); } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton btnClose; private javax.swing.JButton btnOK; private javax.swing.JLabel lblName; private javax.swing.JTextField txtName; private javax.swing.JLabel lblType; private javax.swing.JTextField txtType; private javax.swing.JTextArea txtDesc; private javax.swing.JScrollPane scrDesc; private javax.swing.JLabel lblPlanetName; private JSuggestField suggestPlanet; // End of variables declaration//GEN-END:variables }