コード例 #1
0
        public void TestChooseLineNumber2()
        {
            var viewModel = new GoToLineViewModel();

            viewModel.MonitorEvents();

            viewModel.LineNumber = 42;
            new Action(() => viewModel.ChoseLineNumber()).ShouldNotThrow();
            viewModel.ShouldRaise(nameof(GoToLineViewModel.LineNumberChosen));
        }
コード例 #2
0
        public void TestChooseLineNumber2()
        {
            var viewModel = new GoToLineViewModel();

            using (var monitor = viewModel.Monitor())
            {
                viewModel.LineNumber = 42;
                new Action(() => viewModel.ChoseLineNumber()).Should().NotThrow();
                monitor.Should().Raise(nameof(GoToLineViewModel.LineNumberChosen));
            }
        }
コード例 #3
0
        public void TestChooseLineNumber1()
        {
            var viewModel = new GoToLineViewModel();

            viewModel.MonitorEvents();

            viewModel.LineNumber.Should().BeNull();
            new Action(() => viewModel.ChoseLineNumber()).ShouldNotThrow();
            viewModel.ShouldNotRaise(nameof(GoToLineViewModel.LineNumberChosen),
                                     "because no line number was entered yet");
        }
コード例 #4
0
        public void TestShow1()
        {
            var viewModel = new GoToLineViewModel();

            viewModel.Show       = true;
            viewModel.LineNumber = 42;
            viewModel.LineNumber.Should().Be(42);
            viewModel.Show = false;

            viewModel.Show = true;
            viewModel.LineNumber.Should().BeNull("because any previous input should've been removed");
        }
コード例 #5
0
        public LogViewMainPanelViewModel(IServiceContainer services,
                                         IActionCenter actionCenter,
                                         IDataSources dataSources,
                                         IQuickFilters quickFilters,
                                         IHighlighters highlighters,
                                         IApplicationSettings applicationSettings)
            : base(applicationSettings)
        {
            if (actionCenter == null)
            {
                throw new ArgumentNullException(nameof(actionCenter));
            }

            _applicationSettings = applicationSettings;
            _actionCenter        = actionCenter;

            _dataSources = new DataSourcesViewModel(applicationSettings, dataSources, _actionCenter);
            _dataSources.PropertyChanged += DataSourcesOnPropertyChanged;
            _quickFilters = new QuickFiltersSidePanelViewModel(applicationSettings, quickFilters);
            _quickFilters.OnFiltersChanged += OnFiltersChanged;

            _highlighters = new HighlightersSidePanelViewModel(highlighters);

            _goToLine = new GoToLineViewModel();
            _goToLine.LineNumberChosen += GoToLineOnLineNumberChosen;

            _quickNavigation = new QuickNavigationViewModel(dataSources);
            _quickNavigation.DataSourceChosen += QuickNavigationOnDataSourceChosen;

            _bookmarks = new BookmarksViewModel(dataSources, OnNavigateToBookmark);
            _outline   = new OutlineSidePanelViewModel(services);
            _issues    = new IssuesSidePanelViewModel(services);

            _sidePanels = new ISidePanelViewModel[]
            {
                _dataSources,
                _quickFilters,
                //_highlighters,
                _bookmarks,
                _outline,
                _issues
            };

            SelectedSidePanel = _sidePanels.FirstOrDefault(x => x.Id == _applicationSettings.MainWindow?.SelectedSidePanel);

            PropertyChanged += OnPropertyChanged;
            ChangeDataSource(CurrentDataSource);
        }