Exemplo n.º 1
0
        public QuickFiltersViewModel(IQuickFilters quickFilters)
        {
            if (quickFilters == null)
            {
                throw new ArgumentNullException(nameof(quickFilters));
            }

            _quickFilters = quickFilters;
            AddCommand    = new DelegateCommand(() => AddQuickFilter());
            _viewModels   = new ObservableCollection <QuickFilterViewModel>();
            foreach (var filter in quickFilters.Filters)
            {
                CreateAndAddViewModel(filter);
            }
        }
        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);
        }
Exemplo n.º 3
0
        public QuickFiltersSidePanelViewModel(IApplicationSettings settings, IQuickFilters quickFilters)
        {
            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }
            if (quickFilters == null)
            {
                throw new ArgumentNullException(nameof(quickFilters));
            }

            _settings = settings;
            _filters  = new QuickFiltersViewModel(quickFilters);
            _filters.OnFilterAdded    += QuickFiltersOnOnFilterAdded;
            _filters.OnFilterRemoved  += QuickFiltersOnOnFilterRemoved;
            _filters.OnFiltersChanged += OnOnFiltersChanged;

            UpdateTooltip();
            PropertyChanged += OnPropertyChanged;
        }