/** Handles button clicks for dialog. */
  @Override
  public void actionPerformed(ActionEvent e) {
    Object source = e.getSource();

    try {
      btnValue.removeActionListener(this);
      btnObject.removeActionListener(this);

      if (source instanceof JTextField) {
        doTextFieldActionPerformed((JTextField) source);
      }

      // btCancel acts as create for now
      else if (source == btCancel) {

        keepNewGeo = true;
        setVisible(false);

      } else if (source == btApply) {
        // processInput();

        // btOK acts as cancel for now
      } else if (source == btOK) {
        newGeo.remove();
        setVisible(false);
      } else if (source == btnObject) {
        btnValue.setSelected(!btnObject.isSelected());
        createNewGeo();
      } else if (source == btnValue) {
        btnObject.setSelected(!btnValue.isSelected());
        createNewGeo();
      } else if (source == cbScanOrder || source == cbLeftRightOrder || source == ckTranspose) {
        createNewGeo();
      }

      btnValue.addActionListener(this);
      btnObject.addActionListener(this);

    } catch (Exception ex) {
      // do nothing on uninitializedValue
      setVisible(false);
    }
  }