private void InitData()
        {
            IEnumerable <string> variables = Content.PreprocessingData.GetDoubleVariableNames();

            comboBoxXVariable.Items.Clear();
            comboBoxYVariable.Items.Clear();
            comboBoxGroup.Items.Clear();

            comboBoxXVariable.Items.AddRange(variables.ToArray());
            comboBoxYVariable.Items.AddRange(variables.ToArray());
            comboBoxGroup.Items.Add(NoGroupItem);
            foreach (string var in PreprocessingChartContent.GetVariableNamesForGrouping(Content.PreprocessingData, 50))
            {
                comboBoxGroup.Items.Add(var);
            }
            comboBoxGroup.SelectedItem = Content.GroupingVariable ?? NoGroupItem;

            // use x and y variable from content
            if (Content.SelectedXVariable != null && Content.SelectedYVariable != null && Content.GroupingVariable != null)
            {
                comboBoxXVariable.SelectedItem = Content.SelectedXVariable;
                comboBoxYVariable.SelectedItem = Content.SelectedYVariable;
                comboBoxGroup.SelectedItem     = Content.GroupingVariable;
            }
            else
            {
                if (variables.Count() >= 2)
                {
                    comboBoxXVariable.SelectedIndex = 0;
                    comboBoxYVariable.SelectedIndex = 1;
                    comboBoxGroup.SelectedIndex     = 0;
                    UpdateScatterPlot();
                }
            }
        }
Esempio n. 2
0
        protected override void OnContentChanged()
        {
            base.OnContentChanged();
            groupingComboBox.Items.Clear();
            groupingComboBox.Items.Add(string.Empty);

            if (Content != null)
            {
                foreach (string var in PreprocessingChartContent.GetVariableNamesForGrouping(Content.PreprocessingData))
                {
                    groupingComboBox.Items.Add(var);
                }

                groupingComboBox.SelectedItem = Content.GroupingVariableName ?? string.Empty;
            }
        }
        protected override void OnContentChanged()
        {
            base.OnContentChanged();
            if (Content != null)
            {
                groupingComboBox.Items.Add(string.Empty);
                foreach (string var in PreprocessingChartContent.GetVariableNamesForGrouping(Content.PreprocessingData))
                {
                    groupingComboBox.Items.Add(var);
                }
                SuppressCheckedChangedUpdate  = true;
                groupingComboBox.SelectedItem = Content.GroupingVariable ?? string.Empty;
                SuppressCheckedChangedUpdate  = false;

                // uncheck variables that max 20 vars are selected initially
                var variables  = Content.VariableItemList;
                int numChecked = variables.CheckedItems.Count();
                if (numChecked > 20)
                {
                    string message = string.Format("Display all {0} input variables ({1} charts)?" + Environment.NewLine +
                                                   "Press No to reduce the number of checked variables to 20." + Environment.NewLine +
                                                   "Press Cancel to uncheck all.",
                                                   numChecked, numChecked * numChecked);
                    var dialogResult = MessageBox.Show(this, message, "Display All Input Variables?", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning);
                    if (dialogResult == DialogResult.No || dialogResult == DialogResult.Cancel)
                    {
                        SuppressCheckedChangedUpdate = true;
                        IEnumerable <StringValue> toUncheck = variables;
                        if (dialogResult == DialogResult.No) // only show the first 20
                        {
                            toUncheck = variables.CheckedItems.Reverse().Take(numChecked - 20).Select(x => x.Value);
                        }
                        foreach (var var in toUncheck)
                        {
                            Content.VariableItemList.SetItemCheckedState(var, false);
                        }
                        SuppressCheckedChangedUpdate = false;
                    }
                }
                GenerateCharts(true);
            }
        }