public ComparisonViewModel(IStatisticProvider frametimeStatisticProvider,
                                   IFrametimeAnalyzer frametimeAnalyzer,
                                   IEventAggregator eventAggregator,
                                   IAppConfiguration appConfiguration, RecordManager recordManager)
        {
            _frametimeStatisticProvider = frametimeStatisticProvider;
            _frametimeAnalyzer          = frametimeAnalyzer;
            _eventAggregator            = eventAggregator;
            _appConfiguration           = appConfiguration;
            _recordManager = recordManager;
            RemoveAllComparisonsCommand = new DelegateCommand(OnRemoveAllComparisons);
            ComparisonLShapeCollection  = new SeriesCollection();
            MessageDialogContent        = new MessageDialog();

            ComparisonColumnChartFormatter = value => value.ToString(string.Format("F{0}",
                                                                                   _appConfiguration.FpsValuesRoundingDigits), CultureInfo.InvariantCulture);
            SelectedComparisonContext       = _appConfiguration.ComparisonContext.ConvertToEnum <EComparisonContext>();
            SelectedSecondComparisonContext = _appConfiguration.SecondComparisonContext.ConvertToEnum <EComparisonContext>();
            SelectedSecondMetric            = _appConfiguration.SecondMetric.ConvertToEnum <EMetric>();
            SelectedThirdMetric             = _appConfiguration.ThirdMetric.ConvertToEnum <EMetric>();

            SetRowSeries();
            SubscribeToSelectRecord();
            SubscribeToUpdateRecordInfos();
        }
Esempio n. 2
0
        public DataViewModel(IStatisticProvider frametimeStatisticProvider,
                             IFrametimeAnalyzer frametimeAnalyzer,
                             IEventAggregator eventAggregator,
                             IAppConfiguration appConfiguration)
        {
            _frametimeStatisticProvider = frametimeStatisticProvider;
            _frametimeAnalyzer          = frametimeAnalyzer;
            _eventAggregator            = eventAggregator;
            _appConfiguration           = appConfiguration;

            SubscribeToUpdateSession();

            CopyStatisticalParameterCommand = new DelegateCommand(OnCopyStatisticalParameter);
            CopyLShapeQuantilesCommand      = new DelegateCommand(OnCopyQuantiles);
            CopySystemInfoCommand           = new DelegateCommand(OnCopySystemInfoCommand);
            AcceptParameterSettingsCommand  = new DelegateCommand(OnAcceptParameterSettings);

            ParameterFormatter = value => value.ToString(string.Format("F{0}",
                                                                       _appConfiguration.FpsValuesRoundingDigits), CultureInfo.InvariantCulture);
            _localRecordDataServer    = new LocalRecordDataServer();
            FrametimeGraphDataContext = new FrametimeGraphDataContext(_localRecordDataServer,
                                                                      _appConfiguration, _frametimeStatisticProvider);
            FpsGraphDataContext = new FpsGraphDataContext(_localRecordDataServer,
                                                          _appConfiguration, _frametimeStatisticProvider);

            MessageDialogContent = new ContitionalMessageDialog();

            InitializeStatisticParameter();
        }
Esempio n. 3
0
        public ComparisonDataViewModel(IStatisticProvider frametimeStatisticProvider,
                                       IFrametimeAnalyzer frametimeAnalyzer,
                                       IEventAggregator eventAggregator,
                                       IAppConfiguration appConfiguration)
        {
            _frametimeStatisticProvider = frametimeStatisticProvider;
            _frametimeAnalyzer          = frametimeAnalyzer;
            _eventAggregator            = eventAggregator;
            _appConfiguration           = appConfiguration;

            DateTimeContextCommand      = new DelegateCommand(OnDateTimeContext);
            CpuContextCommand           = new DelegateCommand(OnCpuContext);
            GpuContextCommand           = new DelegateCommand(OnGpuContex);
            CustomContextCommand        = new DelegateCommand(OnCustomContex);
            RemoveAllComparisonsCommand = new DelegateCommand(OnRemoveAllComparisons);
            AbsoluteModeCommand         = new DelegateCommand(OnAbsoluteMode);
            RelativeModeCommand         = new DelegateCommand(OnRelativeMode);

            ComparisonColumnChartFormatter = value => value.ToString(string.Format("F{0}",
                                                                                   _appConfiguration.FpsValuesRoundingDigits), CultureInfo.InvariantCulture);
            ComparisonLShapeCollection            = new SeriesCollection();
            ComparisonColumnChartSeriesCollection = new SeriesCollection
            {
                // Add ColumnSeries per parameter
                // Average
                new ColumnSeries
                {
                    Title  = "Average",
                    Values = new ChartValues <double>(),
                    // Kind of blue
                    Fill       = _comparisonBrushes[1],
                    DataLabels = true
                },

                //1% quantile
                new ColumnSeries
                {
                    Title  = "P1",
                    Values = new ChartValues <double>(),
                    // Kind of red
                    Fill       = _comparisonBrushes[2],
                    DataLabels = true
                },

                //0.1% quantile
                new LiveCharts.Wpf.ColumnSeries
                {
                    Title  = "P0.1",
                    Values = new ChartValues <double>(),
                    // Kind of dark red
                    Fill       = _comparisonBrushes[3],
                    DataLabels = true
                }
            };

            InitializePlotModel();
            SubscribeToSelectRecord();
        }