private void updateTextField(int idx) {
    if (idx >= 0 && idx < parserList.size()) {
      ErrorParser parser = (ErrorParser) parserList.get(idx);
      errText.setText(parser.getErrorRegex());
      warnText.setText(parser.getWarningRegex());
      infoText.setText(parser.getInfoRegex());

      boolean editable = ((ErrorParser) parserList.get(idx)).isEditable();
      errText.setEditable(editable);
      warnText.setEditable(editable);
      infoText.setEditable(editable);
      m_ErrorPatternButton.setEnabled(editable);
      m_WarnPatternButton.setEnabled(editable);
      m_InfoPatternButton.setEnabled(editable);
    } else {
      errText.setText("");
      warnText.setText("");
      infoText.setText("");
      errText.setEditable(false);
      warnText.setEditable(false);
      infoText.setEditable(false);
      m_ErrorPatternButton.setEnabled(false);
      m_WarnPatternButton.setEnabled(false);
      m_InfoPatternButton.setEnabled(false);
    }
  }
  /**
   * add new parser
   *
   * @param newCompiler compiler name
   */
  private void addParser(String newCompiler) {
    ErrorParser newParser = new ErrorParser(newCompiler);
    newParser.setRegex("", "", "");
    parserList.add(newParser);
    updateSelection();

    changeSelection(parserList.size() - 1);
  }
 protected void performDefaults() {
   super.performDefaults();
   ErrorParser.setDefaultParsers();
   initializeSelection();
 }
 public boolean performOk() {
   super.performOk();
   ErrorParser.setParserList(parserList);
   return true;
 }
 public void modifyText(ModifyEvent e) {
   int idx = compilerList.getSelectionIndex();
   ErrorParser parser = (ErrorParser) parserList.get(idx);
   parser.setRegex(mode, text.getText());
 }
  private void initializeSelection() {
    parserList = ErrorParser.getParserList();

    updateSelection();
    changeSelection(0);
  }