package ir.ac.iust.nlp.dependencyparser.utility.parsing;
import ir.ac.iust.nlp.dependencyparser.enumeration.Format;
import ir.ac.iust.nlp.dependencyparser.utility.enumeration.Flowchart;
import javax.swing.SpinnerNumberModel;
/**
*
* @author Mojtaba Khallash
*/
public class MSTSettingsPanel extends javax.swing.JPanel {
/**
* Creates new form MSTSettingsPanel
*/
public MSTSettingsPanel() {
this(Flowchart.Train);
}
public MSTSettingsPanel(Flowchart chart) {
initComponents();
SpinnerNumberModel num_model = new SpinnerNumberModel(10, 1, 10000, 1);
spTrainingIter.setModel(num_model);
num_model = new SpinnerNumberModel(1, 1, 10000, 1);
spTrainigK.setModel(num_model);
if (chart == Flowchart.Parse) {
lblTrainigK.setVisible(false);
spTrainigK.setVisible(false);
lblLossType.setVisible(false);
cboLossType.setVisible(false);
lblTrainingIter.setVisible(false);
spTrainingIter.setVisible(false);
}
}
public int getTrainingIterations() {
return Integer.parseInt(spTrainingIter.getValue().toString());
}
public String getDecodeType() {
return cboDecodeType.getSelectedItem().toString();
}
public int getTrainingK() {
return Integer.parseInt(spTrainigK.getValue().toString());
}
public String getLossType() {
return cboLossType.getSelectedItem().toString();
}
public int getOrder() {
return Integer.parseInt(cboOrder.getSelectedItem().toString());
}
Format targetFormat = Format.CONLL;
public String getFormat() {
return targetFormat.toString();
}
/**
* 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() {
lblDecodeType = new javax.swing.JLabel();
cboDecodeType = new javax.swing.JComboBox();
lblLossType = new javax.swing.JLabel();
cboLossType = new javax.swing.JComboBox();
lblOrder = new javax.swing.JLabel();
cboOrder = new javax.swing.JComboBox();
lblTrainigK = new javax.swing.JLabel();
spTrainigK = new javax.swing.JSpinner();
lblTrainingIter = new javax.swing.JLabel();
spTrainingIter = new javax.swing.JSpinner();
lblType = new javax.swing.JLabel();
cboType = new javax.swing.JComboBox();
lblDecodeType.setText("Decode Type:");
cboDecodeType.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "proj", "non-proj" }));
cboDecodeType.setSelectedIndex(1);
lblLossType.setText("Loss Type:");
cboLossType.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "punc", "nopunc" }));
lblOrder.setText("Order:");
cboOrder.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "1", "2" }));
cboOrder.setSelectedIndex(1);
lblTrainigK.setText("Training K:");
lblTrainingIter.setText("Training Iterations:");
lblType.setText("Type:");
cboType.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "CoNLL", "MST" }));
cboType.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent evt) {
cboType_itemStateChanged(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lblDecodeType)
.addComponent(lblLossType))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED))
.addGroup(layout.createSequentialGroup()
.addComponent(lblOrder)
.addGap(39, 39, 39)))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(cboOrder, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(cboDecodeType, javax.swing.GroupLayout.Alignment.LEADING, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(cboLossType, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 87, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 34, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lblTrainingIter, javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(lblTrainigK, javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(lblType, javax.swing.GroupLayout.Alignment.TRAILING))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(spTrainingIter)
.addComponent(spTrainigK, javax.swing.GroupLayout.DEFAULT_SIZE, 86, Short.MAX_VALUE)
.addComponent(cboType, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblDecodeType)
.addComponent(cboDecodeType, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblLossType)
.addComponent(cboLossType, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(cboOrder, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lblOrder)
.addComponent(lblType)
.addComponent(cboType, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblTrainigK)
.addComponent(spTrainigK, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblTrainingIter)
.addComponent(spTrainingIter, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
}// </editor-fold>//GEN-END:initComponents
private void cboType_itemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_cboType_itemStateChanged
if (cboType.getSelectedItem().toString().equals("MST")) {
targetFormat = Format.MST;
} else {
targetFormat = Format.CONLL;
}
}//GEN-LAST:event_cboType_itemStateChanged
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JComboBox cboDecodeType;
private javax.swing.JComboBox cboLossType;
private javax.swing.JComboBox cboOrder;
private javax.swing.JComboBox cboType;
private javax.swing.JLabel lblDecodeType;
private javax.swing.JLabel lblLossType;
private javax.swing.JLabel lblOrder;
private javax.swing.JLabel lblTrainigK;
private javax.swing.JLabel lblTrainingIter;
private javax.swing.JLabel lblType;
private javax.swing.JSpinner spTrainigK;
private javax.swing.JSpinner spTrainingIter;
// End of variables declaration//GEN-END:variables
}