private async Task <bool> SetupColourComboBoxes()
        {
            bool success = true;

            if (_datasetModel.ColourValueCheck(_colourIndex))
            {
                int nClassesValue = 0;

                // colour values are qualitative
                // hide number of data classes and colour scheme type combo boxes
                // as they are not required, the values have been automatically derived from the data
                numDataClassesTextBlock.Visibility   = Windows.UI.Xaml.Visibility.Collapsed;
                numDataClassesComboBox.Visibility    = Windows.UI.Xaml.Visibility.Collapsed;
                colourSchemeTypeTextBlock.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
                colourSchemeTypeComboBox.Visibility  = Windows.UI.Xaml.Visibility.Collapsed;

                _distinctCategories = _datasetModel.Dataset.Select(o => o[_colourIndex]).Distinct().ToList();
                nClassesValue       = _distinctCategories.Count();
                if (nClassesValue > 12)
                {
                    // too many categories for a colorbrewer scheme
                    success = false;
                    await new MessageDialog("The colour scheme supports a maximum of 12 categories for optimum visualisation refinement",
                                            "More than 12 distinct categories").ShowAsync();
                }

                // set default colour scheme selections
                colourSchemeTypeComboBox.SelectedItem = "Qualitative";
                colourSchemeComboBox.DataContext      = _colourScheme.GetColourSchemes(nClassesValue, "Qualitative");
                List <string> items = (List <string>)colourSchemeComboBox.ItemsSource;
                colourSchemeComboBox.SelectedItem = items[0];
            }
            else
            {
                // colour values are not qualitative
                List <string> colourSchemeTypes = new List <string>();
                colourSchemeTypes.Add("Sequential single hue");
                colourSchemeTypes.Add("Sequential multi hue");
                colourSchemeTypes.Add("Diverging");
                colourSchemeTypeComboBox.DataContext = colourSchemeTypes;

                // set default colour scheme selections
                colourSchemeTypeComboBox.SelectedValue = "Sequential single hue";
                colourSchemeComboBox.DataContext       = _colourScheme.GetColourSchemes(DEFAULT_NUM_DATA_CLASSES, "Sequential single hue");
                colourSchemeComboBox.SelectedValue     = "Grey";
            }

            return(success);
        }
Esempio n. 2
0
        private async void Heatmap_Loaded(object sender, RoutedEventArgs e)
        {
            if (await CheckPropertiesAreSet())
            {
                _screenWidth = dataListView.ActualWidth - FIRST_ROW_WIDTH;

                // setup colour scheme combo box with default values
                colourSchemeComboBox.DataContext   = _colourScheme.GetColourSchemes(DEFAULT_NUM_DATA_CLASSES, "Sequential single hue");
                colourSchemeComboBox.SelectedValue = "Blue";

                // Assign event handlers
                numDataClassesComboBox.SelectionChanged   += numDataClassesComboBox_SelectionChanged;
                colourSchemeTypeComboBox.SelectionChanged += colourSchemeTypeComboBox_SelectionChanged;
                colourSchemeComboBox.SelectionChanged     += colourSchemeComboBox_SelectionChanged;

                Initialise();
            }
        }