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

DoDataExchange() protected method

protected DoDataExchange ( System.Boolean bFromControls ) : System.Boolean
bFromControls System.Boolean
return System.Boolean
    DoDataExchange
    (
        Boolean bFromControls
    )
    {
        if (bFromControls)
        {
            Boolean bUseSpecifiedVertexImageSize =
                radUseSpecifiedVertexImageSize.Checked;

            Single fEdgeWidth, fRelativeArrowSize, fVertexRadius,
                fVertexRelativeOuterGlowSize, fVertexAlpha, fEdgeAlpha;

            Single fVertexImageSize = 0;

            if (
                !ValidateNumericUpDown(nudVertexRadius,
                    "a size for simple vertex shapes", out fVertexRadius)
                ||
                ( bUseSpecifiedVertexImageSize &&
                    !ValidateNumericUpDown(nudVertexImageSize,
                    "a size for vertex images", out fVertexImageSize) )
                ||
                !ValidateNumericUpDown(nudVertexAlpha, "a vertex opacity",
                    out fVertexAlpha)
                ||
                !ValidateNumericUpDown(nudVertexRelativeOuterGlowSize,
                    "a vertex glow width", out fVertexRelativeOuterGlowSize)
                ||
                !ValidateNumericUpDown(nudEdgeWidth,
                    "a width for unselected edges", out fEdgeWidth)
                ||
                !ValidateNumericUpDown(nudRelativeArrowSize,
                    "an edge arrow size", out fRelativeArrowSize)
                ||
                !ValidateNumericUpDown(nudEdgeAlpha, "an edge opacity",
                    out fEdgeAlpha)
                )
            {
                return (false);
            }

            m_oGeneralUserSettingsDialogUserSettings.TabControlSelectedIndex =
                tcTabControl.SelectedIndex;

            m_oGeneralUserSettings.BackColor = usrBackColor.Color;

            m_oGeneralUserSettings.BackgroundImageUri =
                txbBackgroundImageUri.Text;

            m_oGeneralUserSettings.EdgeWidth = fEdgeWidth;
            m_oGeneralUserSettings.RelativeArrowSize = fRelativeArrowSize;
            m_oGeneralUserSettings.EdgeColor = usrEdgeColor.Color;
            m_oGeneralUserSettings.EdgeAlpha = fEdgeAlpha;

            m_oGeneralUserSettings.SelectedEdgeColor =
                usrSelectedEdgeColor.Color;

            DoDataExchangeEdgeCurvature(true);

            m_oGeneralUserSettings.VertexShape =
                (VertexShape)cbxVertexShape.SelectedValue;

            m_oGeneralUserSettings.VertexRadius = fVertexRadius;

            m_oGeneralUserSettings.VertexImageSize =
                bUseSpecifiedVertexImageSize ? fVertexImageSize :
                new Nullable<Single>();

            m_oGeneralUserSettings.VertexColor = usrVertexColor.Color;
            m_oGeneralUserSettings.VertexAlpha = fVertexAlpha;

            m_oGeneralUserSettings.VertexRelativeOuterGlowSize =
                fVertexRelativeOuterGlowSize;

            DoDataExchangeVertexEffect(true);

            m_oGeneralUserSettings.SelectedVertexColor =
                usrSelectedVertexColor.Color;

            m_oGeneralUserSettings.AutoSelect = chkAutoSelect.Checked;
            m_oGeneralUserSettings.AxisFont = m_oAxisFont;
            m_oGeneralUserSettings.LabelUserSettings = m_oLabelUserSettings;

            m_oGeneralUserSettings.AutoReadWorkbook =
                chkAutoReadWorkbook.Checked;
        }
        else
        {
            tcTabControl.SelectedIndex =
                m_oGeneralUserSettingsDialogUserSettings.
                TabControlSelectedIndex;

            usrBackColor.Color = m_oGeneralUserSettings.BackColor;

            txbBackgroundImageUri.Text =
                m_oGeneralUserSettings.BackgroundImageUri;

            nudEdgeWidth.Value = (Decimal)m_oGeneralUserSettings.EdgeWidth;

            nudRelativeArrowSize.Value =
                (Decimal)m_oGeneralUserSettings.RelativeArrowSize;

            usrEdgeColor.Color = m_oGeneralUserSettings.EdgeColor;
            nudEdgeAlpha.Value = (Decimal)m_oGeneralUserSettings.EdgeAlpha;

            usrSelectedEdgeColor.Color =
                m_oGeneralUserSettings.SelectedEdgeColor;

            DoDataExchangeEdgeCurvature(false);

            cbxVertexShape.SelectedValue = m_oGeneralUserSettings.VertexShape;

            nudVertexRadius.Value =
                (Decimal)m_oGeneralUserSettings.VertexRadius;

            Nullable<Single> oVertexImageSize =
                m_oGeneralUserSettings.VertexImageSize;

            if (oVertexImageSize.HasValue)
            {
                radUseSpecifiedVertexImageSize.Checked = true;
                nudVertexImageSize.Value = (Decimal)oVertexImageSize.Value;
            }
            else
            {
                radUseActualVertexImageSize.Checked = true;
            }

            usrVertexColor.Color = m_oGeneralUserSettings.VertexColor;
            nudVertexAlpha.Value = (Decimal)m_oGeneralUserSettings.VertexAlpha;

            nudVertexRelativeOuterGlowSize.Value =
                (Decimal)m_oGeneralUserSettings.VertexRelativeOuterGlowSize;

            DoDataExchangeVertexEffect(false);

            usrSelectedVertexColor.Color =
                m_oGeneralUserSettings.SelectedVertexColor;

            chkAutoSelect.Checked = m_oGeneralUserSettings.AutoSelect;

            m_oAxisFont = m_oGeneralUserSettings.AxisFont;

            m_oLabelUserSettings =
                m_oGeneralUserSettings.LabelUserSettings.Copy();

            chkAutoReadWorkbook.Checked =
                m_oGeneralUserSettings.AutoReadWorkbook;

            EnableControls();
        }

        return (true);
    }