/*
 * GUI.java
 *
 * Created on 16. April 2006, 13:54
 */

package org.jalgo.tests.ebnf.ebnfinput;

/**
 *
 * @author  Johannes, Tom
 */
public class GUI extends javax.swing.JFrame {
    
    /** Creates new form GUI */
    public GUI() {
        
        initComponents();
    }
    
    /** 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.
     */
    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
    private void initComponents() {
        mainPanel = new javax.swing.JPanel();
        inputPanel = new javax.swing.JPanel();
        buttonPanel = new javax.swing.JPanel();
        addParenthLeftButton = new javax.swing.JButton();
        addParenthRightButton = new javax.swing.JButton();
        addBarButton = new javax.swing.JButton();
        addBraceLeftButton = new javax.swing.JButton();
        addBraceRightButton = new javax.swing.JButton();
        addBracketLeftButton = new javax.swing.JButton();
        addBracketRightButton = new javax.swing.JButton();
        addEpsilonButton = new javax.swing.JButton();
        addRuleLeftSideComboBox = new javax.swing.JComboBox();
        addRuleAssignSymbolLabel = new javax.swing.JLabel();
        addRuleRightSideTextbox = new javax.swing.JTextField();
        addRuleButton = new javax.swing.JButton();
        terminalSymbolPanel = new javax.swing.JPanel();
        addTerminalButton = new javax.swing.JButton();
        addTerminalTextField = new javax.swing.JTextField();
        variableSymbolPanel = new javax.swing.JPanel();
        addVariableButton = new javax.swing.JButton();
        addVariableTextField = new javax.swing.JTextField();
        StartvariableLabel = new javax.swing.JLabel();
        startVariableComboBox = new javax.swing.JComboBox();
        finishInputButton = new javax.swing.JButton();
        checkDefinitionButton = new javax.swing.JButton();
        definitionViewPanel = new javax.swing.JSplitPane();
        definitionHeaderViewScrollPanel = new javax.swing.JScrollPane();
        definitionHeaderViewlPanel = new javax.swing.JPanel();
        headerLabel1 = new javax.swing.JLabel();
        headerLabel2 = new javax.swing.JLabel();
        headerLabel3 = new javax.swing.JLabel();
        definitionRulesViewScrollPanel = new javax.swing.JScrollPane();
        definitionRulesViewPanel = new javax.swing.JPanel();
        ruleLabel1 = new javax.swing.JLabel();
        ruleLabel2 = new javax.swing.JLabel();
        ruleLabel3 = new javax.swing.JLabel();
        ruleLabel5 = new javax.swing.JLabel();
        ruleLabel6 = new javax.swing.JLabel();
        ruleLabel7 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setName("EBNF");
        buttonPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Regeln", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 12)));
        addParenthLeftButton.setFont(new java.awt.Font("Tahoma", 0, 20));
        addParenthLeftButton.setText("(");
        addParenthLeftButton.setMargin(new java.awt.Insets(3, 5, 2, 5));

        addParenthRightButton.setFont(new java.awt.Font("Tahoma", 0, 20));
        addParenthRightButton.setText(")");
        addParenthRightButton.setMargin(new java.awt.Insets(3, 5, 2, 5));

        addBarButton.setFont(new java.awt.Font("Tahoma", 0, 20));
        addBarButton.setText("|");
        addBarButton.setMargin(new java.awt.Insets(3, 5, 2, 5));

        addBraceLeftButton.setFont(new java.awt.Font("Tahoma", 0, 20));
        addBraceLeftButton.setText("{");
        addBraceLeftButton.setMargin(new java.awt.Insets(3, 5, 2, 5));

        addBraceRightButton.setFont(new java.awt.Font("Tahoma", 0, 20));
        addBraceRightButton.setText("}");
        addBraceRightButton.setMargin(new java.awt.Insets(3, 5, 2, 5));

        addBracketLeftButton.setFont(new java.awt.Font("Tahoma", 0, 20));
        addBracketLeftButton.setText("[");
        addBracketLeftButton.setMargin(new java.awt.Insets(3, 5, 2, 5));

        addBracketRightButton.setFont(new java.awt.Font("Tahoma", 0, 20));
        addBracketRightButton.setText("]");
        addBracketRightButton.setMargin(new java.awt.Insets(3, 5, 2, 5));

        addEpsilonButton.setFont(new java.awt.Font("Tahoma", 0, 20));
        addEpsilonButton.setText("\u03b5");
        addEpsilonButton.setMargin(new java.awt.Insets(3, 5, 2, 5));

        addRuleLeftSideComboBox.setFont(new java.awt.Font("Tahoma", 0, 16));
        addRuleLeftSideComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "<SimpleExpression>" }));

        addRuleAssignSymbolLabel.setFont(new java.awt.Font("Tahoma", 1, 16));
        addRuleAssignSymbolLabel.setText("::=");

        addRuleRightSideTextbox.setFont(new java.awt.Font("Tahoma", 0, 16));

        addRuleButton.setFont(new java.awt.Font("Tahoma", 0, 16));
        addRuleButton.setText("Hinzuf\u00fcgen");
        addRuleButton.setMargin(new java.awt.Insets(2, 4, 2, 4));

        org.jdesktop.layout.GroupLayout buttonPanelLayout = new org.jdesktop.layout.GroupLayout(buttonPanel);
        buttonPanel.setLayout(buttonPanelLayout);
        buttonPanelLayout.setHorizontalGroup(
            buttonPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(buttonPanelLayout.createSequentialGroup()
                .addContainerGap()
                .add(addRuleLeftSideComboBox, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 135, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(addRuleAssignSymbolLabel)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(buttonPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(buttonPanelLayout.createSequentialGroup()
                        .add(addParenthLeftButton)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(addBarButton)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(addParenthRightButton)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(addBraceLeftButton)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(addBraceRightButton)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(addBracketLeftButton)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(addBracketRightButton)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(addEpsilonButton)
                        .addContainerGap())
                    .add(buttonPanelLayout.createSequentialGroup()
                        .add(addRuleRightSideTextbox, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 371, Short.MAX_VALUE)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(addRuleButton))))
        );
        buttonPanelLayout.setVerticalGroup(
            buttonPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(buttonPanelLayout.createSequentialGroup()
                .addContainerGap()
                .add(buttonPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(buttonPanelLayout.createSequentialGroup()
                        .add(buttonPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                            .add(addBarButton)
                            .add(addParenthRightButton)
                            .add(addBraceLeftButton)
                            .add(addBraceRightButton)
                            .add(addBracketLeftButton)
                            .add(addBracketRightButton)
                            .add(addEpsilonButton)
                            .add(addParenthLeftButton))
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .add(buttonPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                            .add(addRuleButton)
                            .add(addRuleRightSideTextbox, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(addRuleAssignSymbolLabel)))
                    .add(org.jdesktop.layout.GroupLayout.TRAILING, addRuleLeftSideComboBox, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
        );

        terminalSymbolPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Terminalsymbole", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 12)));
        terminalSymbolPanel.setMinimumSize(new java.awt.Dimension(22, 36));
        addTerminalButton.setFont(new java.awt.Font("Tahoma", 0, 16));
        addTerminalButton.setText("Hinzuf\u00fcgen");
        addTerminalButton.setMargin(new java.awt.Insets(2, 4, 2, 4));

        addTerminalTextField.setFont(new java.awt.Font("Tahoma", 0, 14));

        org.jdesktop.layout.GroupLayout terminalSymbolPanelLayout = new org.jdesktop.layout.GroupLayout(terminalSymbolPanel);
        terminalSymbolPanel.setLayout(terminalSymbolPanelLayout);
        terminalSymbolPanelLayout.setHorizontalGroup(
            terminalSymbolPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(org.jdesktop.layout.GroupLayout.TRAILING, terminalSymbolPanelLayout.createSequentialGroup()
                .add(addTerminalTextField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 213, Short.MAX_VALUE)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(addTerminalButton))
        );
        terminalSymbolPanelLayout.setVerticalGroup(
            terminalSymbolPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(terminalSymbolPanelLayout.createSequentialGroup()
                .add(terminalSymbolPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(addTerminalButton)
                    .add(addTerminalTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(40, Short.MAX_VALUE))
        );

        variableSymbolPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Variablensymbole", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 12)));
        addVariableButton.setFont(new java.awt.Font("Tahoma", 0, 16));
        addVariableButton.setText("Hinzuf\u00fcgen");
        addVariableButton.setMargin(new java.awt.Insets(2, 4, 2, 4));

        addVariableTextField.setFont(new java.awt.Font("Tahoma", 0, 14));

        StartvariableLabel.setFont(new java.awt.Font("Tahoma", 0, 12));
        StartvariableLabel.setText("Startvariable:");

        startVariableComboBox.setFont(new java.awt.Font("Tahoma", 0, 12));
        startVariableComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "<SimpleExpression>" }));

        org.jdesktop.layout.GroupLayout variableSymbolPanelLayout = new org.jdesktop.layout.GroupLayout(variableSymbolPanel);
        variableSymbolPanel.setLayout(variableSymbolPanelLayout);
        variableSymbolPanelLayout.setHorizontalGroup(
            variableSymbolPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(org.jdesktop.layout.GroupLayout.TRAILING, variableSymbolPanelLayout.createSequentialGroup()
                .add(addVariableTextField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 215, Short.MAX_VALUE)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(addVariableButton))
            .add(org.jdesktop.layout.GroupLayout.TRAILING, variableSymbolPanelLayout.createSequentialGroup()
                .add(StartvariableLabel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 173, Short.MAX_VALUE)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(startVariableComboBox, 0, 137, Short.MAX_VALUE))
        );
        variableSymbolPanelLayout.setVerticalGroup(
            variableSymbolPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(variableSymbolPanelLayout.createSequentialGroup()
                .add(variableSymbolPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(addVariableButton)
                    .add(addVariableTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(variableSymbolPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(StartvariableLabel)
                    .add(startVariableComboBox, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        finishInputButton.setFont(new java.awt.Font("Tahoma", 1, 14));
        finishInputButton.setText("<html><center>Eingabe<br>beenden</center></html>");

        checkDefinitionButton.setFont(new java.awt.Font("Tahoma", 0, 14));
        checkDefinitionButton.setText("<html><center>Defintion<br>pr\u00fcfenn</center></html>");

        org.jdesktop.layout.GroupLayout inputPanelLayout = new org.jdesktop.layout.GroupLayout(inputPanel);
        inputPanel.setLayout(inputPanelLayout);
        inputPanelLayout.setHorizontalGroup(
            inputPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(inputPanelLayout.createSequentialGroup()
                .addContainerGap()
                .add(inputPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
                    .add(inputPanelLayout.createSequentialGroup()
                        .add(variableSymbolPanel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(terminalSymbolPanel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .add(buttonPanel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(inputPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
                    .add(checkDefinitionButton, 0, 0, Short.MAX_VALUE)
                    .add(finishInputButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 90, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .add(25, 25, 25))
        );
        inputPanelLayout.setVerticalGroup(
            inputPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(inputPanelLayout.createSequentialGroup()
                .addContainerGap()
                .add(inputPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(terminalSymbolPanel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .add(variableSymbolPanel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(inputPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                    .add(buttonPanel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(inputPanelLayout.createSequentialGroup()
                        .add(checkDefinitionButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 49, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(finishInputButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 48, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))))
        );

        definitionViewPanel.setDividerLocation(100);
        definitionViewPanel.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT);
        definitionHeaderViewScrollPanel.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        definitionHeaderViewScrollPanel.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);
        definitionHeaderViewlPanel.setBackground(new java.awt.Color(255, 255, 255));
        headerLabel1.setFont(new java.awt.Font("Tahoma", 0, 16));
        headerLabel1.setText("E = (V, \u03a3, <SimpleExpression>, R)");

        headerLabel2.setFont(new java.awt.Font("Tahoma", 0, 16));
        headerLabel2.setText("V = {<SimpleExpression>, <Term>, <Factor>}");

        headerLabel3.setFont(new java.awt.Font("Tahoma", 0, 16));
        headerLabel3.setText("\u03a3 = {<Ident>, <Number>, +, -, *, /, (, )}");

        org.jdesktop.layout.GroupLayout definitionHeaderViewlPanelLayout = new org.jdesktop.layout.GroupLayout(definitionHeaderViewlPanel);
        definitionHeaderViewlPanel.setLayout(definitionHeaderViewlPanelLayout);
        definitionHeaderViewlPanelLayout.setHorizontalGroup(
            definitionHeaderViewlPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(definitionHeaderViewlPanelLayout.createSequentialGroup()
                .addContainerGap()
                .add(definitionHeaderViewlPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(headerLabel1)
                    .add(headerLabel2)
                    .add(headerLabel3))
                .addContainerGap(1141, Short.MAX_VALUE))
        );
        definitionHeaderViewlPanelLayout.setVerticalGroup(
            definitionHeaderViewlPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(definitionHeaderViewlPanelLayout.createSequentialGroup()
                .addContainerGap()
                .add(headerLabel1)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(headerLabel2)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(headerLabel3)
                .addContainerGap(38, Short.MAX_VALUE))
        );
        definitionHeaderViewScrollPanel.setViewportView(definitionHeaderViewlPanel);

        definitionViewPanel.setTopComponent(definitionHeaderViewScrollPanel);

        definitionRulesViewPanel.setBackground(new java.awt.Color(255, 255, 255));
        ruleLabel1.setFont(new java.awt.Font("Tahoma", 0, 16));
        ruleLabel1.setText("::= [+|-] <Term> {(+|-)<Term>}");

        ruleLabel2.setFont(new java.awt.Font("Tahoma", 0, 16));
        ruleLabel2.setText("::= <Factor> {(*|/|%)<Factor>}");

        ruleLabel3.setFont(new java.awt.Font("Tahoma", 0, 16));
        ruleLabel3.setText("<Factor>");

        ruleLabel5.setFont(new java.awt.Font("Tahoma", 0, 16));
        ruleLabel5.setText("::= <Ident>|<Number>|(<SimpleExpression>)");

        ruleLabel6.setFont(new java.awt.Font("Tahoma", 0, 16));
        ruleLabel6.setText("<Term>");

        ruleLabel7.setFont(new java.awt.Font("Tahoma", 0, 16));
        ruleLabel7.setText("<SimpleExpression>");

        org.jdesktop.layout.GroupLayout definitionRulesViewPanelLayout = new org.jdesktop.layout.GroupLayout(definitionRulesViewPanel);
        definitionRulesViewPanel.setLayout(definitionRulesViewPanelLayout);
        definitionRulesViewPanelLayout.setHorizontalGroup(
            definitionRulesViewPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(definitionRulesViewPanelLayout.createSequentialGroup()
                .addContainerGap()
                .add(definitionRulesViewPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                    .add(ruleLabel3)
                    .add(ruleLabel6)
                    .add(ruleLabel7))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(definitionRulesViewPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(ruleLabel1)
                    .add(ruleLabel2)
                    .add(ruleLabel5))
                .addContainerGap(822, Short.MAX_VALUE))
        );
        definitionRulesViewPanelLayout.setVerticalGroup(
            definitionRulesViewPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(definitionRulesViewPanelLayout.createSequentialGroup()
                .addContainerGap()
                .add(definitionRulesViewPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(ruleLabel1)
                    .add(ruleLabel7))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(definitionRulesViewPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(ruleLabel2)
                    .add(ruleLabel6))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(definitionRulesViewPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(ruleLabel3)
                    .add(ruleLabel5))
                .addContainerGap(278, Short.MAX_VALUE))
        );
        definitionRulesViewScrollPanel.setViewportView(definitionRulesViewPanel);

        definitionViewPanel.setBottomComponent(definitionRulesViewScrollPanel);

        org.jdesktop.layout.GroupLayout mainPanelLayout = new org.jdesktop.layout.GroupLayout(mainPanel);
        mainPanel.setLayout(mainPanelLayout);
        mainPanelLayout.setHorizontalGroup(
            mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(inputPanel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 795, Short.MAX_VALUE)
            .add(definitionViewPanel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 795, Short.MAX_VALUE)
        );
        mainPanelLayout.setVerticalGroup(
            mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(mainPanelLayout.createSequentialGroup()
                .add(inputPanel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(definitionViewPanel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 393, Short.MAX_VALUE))
        );

        org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(mainPanel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(mainPanel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        pack();
    }// </editor-fold>//GEN-END:initComponents
    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new GUI().setVisible(true);
            }
        });
    }
    
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JLabel StartvariableLabel;
    private javax.swing.JButton addBarButton;
    private javax.swing.JButton addBraceLeftButton;
    private javax.swing.JButton addBraceRightButton;
    private javax.swing.JButton addBracketLeftButton;
    private javax.swing.JButton addBracketRightButton;
    private javax.swing.JButton addEpsilonButton;
    private javax.swing.JButton addParenthLeftButton;
    private javax.swing.JButton addParenthRightButton;
    private javax.swing.JLabel addRuleAssignSymbolLabel;
    private javax.swing.JButton addRuleButton;
    private javax.swing.JComboBox addRuleLeftSideComboBox;
    private javax.swing.JTextField addRuleRightSideTextbox;
    private javax.swing.JButton addTerminalButton;
    private javax.swing.JTextField addTerminalTextField;
    private javax.swing.JButton addVariableButton;
    private javax.swing.JTextField addVariableTextField;
    private javax.swing.JPanel buttonPanel;
    private javax.swing.JButton checkDefinitionButton;
    private javax.swing.JScrollPane definitionHeaderViewScrollPanel;
    private javax.swing.JPanel definitionHeaderViewlPanel;
    private javax.swing.JPanel definitionRulesViewPanel;
    private javax.swing.JScrollPane definitionRulesViewScrollPanel;
    private javax.swing.JSplitPane definitionViewPanel;
    private javax.swing.JButton finishInputButton;
    private javax.swing.JLabel headerLabel1;
    private javax.swing.JLabel headerLabel2;
    private javax.swing.JLabel headerLabel3;
    private javax.swing.JPanel inputPanel;
    private javax.swing.JPanel mainPanel;
    private javax.swing.JLabel ruleLabel1;
    private javax.swing.JLabel ruleLabel2;
    private javax.swing.JLabel ruleLabel3;
    private javax.swing.JLabel ruleLabel5;
    private javax.swing.JLabel ruleLabel6;
    private javax.swing.JLabel ruleLabel7;
    private javax.swing.JComboBox startVariableComboBox;
    private javax.swing.JPanel terminalSymbolPanel;
    private javax.swing.JPanel variableSymbolPanel;
    // End of variables declaration//GEN-END:variables
    
}
