FieldEditorHelper(FieldEditor fieldEditor) {
    this.fieldEditor = fieldEditor;

    fieldNameField = fieldEditor.getFieldNameField();
    fieldNameField.getDocument().addDocumentListener(new FieldNameChangeListener());

    dataTypeCombo = fieldEditor.getDataTypeCombo();
    dataTypeCombo.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            dataTypeComboAction(e);
          }
        });
    calcTypeCombo = fieldEditor.getCalcTypeCombo();
    calcTypeCombo.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            calcTypeComboAction(e);
          }
        });
    lookupViewCombo = fieldEditor.getLookupViewCombo();
    lookupViewCombo.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            lookupViewComboAction(e);
          }
        });
    lookupFieldCombo = fieldEditor.getLookupFieldCombo();
    lookupFieldCombo.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            lookupFieldComboAction(e);
          }
        });
    objRelationshipCombo = fieldEditor.getObjRelationshipCombo();
    objRelationshipCombo.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            objRelationshipComboAction(e);
          }
        });

    objAttributeCombo = fieldEditor.getObjAttributeCombo();
    objAttributeCombo.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            objAttributeComboAction(e);
          }
        });
    defaultValueField = fieldEditor.getDefaultValueField();
    defaultValueField.getDocument().addDocumentListener(new DefaultValueChangeListener());

    captionField = fieldEditor.getCaptionField();
    captionField.getDocument().addDocumentListener(new CaptionChangeListener());

    editableCheckBox = fieldEditor.getEditableCheckBox();
    editableCheckBox.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            editableCheckBoxAction(e);
          }
        });
    visibleCheckBox = fieldEditor.getVisibleCheckBox();
    visibleCheckBox.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            visibleCheckBoxAction(e);
          }
        });
    displayClassField = fieldEditor.getDisplayClassField();
    displayClassField.getDocument().addDocumentListener(new DisplayClassChangeListener());

    displayPatternField = fieldEditor.getDisplayPatternField();
    displayPatternField.getDocument().addDocumentListener(new DisplayPatternChangeListener());

    editClassField = fieldEditor.getEditClassField();
    editClassField.getDocument().addDocumentListener(new EditClassChangeListener());

    editPatternField = fieldEditor.getEditPatternField();
    editPatternField.getDocument().addDocumentListener(new EditPatternChangeListener());

    preferredIndexField = fieldEditor.getPreferredIndexField();
    preferredIndexField.addChangeListener(
        new ChangeListener() {
          public void stateChanged(ChangeEvent e) {
            preferredIndexFieldChanged(e);
          }
        });
  }