Package mate00.parafia.ui

Source Code of mate00.parafia.ui.ParafiaView

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

}
TOP

Related Classes of mate00.parafia.ui.ParafiaView

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.