package mate00.parafia.ui;
import java.awt.AWTException;
import java.awt.HeadlessException;
import java.awt.Image;
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.SystemTray;
import java.awt.Toolkit;
import java.awt.TrayIcon;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JCheckBox;
import javax.swing.JComponent;
import javax.swing.JDialog;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JTextField;
import mate00.parafia.net.Expedition;
import mate00.parafia.net.ExpeditionDetails;
import org.jdesktop.application.Action;
import org.jdesktop.application.SingleFrameApplication;
import org.jdesktop.application.FrameView;
import mate00.parafia.net.MinistrantWorker;
import mate00.parafia.net.UnitType;
public class ParafiaView extends FrameView {
public static final String ELEMENT_RECRUITS_RATIO = "recruitsRatio";
public static final String ELEMENT_HEALTH_RATIO = "healthRatio";
public static final String ELEMENT_ENERGY_RATIO = "energyRatio";
public static final String ELEMENT_CASH_RATIO = "cashRatio";
public static final String ELEMENT_BANK_RATIO = "bankRatio";
public static final String ELEMENT_TEXT_AREA = "textArea";
private int mDelay;
private String mLogin, mPass;
private boolean mShouldWorkerWork;
private Map<JCheckBox, Set<JComponent>> mConfigPanelMap;
private Set<JComponent> mSelectedCheckBoxSet = new HashSet<JComponent>();
private Thread mWorkerStarter;
private Configuration mWorkerConfig;
private ExpeditionDetails mDetails;
private SystemTray tray;
private TrayIcon trayIcon;
public ParafiaView(SingleFrameApplication app) {
super(app);
initComponents();
loadUnitTypeCheckbox();
initConfigPanels();
btnStop.setEnabled(false);
mWorkerConfig = new Configuration();
mDetails = new ExpeditionDetails();
initTray();
}
private void initTray() {
if (SystemTray.isSupported()) {
tray = SystemTray.getSystemTray();
Image image = Toolkit.getDefaultToolkit().getImage("resources/busyicons/busy-icon0.png");
PopupMenu popup = new PopupMenu();
MenuItem openItem = new MenuItem("Open");
openItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("show");
ParafiaView.this.getFrame().setVisible(true);
}
});
popup.add(openItem);
MenuItem exitItem = new MenuItem("Exit");
exitItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("Exit");
System.exit(0);
}
});
popup.add(exitItem);
MenuItem hideItem = new MenuItem("Hide");
hideItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("hide");
ParafiaView.this.getFrame().setVisible(false);
}
});
popup.add(hideItem);
trayIcon = new TrayIcon(image, "SystemTray Demo", popup);
trayIcon.setImageAutoSize(true);
try {
tray.add(trayIcon);
} catch (AWTException ex) {
Logger.getLogger(ParafiaView.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
@Action
public void start() {
if(!buyUnitsCheckbox.isSelected() &&
!doQuestCheckbox.isSelected() &&
!saveCashCheckbox.isSelected() &&
!withdrawCheckbox.isSelected() &&
!dewocjonalnikCheckbox.isSelected() &&
!sendPilgrimsCheckbox.isSelected()) {
textAreaLog.append("Zaznacz czynność do wykonywania (quest/wojsko/kasa)\n");
return;
}
textAreaLog.append("config: " + mWorkerConfig.toString() + "\n");
mDelay = parseNumberInput(inputDelay, 5);
loadCredentials();
mWorkerStarter = new Thread(new Runnable() {
Expedition expedition = new Expedition();
public void run() {
mShouldWorkerWork = true;
expedition.setTripPeriod(mDetails.getHours(), mDetails.getDays());
while(mShouldWorkerWork) {
MinistrantWorker worker = new MinistrantWorker(ParafiaView.this);
worker.setConfiguration(mWorkerConfig);
worker.setExpeditionDetails(mDetails);
worker.setExpedition(expedition);
worker.execute();
sleepInMins(mDelay);
}
}
});
btnStart.setEnabled(false);
btnStop.setEnabled(true);
enableConfigPanels(false);
mWorkerStarter.start();
}
@Action
public void stop() {
mShouldWorkerWork = false;
mWorkerStarter.interrupt();
btnStart.setEnabled(true);
btnStop.setEnabled(false);
enableConfigPanels(true);
textAreaLog.append("WÄ…tek zatrzymany.\n");
}
@Action
public void clearLog() {
textAreaLog.setText("");
}
@Action
public void onLoadConfig() {
final JFileChooser fileChooser = new JFileChooser(".");
int retVal = fileChooser.showOpenDialog(ParafiaApp.getApplication().getMainFrame());
switch(retVal) {
case JFileChooser.APPROVE_OPTION:
File configFile = fileChooser.getSelectedFile();
ConfigurationReader cr = new ConfigurationReader(configFile);
mWorkerConfig = cr.getConfig();
setUIFromConfig(mWorkerConfig);
break;
case JFileChooser.CANCEL_OPTION:
break;
default:
break;
}
}
private void setUIFromConfig(Configuration config) {
if(config == null) {
return;
}
if(config.getLogin() != null) {
inputMail.setText(config.getLogin());
}
if(config.getPass() != null) {
inputPassword.setText(config.getPass());
}
inputDelay.setText(String.valueOf(config.getDelay()));
doQuestCheckbox.setSelected(config.isDoQuest());
inputQuestNo.setText(String.valueOf(config.getQuestNo()));
inputMinHealth.setText(String.valueOf(config.getMinHealth()));
inputMinEnergy.setText(String.valueOf(config.getMinEnergy()));
switchQuestCheckbox();
buyUnitsCheckbox.setSelected(config.isBuyUnits());
unitsDropList.setSelectedItem(config.getUnitType().getName());
inputUnitsNumber.setText(String.valueOf(config.getNumOfUnits()));
switchBuyUnitsCheckbox();
saveCashCheckbox.setSelected(config.isSaveCash());
inputIfMoreThan.setText(String.valueOf(config.getCashToSave()));
switchSaveCashCheckbox();
withdrawCheckbox.setSelected(config.isWithdrawCash());
inputIfLessThan.setText(String.valueOf(config.getCashToWithdraw()));
switchWithdrawCheckbox();
dewocjonalnikCheckbox.setSelected(config.isDewocjonalnik());
switchDewocjonalnik();
}
@Action
public void onQuestCheckBoxChange() {
switchQuestCheckbox();
}
private void switchQuestCheckbox() {
boolean isSelected = doQuestCheckbox.isSelected();
if(isSelected) {
mSelectedCheckBoxSet.add(doQuestCheckbox);
} else {
mSelectedCheckBoxSet.remove(doQuestCheckbox);
}
inputQuestNo.setEnabled(isSelected);
inputMinHealth.setEnabled(isSelected);
inputMinEnergy.setEnabled(isSelected);
lblQuestNo.setEnabled(isSelected);
lblMinEnergy.setEnabled(isSelected);
lblMinHealth.setEnabled(isSelected);
mWorkerConfig.setDoQuest(isSelected);
}
@Action
public void onBuyUnitsCheckBoxChange() {
switchBuyUnitsCheckbox();
}
private void switchBuyUnitsCheckbox() {
boolean isSelected = buyUnitsCheckbox.isSelected();
if(isSelected) {
mSelectedCheckBoxSet.add(buyUnitsCheckbox);
} else {
mSelectedCheckBoxSet.remove(buyUnitsCheckbox);
}
lblUnitType.setEnabled(isSelected);
unitsDropList.setEnabled(isSelected);
lblUnitsNumber.setEnabled(isSelected);
inputUnitsNumber.setEnabled(isSelected);
mWorkerConfig.setBuyUnits(isSelected);
String typeName = (String) unitsDropList.getSelectedItem();
mWorkerConfig.setUnitType(getUnitByName(typeName));
}
@Action
public void onSaveCashCheckBoxChange() {
switchSaveCashCheckbox();
}
private void switchSaveCashCheckbox() {
boolean isSelected = saveCashCheckbox.isSelected();
if(isSelected) {
mSelectedCheckBoxSet.add(saveCashCheckbox);
} else {
mSelectedCheckBoxSet.remove(saveCashCheckbox);
}
lblIfMoreThan.setEnabled(isSelected);
inputIfMoreThan.setEnabled(isSelected);
mWorkerConfig.setSaveCash(isSelected);
}
@Action
public void onWithdrawCashCheckBoxChange() {
switchWithdrawCheckbox();
}
private void switchWithdrawCheckbox() {
boolean isSelected = withdrawCheckbox.isSelected();
if(isSelected) {
mSelectedCheckBoxSet.add(withdrawCheckbox);
} else {
mSelectedCheckBoxSet.remove(withdrawCheckbox);
}
lblIfLessThan.setEnabled(isSelected);
inputIfLessThan.setEnabled(isSelected);
mWorkerConfig.setWithdrawCash(isSelected);
}
@Action
public void onDewocjonalnikCheckBoxChange() {
switchDewocjonalnik();
}
private void switchDewocjonalnik() {
boolean isSelected = dewocjonalnikCheckbox.isSelected();
if(isSelected) {
mSelectedCheckBoxSet.add(dewocjonalnikCheckbox);
} else {
mSelectedCheckBoxSet.remove(dewocjonalnikCheckbox);
}
mWorkerConfig.setDewocjonalnik(isSelected);
}
@Action
public void onPilgrimCheckboxChange() {
boolean isSelected = sendPilgrimsCheckbox.isSelected();
if(isSelected) {
mSelectedCheckBoxSet.add(sendPilgrimsCheckbox);
} else {
mSelectedCheckBoxSet.remove(sendPilgrimsCheckbox);
}
btnPilgrimSettings.setEnabled(isSelected);
mWorkerConfig.setSendExpeditions(isSelected);
}
@Action
public void showQuestCalc() {
JFrame mainFrame = ParafiaApp.getApplication().getMainFrame();
JDialog questCalcDialog = new QuestCalcView(mainFrame, false);
questCalcDialog.setLocationRelativeTo(mainFrame);
ParafiaApp.getApplication().show(questCalcDialog);
}
@Action
public void showPilgrimReturnDialog() {
JFrame mainFrame = ParafiaApp.getApplication().getMainFrame();
JDialog pilgrimReturnDialog = new DatePicker(mainFrame, mDetails);
pilgrimReturnDialog.setLocationRelativeTo(mainFrame);
ParafiaApp.getApplication().show(pilgrimReturnDialog);
}
public void updateUIElements(Map<String, String> map) {
if(map == null) {
return;
}
lblRecruitsRatio.setText(map.get(ELEMENT_RECRUITS_RATIO));
lblHealthRatio.setText(map.get(ELEMENT_HEALTH_RATIO));
lblEnergyRatio.setText(map.get(ELEMENT_ENERGY_RATIO));
lblCashRatio.setText(map.get(ELEMENT_CASH_RATIO));
lblBankRatio.setText(map.get(ELEMENT_BANK_RATIO));
textAreaLog.append(map.get(ELEMENT_TEXT_AREA) + "\n");
}
private void initConfigPanels() {
mConfigPanelMap = new HashMap<JCheckBox, Set<JComponent>>();
Set<JComponent> questItems = new HashSet<JComponent>();
questItems.add(lblMinEnergy);
questItems.add(lblMinHealth);
questItems.add(lblQuestNo);
questItems.add(inputMinEnergy);
questItems.add(inputMinHealth);
questItems.add(inputQuestNo);
Set<JComponent> unitItems = new HashSet<JComponent>();
unitItems.add(lblUnitType);
unitItems.add(lblUnitsNumber);
unitItems.add(unitsDropList);
unitItems.add(inputUnitsNumber);
Set<JComponent> saveCashItems = new HashSet<JComponent>();
saveCashItems.add(lblIfMoreThan);
saveCashItems.add(inputIfMoreThan);
Set<JComponent> withdrawCashItems = new HashSet<JComponent>();
withdrawCashItems.add(lblIfLessThan);
withdrawCashItems.add(inputIfLessThan);
Set<JComponent> pilgrimItems = new HashSet<JComponent>();
pilgrimItems.add(btnPilgrimSettings);
mConfigPanelMap.put(doQuestCheckbox, questItems);
mConfigPanelMap.put(buyUnitsCheckbox, unitItems);
mConfigPanelMap.put(saveCashCheckbox, saveCashItems);
mConfigPanelMap.put(withdrawCheckbox, withdrawCashItems);
mConfigPanelMap.put(dewocjonalnikCheckbox, null);
mConfigPanelMap.put(sendPilgrimsCheckbox, pilgrimItems);
}
private void loadUnitTypeCheckbox() {
UnitType[] uTypes = UnitType.values();
for(UnitType type : uTypes) {
unitsDropList.addItem(type.getName());
}
unitsDropList.setSelectedIndex(0);
}
public UnitType getUnitByName(String name) {
if(name.equals("Ministrant")) {
return UnitType.MinistrantUnit;
}
if(name.equals("Lektor")) {
return UnitType.LektorUnit;
}
if(name.equals("Organista")) {
return UnitType.OrganistaUnit;
}
if(name.equals("Dewotka")) {
return UnitType.DewotkaUnit;
}
if(name.equals("Moher")) {
return UnitType.MoherowaUnit;
}
if(name.equals("Gospodyni")) {
return UnitType.GospodyniUnit;
}
return UnitType.MinistrantUnit;
}
private void readUIConfiguration(Configuration conf) {
if(buyUnitsCheckbox.isSelected()) {
conf.setBuyUnits(true);
conf.setUnitType(getUnitByName((String)unitsDropList.getSelectedItem()));//UnitType.valueOf((String)unitsDropList.getSelectedItem()));
conf.setNumOfUnits(parseNumberInput(inputUnitsNumber, 0));
} else {
conf.setBuyUnits(false);
}
if(doQuestCheckbox.isSelected()) {
conf.setDoQuest(true);
conf.setQuestNo(parseNumberInput(inputQuestNo, 0));
conf.setMinEnergy(parseNumberInput(inputMinEnergy, 0));
conf.setMinHealth(parseNumberInput(inputMinHealth, 0));
} else {
conf.setDoQuest(false);
}
if(saveCashCheckbox.isSelected()) {
conf.setSaveCash(true);
conf.setCashToSave(parseNumberInput(inputIfMoreThan, 0));
} else {
conf.setSaveCash(false);
}
if(withdrawCheckbox.isSelected()) {
conf.setWithdrawCash(true);
conf.setCashToWithdraw(parseNumberInput(inputIfLessThan, 0));
} else {
conf.setWithdrawCash(false);
}
if(dewocjonalnikCheckbox.isSelected()) {
conf.setDewocjonalnik(true);
} else {
conf.setDewocjonalnik(false);
}
conf.setLogin(mLogin);
conf.setPass(mPass);
}
private int parseNumberInput(JTextField field, int defult) {
int result = defult;
if(field == null) {
return result;
}
try {
result = Integer.parseInt(field.getText());
} catch (NumberFormatException e) {
field.setText(String.valueOf(defult));
return result;
}
return result;
}
private void sleepInMins(int time) {
try {
Thread.sleep(1000 * 60 * time);
} catch (InterruptedException e) {}
}
private void enableConfigPanels(boolean enable) {
Iterator<JComponent> itSelected = mSelectedCheckBoxSet.iterator(); // get a Set of selected checkboxes
Set<JCheckBox> boxes = mConfigPanelMap.keySet(); // get all panels' checkboxes
Iterator<JCheckBox> itBoxes = boxes.iterator();
while(itBoxes.hasNext()) {
itBoxes.next().setEnabled(enable);
}
JCheckBox box;
Set<JComponent> components;
while(itSelected.hasNext()) {
box = (JCheckBox) itSelected.next();
box.setEnabled(enable);
components = mConfigPanelMap.get(box);
if(components != null) {
Iterator<JComponent> itComps = components.iterator();
while(itComps.hasNext()) {
JComponent c = itComps.next();
c.setEnabled(enable);
}
}
}
}
private void loadCredentials() {
if(inputMail != null && !inputMail.getText().equals("")) {
mLogin = inputMail.getText();
}
char[] pass = inputPassword.getPassword();
if(pass != null) {
mPass = new String(pass);
}
}
/** 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() {
mainPanel = new javax.swing.JPanel();
credentialsPanel = new javax.swing.JPanel();
lblMail = new javax.swing.JLabel();
inputMail = new javax.swing.JTextField();
lblPassword = new javax.swing.JLabel();
inputPassword = new javax.swing.JPasswordField();
lblInterval = new javax.swing.JLabel();
inputDelay = new javax.swing.JTextField();
statusPanel = new javax.swing.JPanel();
lblRecruits = new javax.swing.JLabel();
lblRecruitsRatio = new javax.swing.JLabel();
lblHealth = new javax.swing.JLabel();
lblHealthRatio = new javax.swing.JLabel();
lblEnergy = new javax.swing.JLabel();
lblEnergyRatio = new javax.swing.JLabel();
lblCash = new javax.swing.JLabel();
lblCashRatio = new javax.swing.JLabel();
lblBank = new javax.swing.JLabel();
lblBankRatio = new javax.swing.JLabel();
panelQuest = new javax.swing.JPanel();
doQuestCheckbox = new javax.swing.JCheckBox();
lblQuestNo = new javax.swing.JLabel();
inputQuestNo = new javax.swing.JTextField();
lblMinHealth = new javax.swing.JLabel();
inputMinHealth = new javax.swing.JTextField();
lblMinEnergy = new javax.swing.JLabel();
inputMinEnergy = new javax.swing.JTextField();
panelUnits = new javax.swing.JPanel();
buyUnitsCheckbox = new javax.swing.JCheckBox();
lblUnitType = new javax.swing.JLabel();
unitsDropList = new javax.swing.JComboBox();
lblUnitsNumber = new javax.swing.JLabel();
inputUnitsNumber = new javax.swing.JTextField();
sendPilgrimsCheckbox = new javax.swing.JCheckBox();
btnPilgrimSettings = new javax.swing.JButton();
panelCash = new javax.swing.JPanel();
saveCashCheckbox = new javax.swing.JCheckBox();
lblIfMoreThan = new javax.swing.JLabel();
inputIfMoreThan = new javax.swing.JTextField();
withdrawCheckbox = new javax.swing.JCheckBox();
lblIfLessThan = new javax.swing.JLabel();
inputIfLessThan = new javax.swing.JTextField();
dewocjonalnikCheckbox = new javax.swing.JCheckBox();
btnStart = new javax.swing.JButton();
textAreaScrollPanel = new javax.swing.JScrollPane();
textAreaLog = new javax.swing.JTextArea();
btnClearLog = new javax.swing.JButton();
btnStop = new javax.swing.JButton();
btnShowCalc = new javax.swing.JButton();
btnLoadConfig = new javax.swing.JButton();
mainPanel.setName("mainPanel"); // NOI18N
credentialsPanel.setName("credentialsPanel"); // NOI18N
org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(mate00.parafia.ui.ParafiaApp.class).getContext().getResourceMap(ParafiaView.class);
lblMail.setText(resourceMap.getString("lblMail.text")); // NOI18N
lblMail.setName("lblMail"); // NOI18N
inputMail.setText(resourceMap.getString("inputMail.text")); // NOI18N
inputMail.setName("inputMail"); // NOI18N
inputMail.setPreferredSize(new java.awt.Dimension(76, 20));
inputMail.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
inputMailFocusLost(evt);
}
});
lblPassword.setText(resourceMap.getString("lblPassword.text")); // NOI18N
lblPassword.setName("lblPassword"); // NOI18N
inputPassword.setText(resourceMap.getString("inputPassword.text")); // NOI18N
inputPassword.setName("inputPassword"); // NOI18N
inputPassword.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
inputPasswordFocusLost(evt);
}
});
javax.swing.GroupLayout credentialsPanelLayout = new javax.swing.GroupLayout(credentialsPanel);
credentialsPanel.setLayout(credentialsPanelLayout);
credentialsPanelLayout.setHorizontalGroup(
credentialsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, credentialsPanelLayout.createSequentialGroup()
.addGroup(credentialsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(lblPassword)
.addComponent(lblMail))
.addGap(10, 10, 10)
.addGroup(credentialsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(inputPassword, javax.swing.GroupLayout.DEFAULT_SIZE, 123, Short.MAX_VALUE)
.addComponent(inputMail, javax.swing.GroupLayout.DEFAULT_SIZE, 123, Short.MAX_VALUE)))
);
credentialsPanelLayout.setVerticalGroup(
credentialsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(credentialsPanelLayout.createSequentialGroup()
.addGap(27, 27, 27)
.addGroup(credentialsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(inputMail, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lblMail))
.addGap(14, 14, 14)
.addGroup(credentialsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(inputPassword, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lblPassword))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
lblInterval.setText(resourceMap.getString("lblInterval.text")); // NOI18N
lblInterval.setName("lblInterval"); // NOI18N
inputDelay.setText(resourceMap.getString("inputDelay.text")); // NOI18N
inputDelay.setName("inputDelay"); // NOI18N
statusPanel.setBorder(javax.swing.BorderFactory.createEtchedBorder());
statusPanel.setName("statusPanel"); // NOI18N
lblRecruits.setFont(new java.awt.Font("Tahoma", 1, 12));
lblRecruits.setText(resourceMap.getString("lblRecruits.text")); // NOI18N
lblRecruits.setName("lblRecruits"); // NOI18N
lblRecruitsRatio.setFont(new java.awt.Font("Tahoma", 1, 12));
lblRecruitsRatio.setText(resourceMap.getString("lblRecruitsRatio.text")); // NOI18N
lblRecruitsRatio.setName("lblRecruitsRatio"); // NOI18N
lblHealth.setFont(new java.awt.Font("Tahoma", 1, 12));
lblHealth.setText(resourceMap.getString("lblHealth.text")); // NOI18N
lblHealth.setName("lblHealth"); // NOI18N
lblHealthRatio.setFont(new java.awt.Font("Tahoma", 1, 12));
lblHealthRatio.setText(resourceMap.getString("lblHealthRatio.text")); // NOI18N
lblHealthRatio.setName("lblHealthRatio"); // NOI18N
lblEnergy.setFont(new java.awt.Font("Tahoma", 1, 12));
lblEnergy.setText(resourceMap.getString("lblEnergy.text")); // NOI18N
lblEnergy.setName("lblEnergy"); // NOI18N
lblEnergyRatio.setFont(new java.awt.Font("Tahoma", 1, 12));
lblEnergyRatio.setText(resourceMap.getString("lblEnergyRatio.text")); // NOI18N
lblEnergyRatio.setName("lblEnergyRatio"); // NOI18N
lblCash.setFont(new java.awt.Font("Tahoma", 1, 12));
lblCash.setText(resourceMap.getString("lblCash.text")); // NOI18N
lblCash.setName("lblCash"); // NOI18N
lblCashRatio.setFont(new java.awt.Font("Tahoma", 1, 12));
lblCashRatio.setText(resourceMap.getString("lblCashRatio.text")); // NOI18N
lblCashRatio.setName("lblCashRatio"); // NOI18N
lblBank.setFont(new java.awt.Font("Tahoma", 1, 12));
lblBank.setText(resourceMap.getString("lblBank.text")); // NOI18N
lblBank.setName("lblBank"); // NOI18N
lblBankRatio.setFont(new java.awt.Font("Tahoma", 1, 12));
lblBankRatio.setText(resourceMap.getString("lblBankRatio.text")); // NOI18N
lblBankRatio.setName("lblBankRatio"); // NOI18N
javax.swing.GroupLayout statusPanelLayout = new javax.swing.GroupLayout(statusPanel);
statusPanel.setLayout(statusPanelLayout);
statusPanelLayout.setHorizontalGroup(
statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(statusPanelLayout.createSequentialGroup()
.addContainerGap()
.addComponent(lblRecruits)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(lblRecruitsRatio)
.addGap(18, 18, 18)
.addComponent(lblHealth)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(lblHealthRatio)
.addGap(18, 18, 18)
.addComponent(lblEnergy)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(lblEnergyRatio)
.addGap(18, 18, 18)
.addComponent(lblCash)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(lblCashRatio)
.addGap(18, 18, 18)
.addComponent(lblBank)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(lblBankRatio)
.addContainerGap(131, Short.MAX_VALUE))
);
statusPanelLayout.setVerticalGroup(
statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, statusPanelLayout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblRecruits)
.addComponent(lblRecruitsRatio)
.addComponent(lblHealth)
.addComponent(lblHealthRatio)
.addComponent(lblEnergy)
.addComponent(lblEnergyRatio)
.addComponent(lblCash)
.addComponent(lblCashRatio)
.addComponent(lblBank)
.addComponent(lblBankRatio))
.addContainerGap())
);
panelQuest.setBorder(javax.swing.BorderFactory.createTitledBorder(resourceMap.getString("panelQuest.border.title"))); // NOI18N
panelQuest.setName("panelQuest"); // NOI18N
javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(mate00.parafia.ui.ParafiaApp.class).getContext().getActionMap(ParafiaView.class, this);
doQuestCheckbox.setAction(actionMap.get("onQuestCheckBoxChange")); // NOI18N
doQuestCheckbox.setText(resourceMap.getString("doQuestCheckbox.text")); // NOI18N
doQuestCheckbox.setName("doQuestCheckbox"); // NOI18N
lblQuestNo.setText(resourceMap.getString("lblQuestNo.text")); // NOI18N
lblQuestNo.setEnabled(false);
lblQuestNo.setName("lblQuestNo"); // NOI18N
inputQuestNo.setText(resourceMap.getString("inputQuestNo.text")); // NOI18N
inputQuestNo.setEnabled(false);
inputQuestNo.setName("inputQuestNo"); // NOI18N
inputQuestNo.setPreferredSize(new java.awt.Dimension(34, 20));
inputQuestNo.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
inputQuestNoFocusLost(evt);
}
});
lblMinHealth.setText(resourceMap.getString("lblMinHealth.text")); // NOI18N
lblMinHealth.setEnabled(false);
lblMinHealth.setName("lblMinHealth"); // NOI18N
inputMinHealth.setText(resourceMap.getString("inputMinHealth.text")); // NOI18N
inputMinHealth.setEnabled(false);
inputMinHealth.setName("inputMinHealth"); // NOI18N
inputMinHealth.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
inputMinHealthFocusLost(evt);
}
});
lblMinEnergy.setText(resourceMap.getString("lblMinEnergy.text")); // NOI18N
lblMinEnergy.setEnabled(false);
lblMinEnergy.setName("lblMinEnergy"); // NOI18N
inputMinEnergy.setText(resourceMap.getString("inputMinEnergy.text")); // NOI18N
inputMinEnergy.setEnabled(false);
inputMinEnergy.setName("inputMinEnergy"); // NOI18N
inputMinEnergy.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
inputMinEnergyFocusLost(evt);
}
});
javax.swing.GroupLayout panelQuestLayout = new javax.swing.GroupLayout(panelQuest);
panelQuest.setLayout(panelQuestLayout);
panelQuestLayout.setHorizontalGroup(
panelQuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelQuestLayout.createSequentialGroup()
.addGroup(panelQuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(doQuestCheckbox)
.addGroup(panelQuestLayout.createSequentialGroup()
.addComponent(lblQuestNo)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(inputQuestNo, javax.swing.GroupLayout.DEFAULT_SIZE, 66, Short.MAX_VALUE))
.addGroup(panelQuestLayout.createSequentialGroup()
.addGroup(panelQuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lblMinHealth)
.addComponent(lblMinEnergy))
.addGap(17, 17, 17)
.addGroup(panelQuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(inputMinEnergy, javax.swing.GroupLayout.DEFAULT_SIZE, 73, Short.MAX_VALUE)
.addComponent(inputMinHealth, javax.swing.GroupLayout.DEFAULT_SIZE, 73, Short.MAX_VALUE))))
.addContainerGap())
);
panelQuestLayout.setVerticalGroup(
panelQuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelQuestLayout.createSequentialGroup()
.addComponent(doQuestCheckbox)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(panelQuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblQuestNo)
.addComponent(inputQuestNo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(panelQuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(inputMinHealth, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lblMinHealth))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(panelQuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(inputMinEnergy, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lblMinEnergy))
.addContainerGap(86, Short.MAX_VALUE))
);
panelUnits.setBorder(javax.swing.BorderFactory.createTitledBorder(resourceMap.getString("panelUnits.border.title"))); // NOI18N
panelUnits.setName("panelUnits"); // NOI18N
buyUnitsCheckbox.setAction(actionMap.get("onBuyUnitsCheckBoxChange")); // NOI18N
buyUnitsCheckbox.setText(resourceMap.getString("buyUnitsCheckbox.text")); // NOI18N
buyUnitsCheckbox.setName("buyUnitsCheckbox"); // NOI18N
lblUnitType.setText(resourceMap.getString("lblUnitType.text")); // NOI18N
lblUnitType.setEnabled(false);
lblUnitType.setName("lblUnitType"); // NOI18N
unitsDropList.setEnabled(false);
unitsDropList.setName("unitsDropList"); // NOI18N
unitsDropList.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
unitsDropListFocusLost(evt);
}
});
lblUnitsNumber.setText(resourceMap.getString("lblUnitsNumber.text")); // NOI18N
lblUnitsNumber.setEnabled(false);
lblUnitsNumber.setName("lblUnitsNumber"); // NOI18N
inputUnitsNumber.setText(resourceMap.getString("inputUnitsNumber.text")); // NOI18N
inputUnitsNumber.setEnabled(false);
inputUnitsNumber.setName("inputUnitsNumber"); // NOI18N
inputUnitsNumber.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
inputUnitsNumberFocusLost(evt);
}
});
sendPilgrimsCheckbox.setAction(actionMap.get("onPilgrimCheckboxChange")); // NOI18N
sendPilgrimsCheckbox.setText(resourceMap.getString("sendPilgrimsCheckbox.text")); // NOI18N
sendPilgrimsCheckbox.setName("sendPilgrimsCheckbox"); // NOI18N
btnPilgrimSettings.setAction(actionMap.get("showPilgrimReturnDialog")); // NOI18N
btnPilgrimSettings.setText(resourceMap.getString("btnPilgrimSettings.text")); // NOI18N
btnPilgrimSettings.setName("btnPilgrimSettings"); // NOI18N
javax.swing.GroupLayout panelUnitsLayout = new javax.swing.GroupLayout(panelUnits);
panelUnits.setLayout(panelUnitsLayout);
panelUnitsLayout.setHorizontalGroup(
panelUnitsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelUnitsLayout.createSequentialGroup()
.addGroup(panelUnitsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelUnitsLayout.createSequentialGroup()
.addGroup(panelUnitsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lblUnitType)
.addComponent(lblUnitsNumber))
.addGap(30, 30, 30)
.addGroup(panelUnitsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(unitsDropList, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(inputUnitsNumber, javax.swing.GroupLayout.DEFAULT_SIZE, 93, Short.MAX_VALUE)))
.addComponent(buyUnitsCheckbox)
.addComponent(sendPilgrimsCheckbox))
.addContainerGap(16, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelUnitsLayout.createSequentialGroup()
.addContainerGap(84, Short.MAX_VALUE)
.addComponent(btnPilgrimSettings)
.addContainerGap())
);
panelUnitsLayout.setVerticalGroup(
panelUnitsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelUnitsLayout.createSequentialGroup()
.addComponent(buyUnitsCheckbox)
.addGap(12, 12, 12)
.addGroup(panelUnitsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(unitsDropList, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lblUnitType))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(panelUnitsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(inputUnitsNumber, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lblUnitsNumber))
.addGap(18, 18, 18)
.addComponent(sendPilgrimsCheckbox)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btnPilgrimSettings)
.addContainerGap(22, Short.MAX_VALUE))
);
panelCash.setBorder(javax.swing.BorderFactory.createTitledBorder(resourceMap.getString("panelCash.border.title"))); // NOI18N
panelCash.setName("panelCash"); // NOI18N
saveCashCheckbox.setAction(actionMap.get("onSaveCashCheckBoxChange")); // NOI18N
saveCashCheckbox.setText(resourceMap.getString("saveCashCheckbox.text")); // NOI18N
saveCashCheckbox.setName("saveCashCheckbox"); // NOI18N
lblIfMoreThan.setText(resourceMap.getString("lblIfMoreThan.text")); // NOI18N
lblIfMoreThan.setEnabled(false);
lblIfMoreThan.setName("lblIfMoreThan"); // NOI18N
inputIfMoreThan.setText(resourceMap.getString("inputIfMoreThan.text")); // NOI18N
inputIfMoreThan.setEnabled(false);
inputIfMoreThan.setName("inputIfMoreThan"); // NOI18N
inputIfMoreThan.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
inputIfMoreThanFocusLost(evt);
}
});
withdrawCheckbox.setAction(actionMap.get("onWithdrawCashCheckBoxChange")); // NOI18N
withdrawCheckbox.setText(resourceMap.getString("withdrawCheckbox.text")); // NOI18N
withdrawCheckbox.setName("withdrawCheckbox"); // NOI18N
lblIfLessThan.setText(resourceMap.getString("lblIfLessThan.text")); // NOI18N
lblIfLessThan.setEnabled(false);
lblIfLessThan.setName("lblIfLessThan"); // NOI18N
inputIfLessThan.setText(resourceMap.getString("inputIfLessThan.text")); // NOI18N
inputIfLessThan.setEnabled(false);
inputIfLessThan.setName("inputIfLessThan"); // NOI18N
inputIfLessThan.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
inputIfLessThanFocusLost(evt);
}
});
dewocjonalnikCheckbox.setAction(actionMap.get("onDewocjonalnikCheckBoxChange")); // NOI18N
dewocjonalnikCheckbox.setText(resourceMap.getString("dewocjonalnikCheckbox.text")); // NOI18N
dewocjonalnikCheckbox.setName("dewocjonalnikCheckbox"); // NOI18N
javax.swing.GroupLayout panelCashLayout = new javax.swing.GroupLayout(panelCash);
panelCash.setLayout(panelCashLayout);
panelCashLayout.setHorizontalGroup(
panelCashLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelCashLayout.createSequentialGroup()
.addGroup(panelCashLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelCashLayout.createSequentialGroup()
.addComponent(lblIfMoreThan)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 14, Short.MAX_VALUE)
.addComponent(inputIfMoreThan, javax.swing.GroupLayout.PREFERRED_SIZE, 81, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(withdrawCheckbox)
.addGroup(panelCashLayout.createSequentialGroup()
.addComponent(lblIfLessThan)
.addGap(18, 18, 18)
.addComponent(inputIfLessThan, javax.swing.GroupLayout.PREFERRED_SIZE, 82, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(dewocjonalnikCheckbox)
.addComponent(saveCashCheckbox))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
panelCashLayout.setVerticalGroup(
panelCashLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelCashLayout.createSequentialGroup()
.addComponent(saveCashCheckbox)
.addGap(12, 12, 12)
.addGroup(panelCashLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblIfMoreThan)
.addComponent(inputIfMoreThan, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(withdrawCheckbox)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(panelCashLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblIfLessThan)
.addComponent(inputIfLessThan, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(dewocjonalnikCheckbox)
.addContainerGap(34, Short.MAX_VALUE))
);
btnStart.setAction(actionMap.get("start")); // NOI18N
btnStart.setText(resourceMap.getString("btnStart.text")); // NOI18N
btnStart.setName("btnStart"); // NOI18N
textAreaScrollPanel.setName("textAreaScrollPanel"); // NOI18N
textAreaLog.setColumns(20);
textAreaLog.setFont(new java.awt.Font("Monospaced", 0, 12));
textAreaLog.setLineWrap(true);
textAreaLog.setRows(5);
textAreaLog.setName("textAreaLog"); // NOI18N
textAreaScrollPanel.setViewportView(textAreaLog);
btnClearLog.setAction(actionMap.get("clearLog")); // NOI18N
btnClearLog.setText(resourceMap.getString("btnClearLog.text")); // NOI18N
btnClearLog.setName("btnClearLog"); // NOI18N
btnStop.setAction(actionMap.get("stop")); // NOI18N
btnStop.setText(resourceMap.getString("btnStop.text")); // NOI18N
btnStop.setName("btnStop"); // NOI18N
btnShowCalc.setAction(actionMap.get("showQuestCalc")); // NOI18N
btnShowCalc.setText(resourceMap.getString("btnShowCalc.text")); // NOI18N
btnShowCalc.setName("btnShowCalc"); // NOI18N
btnLoadConfig.setAction(actionMap.get("onLoadConfig")); // NOI18N
btnLoadConfig.setText(resourceMap.getString("btnLoadConfig.text")); // NOI18N
btnLoadConfig.setName("btnLoadConfig"); // NOI18N
javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel);
mainPanel.setLayout(mainPanelLayout);
mainPanelLayout.setHorizontalGroup(
mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(statusPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(mainPanelLayout.createSequentialGroup()
.addContainerGap()
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(credentialsPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnLoadConfig)
.addGroup(mainPanelLayout.createSequentialGroup()
.addComponent(lblInterval)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(inputDelay, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(18, 18, 18)
.addComponent(panelQuest, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(panelUnits, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(panelCash, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(mainPanelLayout.createSequentialGroup()
.addContainerGap()
.addComponent(btnStart)
.addGap(18, 18, 18)
.addComponent(btnClearLog)
.addGap(18, 18, 18)
.addComponent(btnStop)
.addGap(18, 18, 18)
.addComponent(btnShowCalc)
.addContainerGap(464, Short.MAX_VALUE))
.addComponent(textAreaScrollPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 862, Short.MAX_VALUE)
);
mainPanelLayout.setVerticalGroup(
mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(mainPanelLayout.createSequentialGroup()
.addComponent(statusPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(6, 6, 6)
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(mainPanelLayout.createSequentialGroup()
.addGap(6, 6, 6)
.addComponent(credentialsPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btnLoadConfig)
.addGap(18, 18, 18)
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblInterval)
.addComponent(inputDelay, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(mainPanelLayout.createSequentialGroup()
.addGap(18, 18, 18)
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(panelQuest, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(panelUnits, javax.swing.GroupLayout.DEFAULT_SIZE, 231, Short.MAX_VALUE)
.addComponent(panelCash, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
.addGap(21, 21, 21)
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(btnStart)
.addComponent(btnClearLog)
.addComponent(btnStop)
.addComponent(btnShowCalc))
.addGap(18, 18, 18)
.addComponent(textAreaScrollPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 175, Short.MAX_VALUE))
);
setComponent(mainPanel);
}// </editor-fold>//GEN-END:initComponents
private void inputQuestNoFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_inputQuestNoFocusLost
int num = this.parseNumberInput(inputQuestNo, 0);
mWorkerConfig.setQuestNo(num);
}//GEN-LAST:event_inputQuestNoFocusLost
private void inputMinHealthFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_inputMinHealthFocusLost
int num = this.parseNumberInput(inputMinHealth, 0);
mWorkerConfig.setMinHealth(num);
}//GEN-LAST:event_inputMinHealthFocusLost
private void inputMinEnergyFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_inputMinEnergyFocusLost
int num = this.parseNumberInput(inputMinEnergy, 0);
mWorkerConfig.setMinEnergy(num);
}//GEN-LAST:event_inputMinEnergyFocusLost
private void inputUnitsNumberFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_inputUnitsNumberFocusLost
int num = this.parseNumberInput(inputUnitsNumber, 0);
mWorkerConfig.setNumOfUnits(num);
}//GEN-LAST:event_inputUnitsNumberFocusLost
private void inputIfMoreThanFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_inputIfMoreThanFocusLost
int num = this.parseNumberInput(inputIfMoreThan, 0);
mWorkerConfig.setCashToSave(num);
}//GEN-LAST:event_inputIfMoreThanFocusLost
private void inputIfLessThanFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_inputIfLessThanFocusLost
int num = this.parseNumberInput(inputIfLessThan, 0);
mWorkerConfig.setCashToWithdraw(num);
}//GEN-LAST:event_inputIfLessThanFocusLost
private void unitsDropListFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_unitsDropListFocusLost
String typeName = (String)this.unitsDropList.getSelectedItem();
UnitType uType = getUnitByName(typeName);
mWorkerConfig.setUnitType(uType);
}//GEN-LAST:event_unitsDropListFocusLost
private void inputMailFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_inputMailFocusLost
mWorkerConfig.setLogin(inputMail.getText());
}//GEN-LAST:event_inputMailFocusLost
private void inputPasswordFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_inputPasswordFocusLost
mWorkerConfig.setPass(new String(inputPassword.getPassword()));
}//GEN-LAST:event_inputPasswordFocusLost
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton btnClearLog;
private javax.swing.JButton btnLoadConfig;
private javax.swing.JButton btnPilgrimSettings;
private javax.swing.JButton btnShowCalc;
private javax.swing.JButton btnStart;
private javax.swing.JButton btnStop;
private javax.swing.JCheckBox buyUnitsCheckbox;
private javax.swing.JPanel credentialsPanel;
private javax.swing.JCheckBox dewocjonalnikCheckbox;
private javax.swing.JCheckBox doQuestCheckbox;
private javax.swing.JTextField inputDelay;
private javax.swing.JTextField inputIfLessThan;
private javax.swing.JTextField inputIfMoreThan;
private javax.swing.JTextField inputMail;
private javax.swing.JTextField inputMinEnergy;
private javax.swing.JTextField inputMinHealth;
private javax.swing.JPasswordField inputPassword;
private javax.swing.JTextField inputQuestNo;
private javax.swing.JTextField inputUnitsNumber;
private javax.swing.JLabel lblBank;
private javax.swing.JLabel lblBankRatio;
private javax.swing.JLabel lblCash;
private javax.swing.JLabel lblCashRatio;
private javax.swing.JLabel lblEnergy;
private javax.swing.JLabel lblEnergyRatio;
private javax.swing.JLabel lblHealth;
private javax.swing.JLabel lblHealthRatio;
private javax.swing.JLabel lblIfLessThan;
private javax.swing.JLabel lblIfMoreThan;
private javax.swing.JLabel lblInterval;
private javax.swing.JLabel lblMail;
private javax.swing.JLabel lblMinEnergy;
private javax.swing.JLabel lblMinHealth;
private javax.swing.JLabel lblPassword;
private javax.swing.JLabel lblQuestNo;
private javax.swing.JLabel lblRecruits;
private javax.swing.JLabel lblRecruitsRatio;
private javax.swing.JLabel lblUnitType;
private javax.swing.JLabel lblUnitsNumber;
private javax.swing.JPanel mainPanel;
private javax.swing.JPanel panelCash;
private javax.swing.JPanel panelQuest;
private javax.swing.JPanel panelUnits;
private javax.swing.JCheckBox saveCashCheckbox;
private javax.swing.JCheckBox sendPilgrimsCheckbox;
private javax.swing.JPanel statusPanel;
private javax.swing.JTextArea textAreaLog;
private javax.swing.JScrollPane textAreaScrollPanel;
private javax.swing.JComboBox unitsDropList;
private javax.swing.JCheckBox withdrawCheckbox;
// End of variables declaration//GEN-END:variables
}