/**
   * Action Listener - start dialog
   *
   * @param e Event
   */
  public void actionPerformed(ActionEvent e) {
    if (e.getActionCommand().equals(RecordInfo.CHANGE_LOG_COMMAND)) {
      RecordInfo.start(m_mField);
      return;
    }
    if (!m_button.isEnabled()) return;
    m_button.setEnabled(false);
    //
    Integer oldValue = (Integer) getValue();
    int S_ResourceAssignment_ID = oldValue == null ? 0 : oldValue.intValue();
    MResourceAssignment ma = new MResourceAssignment(Env.getCtx(), S_ResourceAssignment_ID, null);

    //	Start VAssignment Dialog
    if (S_ResourceAssignment_ID != 0) {
      VAssignmentDialog vad = new VAssignmentDialog(Env.getFrame(this), ma, true, true);
      ma = vad.getMResourceAssignment();
    }
    //	Start InfoSchedule directly
    else {
      InfoSchedule is = new InfoSchedule(Env.getFrame(this), ma, true);
      ma = is.getMResourceAssignment();
    }

    //	Set Value
    if (ma != null && ma.getS_ResourceAssignment_ID() != 0) {
      setValue(new Integer(ma.getS_ResourceAssignment_ID()));
      try {
        fireVetoableChange(this.getName(), new Object(), getValue());
      } catch (PropertyVetoException pve) {
        log.log(Level.SEVERE, "", pve);
      }
    }
    m_button.setEnabled(true);
    requestFocus();
  } //	actionPerformed
 /**
  * Set Field - NOP
  *
  * @param mField MField
  */
 public void setField(GridField mField) {
   m_mField = mField;
   if (m_mField != null) RecordInfo.addMenu(this, popupMenu);
 } //	setField