/// <summary> /// Конструктор. /// </summary> /// <param name="container">Используется только для того, чтобы зарегистрировать репозиторий после его инициализации </param> /// <param name="loader">Загрузчик.</param> /// <param name="applicationSettings">Настройки приложения</param> /// <param name="selectionMasksStorage"></param> /// <param name="messenger"></param> /// <param name="repositoryViewModelFactory"></param> /// <param name="sciChartViewModelFactory"> </param> /// <param name="colorsStorage"></param> public MainViewModel(IUnityContainer container, ILoader loader, IApplicationSettings applicationSettings, ISelectionMasksStorage selectionMasksStorage, IMessenger messenger, IRepositoryViewModelFactory repositoryViewModelFactory, ISciChartViewModelFactory sciChartViewModelFactory, IColorsStorage colorsStorage) { SelectionMasksStorage = selectionMasksStorage; _container = container; _loader = loader; _applicationSettings = applicationSettings; _messenger = messenger; _repositoryViewModelFactory = repositoryViewModelFactory; _colorsStorage = colorsStorage; _mainChart = sciChartViewModelFactory.Create(); IsRepositoryLoaded = false; if (File.Exists(_applicationSettings.SelectionMasksFullFilePath)) { SelectionMasksStorage.Load(_applicationSettings.SelectionMasksFullFilePath); } InitializeCommands(); _collapseTreeCmd = new RelayCommand(CollapseTree, () => true); _collapsePowerOnTreeCmd = new RelayCommand(CollapsePowerOnTree, () => true); _messenger.Register <IsTrendOnPlotChangedMessage>(this, IsTrendOnPlotChanged); }
public SciChartViewModel(IColorsStorage colorsStorage) { _colorsStorage = colorsStorage; AnalogSeries.CollectionChanged += SeriesOnCollectionChanged; DiscreteSeries.CollectionChanged += SeriesOnCollectionChanged; MouseRightButtonUpCommand = new RelayCommand <object>(MouseRightButtonUpExecute); }
public PsnConfigurationViewModel(IPsnConfiguration psnConfiguration, IColorsStorage colorsStorage) { Model = psnConfiguration; PsnMeterConfigs = new ObservableCollection <IPsnMeterConfigViewModel>(); Model.PsnMeterConfigs.ForEach(m => PsnMeterConfigs.Add(new PsnMeterConfigViewModel(m, colorsStorage))); }
/// <param name="model">Модель</param> /// <param name="colorsStorage">Хранилище цветов. Может быть null</param> public PsnMeterConfigViewModel(IPsnMeterConfig model, IColorsStorage colorsStorage) { _model = model; foreach (var psnChannelConfig in _model.PsnChannelConfigs) { PsnChannelConfigs.Add(new PsnChannelConfigViewModel(psnChannelConfig, colorsStorage)); } }
/// <param name="model">Модель</param> /// <param name="colorsStorage">Хранилище цветов. Может быть null</param> public PsnChannelConfigViewModel(IPsnChannelConfig model, IColorsStorage colorsStorage) { Model = model; _colorsStorage = colorsStorage; var col = _colorsStorage?.GetColor(Model.Id); if (col != null) { _color = col.Value; } }
public DefualtColorsViewModel(ILoader loader, IMessenger messenger, IColorsStorage colorsStorage) { _messenger = messenger; _colorsStorage = colorsStorage; Configurations = new ObservableCollection <IPsnConfigurationViewModel>(); InitializeDefaultColors(); FillAvailablePsnConfigurations(loader); Close = new RelayCommand(CloseExecute); ShowSelectColorDialog = new RelayCommand(ShowSelectColorDialogExecute); AddSelectedColorToPalette = new RelayCommand(AddSelectedColorToPaletteExecute); }
public SciChartViewModelFactory(IColorsStorage colorsStorage) { _colorsStorage = colorsStorage; }
/// <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); }