/*
 * NavrhView.java
 */

package cz.vutbr.feec.utko.fojtoval.krypto.windows;

import cz.vutbr.feec.utko.fojtoval.krypto.NavrhApp;
import cz.vutbr.feec.utko.fojtoval.krypto.windows.help.NavrhAboutBox;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JLabel;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JTextPane;
import org.jdesktop.application.Action;
import org.jdesktop.application.ResourceMap;
import org.jdesktop.application.SingleFrameApplication;
import org.jdesktop.application.FrameView;
import org.jdesktop.application.TaskMonitor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Timer;
import javax.swing.Icon;
import javax.swing.JDialog;
import javax.swing.JFrame;
import org.jfree.ui.ExtensionFileFilter;


/**
 * Hlavni okno aplikace.
 */
public class NavrhView extends FrameView {

    public NavrhView(SingleFrameApplication app) {
       super(app);
       getFrame().setResizable(false);
       initComponents();
       ExtensionFileFilter filefilter = new ExtensionFileFilter("Text Files (*.txt)", ".txt");
       jFileChooser1.setFileFilter(filefilter);

        // status bar initialization - message timeout, idle icon and busy animation, etc
        ResourceMap resourceMap = getResourceMap();
        int messageTimeout = resourceMap.getInteger("StatusBar.messageTimeout");
        messageTimer = new Timer(messageTimeout, new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                statusMessageLabel.setText("");
            }
        });
        messageTimer.setRepeats(false);
        int busyAnimationRate = resourceMap.getInteger("StatusBar.busyAnimationRate");
        for (int i = 0; i < busyIcons.length; i++) {
            busyIcons[i] = resourceMap.getIcon("StatusBar.busyIcons[" + i + "]");
        }
        busyIconTimer = new Timer(busyAnimationRate, new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                busyIconIndex = (busyIconIndex + 1) % busyIcons.length;
                statusAnimationLabel.setIcon(busyIcons[busyIconIndex]);
            }
        });
        idleIcon = resourceMap.getIcon("StatusBar.idleIcon");
        statusAnimationLabel.setIcon(idleIcon);
        progressBar.setVisible(false);

        // connecting action tasks to status bar via TaskMonitor
        TaskMonitor taskMonitor = new TaskMonitor(getApplication().getContext());
        taskMonitor.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
            public void propertyChange(java.beans.PropertyChangeEvent evt) {
                String propertyName = evt.getPropertyName();
                if ("started".equals(propertyName)) {
                    if (!busyIconTimer.isRunning()) {
                        statusAnimationLabel.setIcon(busyIcons[0]);
                        busyIconIndex = 0;
                        busyIconTimer.start();
                    }
                    progressBar.setVisible(true);
                    progressBar.setIndeterminate(true);
                } else if ("done".equals(propertyName)) {
                    busyIconTimer.stop();
                    statusAnimationLabel.setIcon(idleIcon);
                    progressBar.setVisible(false);
                    progressBar.setValue(0);
                } else if ("message".equals(propertyName)) {
                    String text = (String)(evt.getNewValue());
                    statusMessageLabel.setText((text == null) ? "" : text);
                    messageTimer.restart();
                } else if ("progress".equals(propertyName)) {
                    int value = (Integer)(evt.getNewValue());
                    progressBar.setVisible(true);
                    progressBar.setIndeterminate(false);
                    progressBar.setValue(value);
                }
            }
        });

    }

    @Action
    public void showAboutBox() {
        if (aboutBox == null) {
            JFrame mainFrame = NavrhApp.getApplication().getMainFrame();
            aboutBox = new NavrhAboutBox(mainFrame);
            aboutBox.setLocationRelativeTo(mainFrame);
        }
        NavrhApp.getApplication().show(aboutBox);
    }

    /** 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();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        presunVlevo = new javax.swing.JButton();
        vymazVpravo = new javax.swing.JButton();
        vymazVlevo = new javax.swing.JButton();
        vymaz = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTextPane1 = new javax.swing.JTextPane();
        jScrollPane2 = new javax.swing.JScrollPane();
        jTextPane2 = new javax.swing.JTextPane();
        jLabel6 = new javax.swing.JLabel();
        jLabel7 = new javax.swing.JLabel();
        jLabel8 = new javax.swing.JLabel();
        vynuluj = new javax.swing.JButton();
        jLabel9 = new javax.swing.JLabel();
        jLabel10 = new javax.swing.JLabel();
        jLabel11 = new javax.swing.JLabel();
        jLabel12 = new javax.swing.JLabel();
        menuBar = new javax.swing.JMenuBar();
        javax.swing.JMenu fileMenu = new javax.swing.JMenu();
        openFile = new javax.swing.JMenuItem();
        saveFile = new javax.swing.JMenuItem();
        javax.swing.JMenuItem exitMenuItem = new javax.swing.JMenuItem();
        jMenu1 = new javax.swing.JMenu();
        textEdit = new javax.swing.JMenuItem();
        copy = new javax.swing.JMenuItem();
        paste = new javax.swing.JMenuItem();
        select = new javax.swing.JMenuItem();
        delete = new javax.swing.JMenuItem();
        jMenu2 = new javax.swing.JMenu();
        jMenu9 = new javax.swing.JMenu();
        jednoduchyPosun = new javax.swing.JMenuItem();
        afinniSifra = new javax.swing.JMenuItem();
        zadaniAbecedy = new javax.swing.JMenuItem();
        nahodnaAbeceda = new javax.swing.JMenuItem();
        zadaniKlice = new javax.swing.JMenuItem();
        jMenu10 = new javax.swing.JMenu();
        vigenere = new javax.swing.JMenuItem();
        vigenereAutoklic = new javax.swing.JMenuItem();
        jMenu11 = new javax.swing.JMenu();
        jednoduchaTranspozice = new javax.swing.JMenuItem();
        jMenu3 = new javax.swing.JMenu();
        jMenu12 = new javax.swing.JMenu();
        jednoduchyPosunLusteni = new javax.swing.JMenuItem();
        afinniSifraLusteni = new javax.swing.JMenuItem();
        zadaniKliceLusteni = new javax.swing.JMenuItem();
        jMenu13 = new javax.swing.JMenu();
        vigenereLusteni = new javax.swing.JMenuItem();
        vigenereAutoklicLusteni = new javax.swing.JMenuItem();
        jMenu5 = new javax.swing.JMenu();
        jednoduchaTranspoziceLusteni = new javax.swing.JMenuItem();
        jMenu6 = new javax.swing.JMenu();
        jMenu4 = new javax.swing.JMenu();
        ic = new javax.swing.JMenuItem();
        prumeric = new javax.swing.JMenuItem();
        eic = new javax.swing.JMenuItem();
        jMenu14 = new javax.swing.JMenu();
        euklidesExten = new javax.swing.JMenuItem();
        euklides = new javax.swing.JMenuItem();
        jMenu7 = new javax.swing.JMenu();
        vymenaJedenZnak = new javax.swing.JMenuItem();
        vymenaVse = new javax.swing.JMenuItem();
        jMenu8 = new javax.swing.JMenu();
        vzdalenosti = new javax.swing.JMenuItem();
        vyhledaniNtic = new javax.swing.JMenuItem();
        freqa = new javax.swing.JMenuItem();
        rozkladPrvocisla = new javax.swing.JMenuItem();
        prevodTabulka = new javax.swing.JMenuItem();
        subtext = new javax.swing.JMenuItem();
        jMenu15 = new javax.swing.JMenu();
        biTrigramy = new javax.swing.JMenuItem();
        indexpismene = new javax.swing.JMenuItem();
        javax.swing.JMenu helpMenu = new javax.swing.JMenu();
        napoveda = new javax.swing.JMenuItem();
        javax.swing.JMenuItem aboutMenuItem = new javax.swing.JMenuItem();
        statusPanel = new javax.swing.JPanel();
        javax.swing.JSeparator statusPanelSeparator = new javax.swing.JSeparator();
        statusMessageLabel = new javax.swing.JLabel();
        statusAnimationLabel = new javax.swing.JLabel();
        progressBar = new javax.swing.JProgressBar();
        jFileChooser1 = new javax.swing.JFileChooser();

        mainPanel.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        mainPanel.setFocusable(false);
        mainPanel.setMaximumSize(new java.awt.Dimension(628, 422));
        mainPanel.setMinimumSize(new java.awt.Dimension(628, 422));
        mainPanel.setName("mainPanel"); // NOI18N
        mainPanel.setPreferredSize(new java.awt.Dimension(628, 422));
        mainPanel.setRequestFocusEnabled(false);

        jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(cz.vutbr.feec.utko.fojtoval.krypto.NavrhApp.class).getContext().getResourceMap(NavrhView.class);
        jLabel1.setText(resourceMap.getString("jLabel1.text")); // NOI18N
        jLabel1.setName("jLabel1"); // NOI18N

        jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel2.setText(resourceMap.getString("jLabel2.text")); // NOI18N
        jLabel2.setName("jLabel2"); // NOI18N

        jLabel3.setBackground(resourceMap.getColor("jLabel3.background")); // NOI18N
        jLabel3.setFont(resourceMap.getFont("jLabel3.font")); // NOI18N
        jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel3.setText(resourceMap.getString("jLabel3.text")); // NOI18N
        jLabel3.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        jLabel3.setMaximumSize(new java.awt.Dimension(220, 14));
        jLabel3.setMinimumSize(new java.awt.Dimension(220, 14));
        jLabel3.setName("jLabel3"); // NOI18N
        jLabel3.setPreferredSize(new java.awt.Dimension(220, 14));

        jLabel4.setFont(resourceMap.getFont("jLabel4.font")); // NOI18N
        jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel4.setText(resourceMap.getString("jLabel4.text")); // NOI18N
        jLabel4.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        jLabel4.setMaximumSize(new java.awt.Dimension(220, 14));
        jLabel4.setMinimumSize(new java.awt.Dimension(220, 14));
        jLabel4.setName("jLabel4"); // NOI18N
        jLabel4.setPreferredSize(new java.awt.Dimension(220, 14));

        jLabel5.setFont(resourceMap.getFont("jLabel5.font")); // NOI18N
        jLabel5.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel5.setText(resourceMap.getString("jLabel5.text")); // NOI18N
        jLabel5.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        jLabel5.setMaximumSize(new java.awt.Dimension(220, 14));
        jLabel5.setMinimumSize(new java.awt.Dimension(220, 14));
        jLabel5.setName("jLabel5"); // NOI18N
        jLabel5.setPreferredSize(new java.awt.Dimension(220, 14));

        presunVlevo.setText(resourceMap.getString("presunVlevo.text")); // NOI18N
        presunVlevo.setMaximumSize(new java.awt.Dimension(97, 23));
        presunVlevo.setMinimumSize(new java.awt.Dimension(0, 0));
        presunVlevo.setName("presunVlevo"); // NOI18N
        presunVlevo.setPreferredSize(new java.awt.Dimension(97, 23));

        vymazVpravo.setText(resourceMap.getString("vymazVpravo.text")); // NOI18N
        vymazVpravo.setMaximumSize(new java.awt.Dimension(97, 23));
        vymazVpravo.setMinimumSize(new java.awt.Dimension(0, 0));
        vymazVpravo.setName("vymazVpravo"); // NOI18N
        vymazVpravo.setPreferredSize(new java.awt.Dimension(97, 23));

        vymazVlevo.setText(resourceMap.getString("vymazVlevo.text")); // NOI18N
        vymazVlevo.setMaximumSize(new java.awt.Dimension(97, 23));
        vymazVlevo.setMinimumSize(new java.awt.Dimension(0, 0));
        vymazVlevo.setName("vymazVlevo"); // NOI18N
        vymazVlevo.setPreferredSize(new java.awt.Dimension(97, 23));

        vymaz.setText(resourceMap.getString("vymaz.text")); // NOI18N
        vymaz.setMinimumSize(new java.awt.Dimension(0, 0));
        vymaz.setName("vymaz"); // NOI18N

        jScrollPane1.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        jScrollPane1.setAutoscrolls(true);
        jScrollPane1.setMaximumSize(new java.awt.Dimension(245, 193));
        jScrollPane1.setMinimumSize(new java.awt.Dimension(245, 193));
        jScrollPane1.setName("jScrollPane1"); // NOI18N
        jScrollPane1.setPreferredSize(new java.awt.Dimension(245, 193));

        jTextPane1.setFont(resourceMap.getFont("jTextPane1.font")); // NOI18N
        jTextPane1.setMaximumSize(new java.awt.Dimension(245, 193));
        jTextPane1.setMinimumSize(new java.awt.Dimension(245, 193));
        jTextPane1.setName("jTextPane1"); // NOI18N
        jTextPane1.setPreferredSize(new java.awt.Dimension(245, 193));
        jScrollPane1.setViewportView(jTextPane1);

        jScrollPane2.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        jScrollPane2.setAutoscrolls(true);
        jScrollPane2.setMaximumSize(new java.awt.Dimension(245, 193));
        jScrollPane2.setMinimumSize(new java.awt.Dimension(245, 193));
        jScrollPane2.setName("jScrollPane2"); // NOI18N
        jScrollPane2.setPreferredSize(new java.awt.Dimension(245, 193));

        jTextPane2.setFont(resourceMap.getFont("jTextPane2.font")); // NOI18N
        jTextPane2.setMaximumSize(new java.awt.Dimension(245, 193));
        jTextPane2.setMinimumSize(new java.awt.Dimension(245, 193));
        jTextPane2.setName("jTextPane2"); // NOI18N
        jTextPane2.setPreferredSize(new java.awt.Dimension(245, 193));
        jScrollPane2.setViewportView(jTextPane2);

        jLabel6.setText(resourceMap.getString("jLabel6.text")); // NOI18N
        jLabel6.setName("jLabel6"); // NOI18N

        jLabel7.setText(resourceMap.getString("jLabel7.text")); // NOI18N
        jLabel7.setName("jLabel7"); // NOI18N

        jLabel8.setText(resourceMap.getString("jLabel8.text")); // NOI18N
        jLabel8.setName("jLabel8"); // NOI18N

        vynuluj.setText(resourceMap.getString("vynuluj.text")); // NOI18N
        vynuluj.setName("vynuluj"); // NOI18N

        jLabel9.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel9.setText(resourceMap.getString("jLabel9.text")); // NOI18N
        jLabel9.setName("jLabel9"); // NOI18N

        jLabel10.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        jLabel10.setText(resourceMap.getString("jLabel10.text")); // NOI18N
        jLabel10.setName("jLabel10"); // NOI18N

        jLabel11.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel11.setText(resourceMap.getString("jLabel11.text")); // NOI18N
        jLabel11.setName("jLabel11"); // NOI18N

        jLabel12.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        jLabel12.setText(resourceMap.getString("jLabel12.text")); // NOI18N
        jLabel12.setName("jLabel12"); // NOI18N

        javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel);
        mainPanel.setLayout(mainPanelLayout);
        mainPanelLayout.setHorizontalGroup(
            mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, mainPanelLayout.createSequentialGroup()
                .addContainerGap(148, Short.MAX_VALUE)
                .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(jLabel8, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jLabel7, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jLabel6, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addComponent(jLabel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jLabel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE, 374, Short.MAX_VALUE))
                .addContainerGap())
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, mainPanelLayout.createSequentialGroup()
                .addContainerGap(322, Short.MAX_VALUE)
                .addComponent(vynuluj)
                .addGap(79, 79, 79))
            .addGroup(mainPanelLayout.createSequentialGroup()
                .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, mainPanelLayout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jLabel9, javax.swing.GroupLayout.PREFERRED_SIZE, 143, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jLabel10, javax.swing.GroupLayout.DEFAULT_SIZE, 98, Short.MAX_VALUE))
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, mainPanelLayout.createSequentialGroup()
                        .addGap(12, 12, 12)
                        .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, 245, Short.MAX_VALUE))))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
                    .addComponent(vymaz, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(vymazVpravo, javax.swing.GroupLayout.DEFAULT_SIZE, 103, Short.MAX_VALUE)
                    .addComponent(vymazVlevo, javax.swing.GroupLayout.DEFAULT_SIZE, 103, Short.MAX_VALUE)
                    .addComponent(presunVlevo, javax.swing.GroupLayout.DEFAULT_SIZE, 103, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, 245, Short.MAX_VALUE))
                        .addGap(11, 11, 11))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addComponent(jLabel11, javax.swing.GroupLayout.PREFERRED_SIZE, 143, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(5, 5, 5)
                        .addComponent(jLabel12, javax.swing.GroupLayout.DEFAULT_SIZE, 98, Short.MAX_VALUE)
                        .addContainerGap())))
        );

        mainPanelLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {presunVlevo, vymaz, vymazVlevo, vymazVpravo});

        mainPanelLayout.setVerticalGroup(
            mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(mainPanelLayout.createSequentialGroup()
                .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addContainerGap()
                        .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel1)
                            .addComponent(jLabel2))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 242, Short.MAX_VALUE)))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(101, 101, 101)
                        .addComponent(presunVlevo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(vymazVpravo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(vymazVlevo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(vymaz, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel9)
                        .addComponent(jLabel10))
                    .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel11)
                        .addComponent(jLabel12)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel6))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel7))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel8))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(vynuluj)
                .addContainerGap())
        );

        mainPanelLayout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {presunVlevo, vymaz, vymazVlevo, vymazVpravo});

        menuBar.setMaximumSize(new java.awt.Dimension(252, 374));
        menuBar.setMinimumSize(new java.awt.Dimension(0, 0));
        menuBar.setName("menuBar"); // NOI18N

        fileMenu.setText(resourceMap.getString("fileMenu.text")); // NOI18N
        fileMenu.setName("fileMenu"); // NOI18N

        openFile.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.CTRL_MASK));
        openFile.setText(resourceMap.getString("openFile.text")); // NOI18N
        openFile.setName("openFile"); // NOI18N
        fileMenu.add(openFile);

        saveFile.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.CTRL_MASK));
        saveFile.setText(resourceMap.getString("saveFile.text")); // NOI18N
        saveFile.setName("saveFile"); // NOI18N
        fileMenu.add(saveFile);

        javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(cz.vutbr.feec.utko.fojtoval.krypto.NavrhApp.class).getContext().getActionMap(NavrhView.class, this);
        exitMenuItem.setAction(actionMap.get("quit")); // NOI18N
        exitMenuItem.setText(resourceMap.getString("exitMenuItem.text")); // NOI18N
        exitMenuItem.setName("exitMenuItem"); // NOI18N
        fileMenu.add(exitMenuItem);

        menuBar.add(fileMenu);

        jMenu1.setText(resourceMap.getString("jMenu1.text")); // NOI18N
        jMenu1.setName("jMenu1"); // NOI18N

        textEdit.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_E, java.awt.event.InputEvent.CTRL_MASK));
        textEdit.setText(resourceMap.getString("textEdit.text")); // NOI18N
        textEdit.setName("textEdit"); // NOI18N
        jMenu1.add(textEdit);

        copy.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_C, java.awt.event.InputEvent.CTRL_MASK));
        copy.setText(resourceMap.getString("copy.text")); // NOI18N
        copy.setName("copy"); // NOI18N
        jMenu1.add(copy);

        paste.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_V, java.awt.event.InputEvent.CTRL_MASK));
        paste.setText(resourceMap.getString("paste.text")); // NOI18N
        paste.setName("paste"); // NOI18N
        jMenu1.add(paste);

        select.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_A, java.awt.event.InputEvent.CTRL_MASK));
        select.setText(resourceMap.getString("select.text")); // NOI18N
        select.setName("select"); // NOI18N
        jMenu1.add(select);

        delete.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_D, java.awt.event.InputEvent.CTRL_MASK));
        delete.setText(resourceMap.getString("delete.text")); // NOI18N
        delete.setName("delete"); // NOI18N
        jMenu1.add(delete);

        menuBar.add(jMenu1);

        jMenu2.setText(resourceMap.getString("jMenu2.text")); // NOI18N
        jMenu2.setName("jMenu2"); // NOI18N

        jMenu9.setText(resourceMap.getString("monoalfa.text")); // NOI18N
        jMenu9.setActionCommand(resourceMap.getString("monoalfa.actionCommand")); // NOI18N
        jMenu9.setName("monoalfa"); // NOI18N

        jednoduchyPosun.setText(resourceMap.getString("jednoduchyPosun.text")); // NOI18N
        jednoduchyPosun.setActionCommand(resourceMap.getString("jednoduchyPosun.actionCommand")); // NOI18N
        jednoduchyPosun.setName("jednoduchyPosun"); // NOI18N
        jMenu9.add(jednoduchyPosun);
        jednoduchyPosun.getAccessibleContext().setAccessibleName(resourceMap.getString("jednoduchyPosun.AccessibleContext.accessibleName")); // NOI18N

        afinniSifra.setText(resourceMap.getString("afinni.text")); // NOI18N
        afinniSifra.setActionCommand(resourceMap.getString("afinni.actionCommand")); // NOI18N
        afinniSifra.setName("afinni"); // NOI18N
        jMenu9.add(afinniSifra);

        zadaniAbecedy.setText(resourceMap.getString("zadaniAbecedy.text")); // NOI18N
        zadaniAbecedy.setName("zadaniAbecedy"); // NOI18N
        jMenu9.add(zadaniAbecedy);

        nahodnaAbeceda.setText(resourceMap.getString("nahodnaAbeceda.text")); // NOI18N
        nahodnaAbeceda.setName("nahodnaAbeceda"); // NOI18N
        jMenu9.add(nahodnaAbeceda);

        zadaniKlice.setText(resourceMap.getString("zadaniKlice.text")); // NOI18N
        zadaniKlice.setName("zadaniKlice"); // NOI18N
        jMenu9.add(zadaniKlice);

        jMenu2.add(jMenu9);

        jMenu10.setText(resourceMap.getString("jMenu10.text")); // NOI18N
        jMenu10.setName("jMenu10"); // NOI18N

        vigenere.setText(resourceMap.getString("vigenere.text")); // NOI18N
        vigenere.setName("vigenere"); // NOI18N
        jMenu10.add(vigenere);

        vigenereAutoklic.setText(resourceMap.getString("vigenereAutoklic.text")); // NOI18N
        vigenereAutoklic.setName("vigenereAutoklic"); // NOI18N
        jMenu10.add(vigenereAutoklic);

        jMenu2.add(jMenu10);

        jMenu11.setText(resourceMap.getString("jMenu11.text")); // NOI18N
        jMenu11.setName("jMenu11"); // NOI18N

        jednoduchaTranspozice.setText(resourceMap.getString("jednoduchaTranspozice.text")); // NOI18N
        jednoduchaTranspozice.setName("jednoduchaTranspozice"); // NOI18N
        jMenu11.add(jednoduchaTranspozice);

        jMenu2.add(jMenu11);

        menuBar.add(jMenu2);

        jMenu3.setText(resourceMap.getString("jMenu3.text")); // NOI18N
        jMenu3.setName("jMenu3"); // NOI18N

        jMenu12.setText(resourceMap.getString("jMenu12.text")); // NOI18N
        jMenu12.setName("jMenu12"); // NOI18N

        jednoduchyPosunLusteni.setText(resourceMap.getString("jednoduchyPosunLusteni.text")); // NOI18N
        jednoduchyPosunLusteni.setName("jednoduchyPosunLusteni"); // NOI18N
        jMenu12.add(jednoduchyPosunLusteni);

        afinniSifraLusteni.setText(resourceMap.getString("afinniSifraLusteni.text")); // NOI18N
        afinniSifraLusteni.setName("afinniSifraLusteni"); // NOI18N
        jMenu12.add(afinniSifraLusteni);

        zadaniKliceLusteni.setText(resourceMap.getString("zadaniKliceLusteni.text")); // NOI18N
        zadaniKliceLusteni.setName("zadaniKliceLusteni"); // NOI18N
        jMenu12.add(zadaniKliceLusteni);

        jMenu3.add(jMenu12);

        jMenu13.setText(resourceMap.getString("jMenu13.text")); // NOI18N
        jMenu13.setName("jMenu13"); // NOI18N

        vigenereLusteni.setText(resourceMap.getString("vigenereLusteni.text")); // NOI18N
        vigenereLusteni.setName("vigenereLusteni"); // NOI18N
        jMenu13.add(vigenereLusteni);

        vigenereAutoklicLusteni.setText(resourceMap.getString("vigenereAutoklicLusteni.text")); // NOI18N
        vigenereAutoklicLusteni.setName("vigenereAutoklicLusteni"); // NOI18N
        jMenu13.add(vigenereAutoklicLusteni);

        jMenu3.add(jMenu13);

        jMenu5.setText(resourceMap.getString("jMenu5.text")); // NOI18N
        jMenu5.setName("jMenu5"); // NOI18N

        jednoduchaTranspoziceLusteni.setText(resourceMap.getString("jednoduchaTranspoziceLusteni.text")); // NOI18N
        jednoduchaTranspoziceLusteni.setName("jednoduchaTranspoziceLusteni"); // NOI18N
        jMenu5.add(jednoduchaTranspoziceLusteni);

        jMenu3.add(jMenu5);

        menuBar.add(jMenu3);

        jMenu6.setText(resourceMap.getString("jMenu6.text")); // NOI18N
        jMenu6.setName("jMenu6"); // NOI18N

        jMenu4.setText(resourceMap.getString("jMenu4.text")); // NOI18N
        jMenu4.setName("jMenu4"); // NOI18N

        ic.setText(resourceMap.getString("ic.text")); // NOI18N
        ic.setName("ic"); // NOI18N
        jMenu4.add(ic);

        prumeric.setText(resourceMap.getString("prumeric.text")); // NOI18N
        prumeric.setName("prumeric"); // NOI18N
        jMenu4.add(prumeric);

        eic.setText(resourceMap.getString("eic.text")); // NOI18N
        eic.setName("eic"); // NOI18N
        jMenu4.add(eic);

        jMenu6.add(jMenu4);

        jMenu14.setText(resourceMap.getString("jMenu14.text")); // NOI18N
        jMenu14.setName("jMenu14"); // NOI18N

        euklidesExten.setText(resourceMap.getString("euklidesExten.text")); // NOI18N
        euklidesExten.setName("euklidesExten"); // NOI18N
        jMenu14.add(euklidesExten);

        euklides.setText(resourceMap.getString("euklides.text")); // NOI18N
        euklides.setName("euklides"); // NOI18N
        jMenu14.add(euklides);

        jMenu6.add(jMenu14);

        jMenu7.setText(resourceMap.getString("jMenu7.text")); // NOI18N
        jMenu7.setName("jMenu7"); // NOI18N

        vymenaJedenZnak.setText(resourceMap.getString("vymenaJedenZnak.text")); // NOI18N
        vymenaJedenZnak.setName("vymenaJedenZnak"); // NOI18N
        jMenu7.add(vymenaJedenZnak);

        vymenaVse.setText(resourceMap.getString("vymenaVse.text")); // NOI18N
        vymenaVse.setName("vymenaVse"); // NOI18N
        jMenu7.add(vymenaVse);

        jMenu6.add(jMenu7);

        jMenu8.setText(resourceMap.getString("jMenu8.text")); // NOI18N
        jMenu8.setName("jMenu8"); // NOI18N

        vzdalenosti.setText(resourceMap.getString("vzdalenosti.text")); // NOI18N
        vzdalenosti.setName("vzdalenosti"); // NOI18N
        jMenu8.add(vzdalenosti);

        vyhledaniNtic.setText(resourceMap.getString("vyhledaniNtic.text")); // NOI18N
        vyhledaniNtic.setName("vyhledaniNtic"); // NOI18N
        jMenu8.add(vyhledaniNtic);

        jMenu6.add(jMenu8);

        freqa.setText(resourceMap.getString("freqa.text")); // NOI18N
        freqa.setName("freqa"); // NOI18N
        jMenu6.add(freqa);

        rozkladPrvocisla.setText(resourceMap.getString("rozkladPrvocisla.text")); // NOI18N
        rozkladPrvocisla.setName("rozkladPrvocisla"); // NOI18N
        jMenu6.add(rozkladPrvocisla);

        prevodTabulka.setText(resourceMap.getString("prevodTabulka.text")); // NOI18N
        prevodTabulka.setName("prevodTabulka"); // NOI18N
        jMenu6.add(prevodTabulka);

        subtext.setText(resourceMap.getString("subtext.text")); // NOI18N
        subtext.setName("subtext"); // NOI18N
        jMenu6.add(subtext);

        jMenu15.setText(resourceMap.getString("jMenu15.text")); // NOI18N
        jMenu15.setName("jMenu15"); // NOI18N

        biTrigramy.setText(resourceMap.getString("biTrigramy.text")); // NOI18N
        biTrigramy.setName("biTrigramy"); // NOI18N
        jMenu15.add(biTrigramy);

        indexpismene.setText(resourceMap.getString("indexpismene.text")); // NOI18N
        indexpismene.setName("indexpismene"); // NOI18N
        jMenu15.add(indexpismene);

        jMenu6.add(jMenu15);

        menuBar.add(jMenu6);

        helpMenu.setText(resourceMap.getString("helpMenu.text")); // NOI18N
        helpMenu.setName("helpMenu"); // NOI18N

        napoveda.setText(resourceMap.getString("napoveda.text")); // NOI18N
        napoveda.setName("napoveda"); // NOI18N
        helpMenu.add(napoveda);

        aboutMenuItem.setAction(actionMap.get("showAboutBox")); // NOI18N
        aboutMenuItem.setText(resourceMap.getString("aboutMenuItem.text")); // NOI18N
        aboutMenuItem.setName("aboutMenuItem"); // NOI18N
        helpMenu.add(aboutMenuItem);

        menuBar.add(helpMenu);

        statusPanel.setMaximumSize(new java.awt.Dimension(252, 374));
        statusPanel.setName("statusPanel"); // NOI18N

        statusPanelSeparator.setName("statusPanelSeparator"); // NOI18N

        statusMessageLabel.setName("statusMessageLabel"); // NOI18N

        statusAnimationLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        statusAnimationLabel.setName("statusAnimationLabel"); // NOI18N

        progressBar.setMinimumSize(new java.awt.Dimension(0, 0));
        progressBar.setName("progressBar"); // NOI18N

        javax.swing.GroupLayout statusPanelLayout = new javax.swing.GroupLayout(statusPanel);
        statusPanel.setLayout(statusPanelLayout);
        statusPanelLayout.setHorizontalGroup(
            statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(statusPanelSeparator, javax.swing.GroupLayout.DEFAULT_SIZE, 628, Short.MAX_VALUE)
            .addGroup(statusPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(statusMessageLabel)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 454, Short.MAX_VALUE)
                .addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(statusAnimationLabel)
                .addContainerGap())
        );
        statusPanelLayout.setVerticalGroup(
            statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(statusPanelLayout.createSequentialGroup()
                .addComponent(statusPanelSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 2, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(statusMessageLabel)
                    .addComponent(statusAnimationLabel)
                    .addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(3, 3, 3))
        );

        jFileChooser1.setMinimumSize(new java.awt.Dimension(0, 0));
        jFileChooser1.setName("jFileChooser1"); // NOI18N

        setComponent(mainPanel);
        setMenuBar(menuBar);
        setStatusBar(statusPanel);
    }// </editor-fold>//GEN-END:initComponents

    
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JMenuItem afinniSifra;
    private javax.swing.JMenuItem afinniSifraLusteni;
    private javax.swing.JMenuItem biTrigramy;
    private javax.swing.JMenuItem copy;
    private javax.swing.JMenuItem delete;
    private javax.swing.JMenuItem eic;
    private javax.swing.JMenuItem euklides;
    private javax.swing.JMenuItem euklidesExten;
    private javax.swing.JMenuItem freqa;
    private javax.swing.JMenuItem ic;
    private javax.swing.JMenuItem indexpismene;
    private javax.swing.JFileChooser jFileChooser1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel11;
    private javax.swing.JLabel jLabel12;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenu jMenu10;
    private javax.swing.JMenu jMenu11;
    private javax.swing.JMenu jMenu12;
    private javax.swing.JMenu jMenu13;
    private javax.swing.JMenu jMenu14;
    private javax.swing.JMenu jMenu15;
    private javax.swing.JMenu jMenu2;
    private javax.swing.JMenu jMenu3;
    private javax.swing.JMenu jMenu4;
    private javax.swing.JMenu jMenu5;
    private javax.swing.JMenu jMenu6;
    private javax.swing.JMenu jMenu7;
    private javax.swing.JMenu jMenu8;
    private javax.swing.JMenu jMenu9;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JTextPane jTextPane1;
    private javax.swing.JTextPane jTextPane2;
    private javax.swing.JMenuItem jednoduchaTranspozice;
    private javax.swing.JMenuItem jednoduchaTranspoziceLusteni;
    private javax.swing.JMenuItem jednoduchyPosun;
    private javax.swing.JMenuItem jednoduchyPosunLusteni;
    private javax.swing.JPanel mainPanel;
    private javax.swing.JMenuBar menuBar;
    private javax.swing.JMenuItem nahodnaAbeceda;
    private javax.swing.JMenuItem napoveda;
    private javax.swing.JMenuItem openFile;
    private javax.swing.JMenuItem paste;
    private javax.swing.JButton presunVlevo;
    private javax.swing.JMenuItem prevodTabulka;
    private javax.swing.JProgressBar progressBar;
    private javax.swing.JMenuItem prumeric;
    private javax.swing.JMenuItem rozkladPrvocisla;
    private javax.swing.JMenuItem saveFile;
    private javax.swing.JMenuItem select;
    private javax.swing.JLabel statusAnimationLabel;
    private javax.swing.JLabel statusMessageLabel;
    private javax.swing.JPanel statusPanel;
    private javax.swing.JMenuItem subtext;
    private javax.swing.JMenuItem textEdit;
    private javax.swing.JMenuItem vigenere;
    private javax.swing.JMenuItem vigenereAutoklic;
    private javax.swing.JMenuItem vigenereAutoklicLusteni;
    private javax.swing.JMenuItem vigenereLusteni;
    private javax.swing.JMenuItem vyhledaniNtic;
    private javax.swing.JButton vymaz;
    private javax.swing.JButton vymazVlevo;
    private javax.swing.JButton vymazVpravo;
    private javax.swing.JMenuItem vymenaJedenZnak;
    private javax.swing.JMenuItem vymenaVse;
    private javax.swing.JButton vynuluj;
    private javax.swing.JMenuItem vzdalenosti;
    private javax.swing.JMenuItem zadaniAbecedy;
    private javax.swing.JMenuItem zadaniKlice;
    private javax.swing.JMenuItem zadaniKliceLusteni;
    // End of variables declaration//GEN-END:variables

    public JLabel getjLabel3() {
        return jLabel3;
    }
    // End of variables declaration

    public JLabel getjLabel10() {
        return jLabel10;
    }
    // End of variables declaration

    public JLabel getjLabel12() {
        return jLabel12;
    }
    // End of variables declaration

    public JMenuItem getNapoveda() {
        return napoveda;
    }
    // End of variables declaration

    public JButton getVynuluj() {
        return vynuluj;
    }
    // End of variables declaration

    public JLabel getjLabel5() {
        return jLabel5;
    }
    // End of variables declaration

    public JMenuItem getIndexpismene() {
        return indexpismene;
    }
    // End of variables declaration

    public JMenuItem getSubtext() {
        return subtext;
    }
    // End of variables declaration

    public JMenuItem getVzdalenosti() {
        return vzdalenosti;
    }
    // End of variables declaration

    public JMenuItem getDelete() {
        return delete;
    }
    // End of variables declaration

    public JMenuItem getEic() {
        return eic;
    }
    // End of variables declaration

    public JMenuItem getSelect() {
        return select;
    }
    // End of variables declaration

    public JButton getPresunVlevo() {
        return presunVlevo;
    }

    public JButton getVymaz() {
        return vymaz;
    }

    public JButton getVymazVlevo() {
        return vymazVlevo;
    }

    public JButton getVymazVpravo() {
        return vymazVpravo;
    }
    // End of variables declaration

    public JMenuItem getVyhledaniNtic() {
        return vyhledaniNtic;
    }
    // End of variables declaration

    public JMenuItem getVymenaJedenZnak() {
        return vymenaJedenZnak;
    }
    // End of variables declaration

    public JMenuItem getVymenaVse() {
        return vymenaVse;
    }

    public JMenuItem getTextEdit() {
        return textEdit;
    }

    public JMenuItem getFreqa() {
        return freqa;
    }

    public JMenuItem getVigenereAutoklicLusteni() {
        return vigenereAutoklicLusteni;
    }

    public JMenuItem getJednoduchaTranspoziceLusteni() {
        return jednoduchaTranspoziceLusteni;
    }

    public JMenuItem getVigenereLusteni() {
        return vigenereLusteni;
    }

    public JMenuItem getZadaniKliceLusteni() {
        return zadaniKliceLusteni;
    }

    public JMenuItem getAfinniSifraLusteni() {
        return afinniSifraLusteni;
    }

    public JMenuItem getJednoduchyPosunLusteni() {
        return jednoduchyPosunLusteni;
    }

    public JMenuItem getJednoduchaTranspozice() {
        return jednoduchaTranspozice;
    }

    public JMenuItem getVigenereAutoklic() {
        return vigenereAutoklic;
    }

    public JMenuItem getVigenere() {
        return vigenere;
    }

    public JMenuItem getZadaniKlice() {
        return zadaniKlice;
    }

    public JMenuItem getNahodnaAbeceda() {
        return nahodnaAbeceda;
    }

    public JMenuItem getZadaniAbecedy() {
        return zadaniAbecedy;
    }

    public JMenuItem getJednoduchyPosun() {
        return jednoduchyPosun;
    }

    public JMenuItem getAfinniSifra() {
        return afinniSifra;
    }

    public JMenuItem getIc() {
        return ic;
    }

    public JMenuItem getBiTrigramy() {
        return biTrigramy;
    }

    public JTextPane getjTextPane1() {
        return jTextPane1;
    }

    public JTextPane getjTextPane2() {
        return jTextPane2;
    }

    public void setjTextPane2(JTextPane jTextPane2) {
        this.jTextPane2 = jTextPane2;
    }

    public JMenuItem getRozkladPrvocisla() {
        return rozkladPrvocisla;
    }

    public JMenuItem getEuklides() {
        return euklides;
    }

    public JMenuItem getEuklidesExten() {
        return euklidesExten;
    }

    public JPanel getMainPanel() {
        return mainPanel;
    }

    public JMenuItem getPrevodTabulka() {
        return prevodTabulka;
    }

    public JMenuItem getOpenFile() {
        return openFile;
    }

    public JMenuItem getSaveFile() {
        return saveFile;
    }

    public JFileChooser getjFileChooser1() {
        return jFileChooser1;
    }

    public JLabel getjLabel4() {
        return jLabel4;
    }

    public JMenuItem getPrumeric() {
        return prumeric;
    }

    public JMenuItem getCopy() {
        return copy;
    }

    public JMenuItem getPaste() {
        return paste;
    }


    private final Timer messageTimer;
    private final Timer busyIconTimer;
    private final Icon idleIcon;
    private final Icon[] busyIcons = new Icon[15];
    private int busyIconIndex = 0;

    private JDialog aboutBox;
}
