package de.unisiegen.gtitool.ui.netbeans; import javax.swing.JPanel; import de.unisiegen.gtitool.core.entities.NonterminalSymbol; import de.unisiegen.gtitool.core.entities.NonterminalSymbolSet; import de.unisiegen.gtitool.core.entities.TerminalSymbolSet; import de.unisiegen.gtitool.ui.style.listener.ParseableChangedListener; /** * The {@link TerminalPanelForm}. * * @author Christian Fehler * @version $Id$ */ @SuppressWarnings ({ "all" }) public class TerminalPanelForm extends JPanel { /** * The serial version uid. */ private static final long serialVersionUID = -5437416890244704729L; /** * The {@link NonterminalSymbolSet}. */ private NonterminalSymbolSet nonterminalSymbolSet = null; /** * The {@link TerminalSymbolSet}. */ private TerminalSymbolSet terminalSymbolSet = null; /** * Allocates a new {@link TerminalPanelForm}. */ public TerminalPanelForm () { initComponents (); styledNonterminalSymbolSetParserPanel .addParseableChangedListener ( new ParseableChangedListener < NonterminalSymbolSet > () { public void parseableChanged ( NonterminalSymbolSet newNonterminalSymbolSet ) { styledTerminalSymbolSetParserPanel .setNonterminalSymbolSet ( newNonterminalSymbolSet ); styledStartNonterminalSymbolParserPanel .setNonterminalSymbolSet ( newNonterminalSymbolSet ); // Parse the symbol sets styledNonterminalSymbolSetParserPanel.parse (); styledTerminalSymbolSetParserPanel.parse (); styledStartNonterminalSymbolParserPanel.parse (); } } ); styledTerminalSymbolSetParserPanel .addParseableChangedListener ( new ParseableChangedListener < TerminalSymbolSet > () { public void parseableChanged ( TerminalSymbolSet newTerminalSymbolSet ) { styledNonterminalSymbolSetParserPanel .setTerminalSymbolSet ( newTerminalSymbolSet ); // Parse the symbol sets styledNonterminalSymbolSetParserPanel.parse (); styledTerminalSymbolSetParserPanel.parse (); styledStartNonterminalSymbolParserPanel.parse (); } } ); styledStartNonterminalSymbolParserPanel .addParseableChangedListener ( new ParseableChangedListener < NonterminalSymbol > () { public void parseableChanged ( NonterminalSymbol newNonterminalSymbol ) { styledNonterminalSymbolSetParserPanel .setStartNonterminalSymbol ( newNonterminalSymbol ); // Parse the nonterminal symbol set styledNonterminalSymbolSetParserPanel.parse (); } } ); } /** * Sets the {@link NonterminalSymbolSet} of this {@link TerminalPanelForm}. * * @param nonterminalSymbolSet The {@link NonterminalSymbolSet} to set. */ public void setNonterminalSymbolSet ( NonterminalSymbolSet nonterminalSymbolSet ) { this.nonterminalSymbolSet = nonterminalSymbolSet; this.styledNonterminalSymbolSetParserPanel .setText ( nonterminalSymbolSet ); this.styledTerminalSymbolSetParserPanel .setNonterminalSymbolSet ( nonterminalSymbolSet ); this.styledStartNonterminalSymbolParserPanel.setNonterminalSymbolSet ( nonterminalSymbolSet ); } /** * Sets the {@link TerminalSymbolSet} of this {@link TerminalPanelForm}. * * @param terminalSymbolSet The {@link TerminalSymbolSet} to set. */ public void setTerminalSymbolSet ( TerminalSymbolSet terminalSymbolSet ) { this.terminalSymbolSet = terminalSymbolSet; this.styledTerminalSymbolSetParserPanel .setText ( terminalSymbolSet ); this.styledNonterminalSymbolSetParserPanel .setTerminalSymbolSet ( terminalSymbolSet ); } /** * Returns the {@link NonterminalSymbolSet}. * * @return The {@link NonterminalSymbolSet}. */ public NonterminalSymbolSet getNonterminalSymbolSet () { return this.nonterminalSymbolSet; } /** * Returns the {@link TerminalSymbolSet}. * * @return The {@link TerminalSymbolSet}. */ public TerminalSymbolSet getTerminalSymbolSet () { return this.terminalSymbolSet; } /** * 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() { java.awt.GridBagConstraints gridBagConstraints; jGTILabelNonterminalSymbols = new de.unisiegen.gtitool.ui.swing.JGTILabel(); styledNonterminalSymbolSetParserPanel = new de.unisiegen.gtitool.ui.style.StyledNonterminalSymbolSetParserPanel(); jGTILabelStartSymbol = new de.unisiegen.gtitool.ui.swing.JGTILabel(); styledStartNonterminalSymbolParserPanel = new de.unisiegen.gtitool.ui.style.StyledStartNonterminalSymbolParserPanel(); jGTILabelTerminalSymbols = new de.unisiegen.gtitool.ui.swing.JGTILabel(); styledTerminalSymbolSetParserPanel = new de.unisiegen.gtitool.ui.style.StyledTerminalSymbolSetParserPanel(); setLayout(new java.awt.GridBagLayout()); java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("de/unisiegen/gtitool/ui/i18n/messages"); // NOI18N jGTILabelNonterminalSymbols.setText(bundle.getString("TerminalPanel.NonterminalSymbols")); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(0, 16, 5, 0); add(jGTILabelNonterminalSymbols, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints.weightx = 1.0; gridBagConstraints.weighty = 1.0; gridBagConstraints.insets = new java.awt.Insets(5, 0, 5, 0); add(styledNonterminalSymbolSetParserPanel, gridBagConstraints); jGTILabelStartSymbol.setText(bundle.getString("TerminalPanel.StartSymbol")); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(5, 16, 5, 0); add(jGTILabelStartSymbol, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(5, 0, 5, 0); add(styledStartNonterminalSymbolParserPanel, gridBagConstraints); jGTILabelTerminalSymbols.setText(bundle.getString("TerminalPanel.TerminalSymbols")); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 4; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(5, 16, 5, 0); add(jGTILabelTerminalSymbols, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 5; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints.weightx = 1.0; gridBagConstraints.weighty = 1.0; gridBagConstraints.insets = new java.awt.Insets(5, 0, 0, 0); add(styledTerminalSymbolSetParserPanel, gridBagConstraints); }// </editor-fold>//GEN-END:initComponents // Variables declaration - do not modify//GEN-BEGIN:variables public de.unisiegen.gtitool.ui.swing.JGTILabel jGTILabelNonterminalSymbols; public de.unisiegen.gtitool.ui.swing.JGTILabel jGTILabelStartSymbol; public de.unisiegen.gtitool.ui.swing.JGTILabel jGTILabelTerminalSymbols; public de.unisiegen.gtitool.ui.style.StyledNonterminalSymbolSetParserPanel styledNonterminalSymbolSetParserPanel; public de.unisiegen.gtitool.ui.style.StyledStartNonterminalSymbolParserPanel styledStartNonterminalSymbolParserPanel; public de.unisiegen.gtitool.ui.style.StyledTerminalSymbolSetParserPanel styledTerminalSymbolSetParserPanel; // End of variables declaration//GEN-END:variables }