private LogFilterPanel ConstructLogFilters() { var filterPanel = new LogFilterPanel(ImageProvider, Filters); LogCollectionsInitialized += (sender, args) => logs.CollectionChanged += (s, a) => { filterPanel.UpdateLogs(logs); }; LogDataProcessor.Processed += (sender, args) => { Application.Instance.AsyncInvoke(() => filterPanel.UpdateLogs(logs)); }; return(filterPanel); }
private LogFilterPanel ConstructLogFilters() { var filterPanel = new LogFilterPanel(ImageProvider, Filters); LogCollectionsInitialized += (sender, args) => logs.CollectionChanged += (s, a) => { filterPanel.UpdateLogs(logs); }; LogDataProcessor.Processed += (sender, args) => { bool last = args.CurrentScheduledItems == 0; if (last || filterRefreshCooldown.TryUse(DateTime.Now)) { Application.Instance.AsyncInvoke(() => filterPanel.UpdateLogs(logs)); } }; return(filterPanel); }
private LogFilterPanel ConstructLogFilters() { var filterPanel = new LogFilterPanel(ImageProvider, LogNameProvider, Filters); filterPanel.FiltersUpdated += (sender, args) => logsFiltered.Refresh(); LogCollectionsRecreated += (sender, args) => { filterPanel.UpdateLogs(logs); logs.CollectionChanged += (s, a) => { filterPanel.UpdateLogs(logs); }; logsFiltered.Filter = Filters.FilterLog; logsFiltered.Refresh(); }; LogDataProcessor.Processed += (sender, args) => { Application.Instance.AsyncInvoke(() => filterPanel.UpdateLogs(logs)); }; return(filterPanel); }