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
}