Esempio n. 1
0
        private void OnLogViewChanged(LogViewerViewModel oldView, LogViewerViewModel newView)
        {
            try
            {
                _changingLogView = true;

                if (oldView != null)
                {
                    oldView.PropertyChanged -= LogViewOnPropertyChanged;
                }

                if (newView != null)
                {
                    newView.PropertyChanged += LogViewOnPropertyChanged;
                    DataSource     = newView.DataSource;
                    LogSource      = newView.LogSource;
                    FindAll        = newView.DataSource.FindAll;
                    Search         = newView.Search;
                    CurrentLogLine = newView.DataSource.VisibleLogLine;

                    Select(newView.DataSource.SelectedLogLines);
                    SetHorizontalOffset(newView.DataSource.HorizontalOffset);
                }
                else
                {
                    DataSource = null;
                    LogSource  = null;
                    FindAll    = null;
                }
            }
            finally
            {
                _changingLogView = false;
            }
        }
        private void OpenFile(IDataSourceViewModel dataSource)
        {
            if (CurrentDataSourceLogView?.DataSource == dataSource)
            {
                return;
            }

            if (dataSource != null)
            {
                CurrentDataSource        = dataSource;
                CurrentDataSourceLogView = new LogViewerViewModel(
                    dataSource,
                    _actionCenter,
                    _applicationSettings);
            }
            else
            {
                CurrentDataSource        = null;
                CurrentDataSourceLogView = null;
            }
        }