/**
   * Extracts information needed by the data request from the controls panel displayed to the user.
   *
   * @param oInfo Object which contains the chart information.
   */
  public void extractBatchSetupInfo(ChartInfo oInfo) throws ModelException {
    super.extractBatchSetupInfo(oInfo);

    int iNumBins = 0;
    float fSizeBins = 0;
    try {
      JTextField jField =
          (JTextField) DataGrapher.findNamedComponent(oInfo.m_jExtraOptions, NUMBER_BINS_NAME);
      Integer oNumBins = new Integer(jField.getText());
      jField = (JTextField) DataGrapher.findNamedComponent(oInfo.m_jExtraOptions, BIN_SIZE_NAME);
      Float oBinSize = new Float(jField.getText());
      iNumBins = oNumBins.intValue();
      fSizeBins = oBinSize.floatValue();
    } catch (java.lang.NumberFormatException oErr) {
      throw (new ModelException(
          ErrorGUI.BAD_DATA,
          "Histogram Request",
          "The value for number " + "of bins or bin size is not a recognized number."));
    }

    if (iNumBins <= 0 || fSizeBins < 0) {
      throw (new ModelException(
          ErrorGUI.BAD_DATA,
          "Stand Table Request",
          "The values for number"
              + " of size classes or size class size must be greater than zero."));
    }

    m_iNumBins = iNumBins;
    m_fBinSize = fSizeBins;

    if (m_fBinSize == 0) {
      m_bRecalcBinsOnUpdate = true;
    } else {
      m_bRecalcBinsOnUpdate = false;
    }
  }