/// <summary>
        /// Save or update the spread.
        /// </summary>
        private void buttonSave_Click(object sender, EventArgs e)
        {
            ASReturnCodes retCode = ASReturnCodes.Success;

            if (moveColumnToSpreadDetails())
            {
                if (m_isNewSpread)
                {
                    retCode = m_session.TTAPI.AutospreaderManager.AddSpreadDetails(m_spreadDetails);
                }
                else
                {
                    retCode = m_session.TTAPI.AutospreaderManager.UpdateSpreadDetails(m_spreadDetails);
                }

                if (retCode == ASReturnCodes.Success)
                {
                    Close();
                }
                else
                {
                    MessageBox.Show("spread definition save failed " + System.Enum.GetName(typeof(ASReturnCodes), retCode));
                }
            }
        }
        /// <summary>
        /// Delete an existing spread.
        /// </summary>
        private void buttonDelete_Click(object sender, EventArgs e)
        {
            DataGridViewSelectedCellCollection selectedCells = dataGridViewSpreadView.SelectedCells;

            if (selectedCells.Count > 0)
            {
                SpreadDetails currentSpreadDetails = ((MutableSpreadDetails)selectedCells[0].OwningRow.DataBoundItem).SpreadDetails;

                ASReturnCodes returnCode = m_autospreaderManager.DeleteSpreadDetails(currentSpreadDetails);
                if (returnCode != ASReturnCodes.Success)
                {
                    MessageBox.Show("Delete spread definition failed: " + returnCode.ToString());
                }
            }
        }
        /// <summary>
        /// Rename an existing spread.
        /// </summary>
        private void buttonRename_Click(object sender, EventArgs e)
        {
            DataGridViewSelectedCellCollection selectedCells = dataGridViewSpreadView.SelectedCells;

            if (selectedCells.Count > 0)
            {
                SpreadDetails currentSpreadDetails = ((MutableSpreadDetails)selectedCells[0].OwningRow.DataBoundItem).SpreadDetails;

                string newName = currentSpreadDetails.Name;
                if (InputDialog.InputDialogBox("Rename", "Please enter a new spread name.", ref newName) == System.Windows.Forms.DialogResult.OK)
                {
                    ASReturnCodes returnCode = m_autospreaderManager.RenameSpreadDetails(currentSpreadDetails, newName);
                    if (returnCode != ASReturnCodes.Success)
                    {
                        MessageBox.Show("Rename spread definition failed: " + returnCode.ToString());
                    }
                }
            }
        }