Smrf.NodeXL.ExcelTemplate.MergeDuplicateEdgesUserSettingsDialog.DoDataExchange C# (CSharp) Method

DoDataExchange() protected method

protected DoDataExchange ( Boolean bFromControls ) : Boolean
bFromControls Boolean
return Boolean
    DoDataExchange
    (
        Boolean bFromControls
    )
    {
        if (bFromControls)
        {
            Boolean bCountDuplicates = chkCountDuplicates.Checked;
            Boolean bDeleteDuplicates = chkDeleteDuplicates.Checked;

            if (!bCountDuplicates && !bDeleteDuplicates)
            {
                return ( OnInvalidControl(chkCountDuplicates,
                    "Specify whether you want to count or merge duplicate"
                    + " edges."
                    ) );
            }

            String sThirdColumnNameForDuplicateDetection = null;

            if (
                radVerticesAndColumn.Checked
                &&
                !ValidateRequiredComboBox(
                    cbxThirdColumnNameForDuplicateDetection,

                    "Enter or select the column to use for determining"
                        + " whether edges are duplicates.",

                    out sThirdColumnNameForDuplicateDetection) )
            {
                return (false);
            }

            m_oMergeDuplicateEdgesUserSettings.CountDuplicates =
                bCountDuplicates;

            m_oMergeDuplicateEdgesUserSettings.DeleteDuplicates =
                bDeleteDuplicates;

            m_oMergeDuplicateEdgesUserSettings
                .ThirdColumnNameForDuplicateDetection
                = sThirdColumnNameForDuplicateDetection;
        }
        else
        {
            chkCountDuplicates.Checked =
                m_oMergeDuplicateEdgesUserSettings.CountDuplicates;

            chkDeleteDuplicates.Checked =
                m_oMergeDuplicateEdgesUserSettings.DeleteDuplicates;

            String sThirdColumnNameForDuplicateDetection =
                m_oMergeDuplicateEdgesUserSettings
                .ThirdColumnNameForDuplicateDetection;

            if ( String.IsNullOrEmpty(sThirdColumnNameForDuplicateDetection) )
            {
                radVerticesOnly.Checked = true;
            }
            else
            {
                radVerticesAndColumn.Checked = true;

                cbxThirdColumnNameForDuplicateDetection.Text =
                    sThirdColumnNameForDuplicateDetection;
            }

            EnableControls();
        }

        return (true);
    }