private void CheckIfColorChanged(ITrendViewModel trend, IChartSeriesViewModel seriesViewModel) { var color = _colorsStorage.GetColor(trend.ConfigGuid); if (seriesViewModel.RenderSeries.SeriesColor != color) { _colorsStorage.SetColor(trend.ConfigGuid, seriesViewModel.RenderSeries.SeriesColor); _colorsStorage.Save(); } }
/// <summary> /// Генерирует цвета по умолчанию для всех сигналов, после чего отображает сообщение /// пользователю и запоминает это. При следующем запуске, генерации и сообщения не будет. /// </summary> public static void GenerateDefaultColorsIfNeed(IApplicationSettings settings, ILoader loader, IColorsStorage colorsStorage) { if (settings.IsDefaultColorsGenerated) { return; } foreach (var config in loader.AvailablePsnConfigruations) { foreach (var psnMeterConfig in config.PsnMeterConfigs) { foreach (var channel in psnMeterConfig.PsnChannelConfigs) { if (!colorsStorage.GetColor(channel.Id).HasValue) { colorsStorage.SetColor(channel.Id, GetColorForNewLine()); } } } } settings.IsDefaultColorsGenerated = true; colorsStorage.Save(); settings.Save(); MessageBox.Show(null, "Для всех каналов ПСН сгенерированы цвета отображения на графике. Чтобы изменить настройки цветов по умолчанию воспользуйтесь пунктом главного меню \"Настройки\" -> \"Настройки цветов по умолчанию...\".", "РПД", MessageBoxButtons.OK, MessageBoxIcon.None); }