예제 #1
0
        PopulateComboBox
        (
            ComboBoxPlus comboBoxPlus,
            Boolean includeEmptyValue
        )
        {
            Debug.Assert(comboBoxPlus != null);
            AssertValid();

            comboBoxPlus.PopulateWithObjectsAndText(
                GetAllGraphAndWorkbookValues(includeEmptyValue));
        }
예제 #2
0
        DoDataExchange
        (
            Boolean bFromControls
        )
        {
            if (bFromControls)
            {
                VisualScheme eScheme          = VisualScheme.VertexCategories;
                ComboBoxPlus oComboBoxToCheck = null;
                String       sColumnType      = null;

                // Perform error checking.

                if (radVertexCategories.Checked)
                {
                    oComboBoxToCheck = cbxVertexCategoryColumnName;
                    sColumnType      = "category";
                }
                else if (radEdgeWeights.Checked)
                {
                    eScheme          = VisualScheme.EdgeWeights;
                    oComboBoxToCheck = cbxEdgeWeightColumnName;
                    sColumnType      = "weight";
                }
                else if (radEdgeTimestamps.Checked)
                {
                    eScheme          = VisualScheme.EdgeTimestamps;
                    oComboBoxToCheck = cbxEdgeTimestampColumnName;
                    sColumnType      = "timestamp";
                }
                else
                {
                    Debug.Assert(false);
                }

                Boolean bShowVertexLabels      = chkShowVertexLabels.Checked;
                String  sSchemeColumnName      = null;
                String  sVertexLabelColumnName = null;

                if (oComboBoxToCheck.Items.Count == 0)
                {
                    OnInvalidComboBox(oComboBoxToCheck,
                                      "There are no columns that can be used for that scheme.");

                    return(false);
                }

                if (
                    !ValidateRequiredComboBox(oComboBoxToCheck,
                                              "Select a " + sColumnType + " column.",
                                              out sSchemeColumnName)
                    ||
                    (bShowVertexLabels && !ValidateRequiredComboBox(
                         cbxVertexLabelColumnName,
                         "Select a label column.",
                         out sVertexLabelColumnName))
                    )
                {
                    return(false);
                }

                // Error checking passed.  Transfer the data.

                m_oAutoFillWorkbookWithSchemeDialogUserSettings.Scheme = eScheme;

                switch (eScheme)
                {
                case VisualScheme.VertexCategories:

                    m_oAutoFillWorkbookWithSchemeDialogUserSettings.
                    VertexCategoryColumnName = sSchemeColumnName;

                    break;

                case VisualScheme.EdgeWeights:

                    m_oAutoFillWorkbookWithSchemeDialogUserSettings.
                    EdgeWeightColumnName = sSchemeColumnName;

                    break;

                case VisualScheme.EdgeTimestamps:

                    m_oAutoFillWorkbookWithSchemeDialogUserSettings.
                    EdgeTimestampColumnName = sSchemeColumnName;

                    break;

                default:

                    Debug.Assert(false);
                    break;
                }

                m_oAutoFillWorkbookWithSchemeDialogUserSettings.ShowVertexLabels =
                    bShowVertexLabels;

                if (bShowVertexLabels)
                {
                    m_oAutoFillWorkbookWithSchemeDialogUserSettings.
                    VertexLabelColumnName = sVertexLabelColumnName;
                }
            }
            else
            {
                switch (m_oAutoFillWorkbookWithSchemeDialogUserSettings.Scheme)
                {
                case VisualScheme.VertexCategories:

                    radVertexCategories.Checked = true;
                    break;

                case VisualScheme.EdgeWeights:

                    radEdgeWeights.Checked = true;
                    break;

                case VisualScheme.EdgeTimestamps:

                    radEdgeTimestamps.Checked = true;
                    break;

                default:

                    Debug.Assert(false);
                    break;
                }

                cbxVertexCategoryColumnName.Text =
                    m_oAutoFillWorkbookWithSchemeDialogUserSettings.
                    VertexCategoryColumnName;

                cbxEdgeWeightColumnName.Text =
                    m_oAutoFillWorkbookWithSchemeDialogUserSettings.
                    EdgeWeightColumnName;

                cbxEdgeTimestampColumnName.Text =
                    m_oAutoFillWorkbookWithSchemeDialogUserSettings.
                    EdgeTimestampColumnName;

                chkShowVertexLabels.Checked =
                    m_oAutoFillWorkbookWithSchemeDialogUserSettings.
                    ShowVertexLabels;

                cbxVertexLabelColumnName.Text =
                    m_oAutoFillWorkbookWithSchemeDialogUserSettings.
                    VertexLabelColumnName;

                EnableControls();
            }

            return(true);
        }