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 }