public Presenter( IBookmarks bookmarks, IView view, LogViewer.IPresenter viewerPresenter, SearchResult.IPresenter searchResultPresenter, BookmarksList.IPresenter listPresenter, StatusReports.IPresenter statusReportFactory, IPresentersFacade navHandler, IViewUpdates viewUpdates, IAlertPopup alerts) { this.bookmarks = bookmarks; this.view = view; this.viewerPresenter = viewerPresenter; this.tracer = new LJTraceSource("UI", "ui.bmkm"); this.statusReportFactory = statusReportFactory; this.searchResultPresenter = searchResultPresenter; this.viewUpdates = viewUpdates; this.navHandler = navHandler; this.listPresenter = listPresenter; this.alerts = alerts; viewerPresenter.FocusedMessageBookmarkChanged += delegate(object sender, EventArgs args) { listPresenter.SetMasterFocusedMessage(viewerPresenter.GetFocusedMessageBookmark()); }; listPresenter.Click += (s, bmk) => { IPresenter myPublicIntf = this; myPublicIntf.NavigateToBookmark(bmk, BookmarkNavigationOptions.EnablePopups | BookmarkNavigationOptions.BookmarksStringsSet); }; view.SetPresenter(this); }
public Presenter( IFiltersList filtersList, IView view, FiltersListBox.IPresenter filtersListPresenter, FilterDialog.IPresenter filtersDialogPresenter, LogViewer.IPresenter logViewerPresenter, IViewUpdates viewUpdates, IHeartBeatTimer heartbeat, IFiltersFactory filtersFactory, IAlertPopup alerts ) { this.filtersList = filtersList; this.view = view; this.heartbeat = heartbeat; this.filtersListPresenter = filtersListPresenter; this.filtersDialogPresenter = filtersDialogPresenter; this.logViewerPresenter = logViewerPresenter; this.viewUpdates = viewUpdates; this.filtersFactory = filtersFactory; this.alerts = alerts; view.SetFiltertingEnabledCheckBoxLabel( filtersList.Purpose == FiltersListPurpose.Highlighting ? "Enabled highlighting" : "Enable filtering"); UpdateControls(); filtersListPresenter.SelectionChanged += delegate(object sender, EventArgs args) { UpdateControls(); }; filtersListPresenter.FilterChecked += delegate(object sender, EventArgs args) { NotifyAboutFilteringResultChange(); }; filtersListPresenter.DeleteRequested += (s, a) => { DoRemoveSelected(); }; filtersList.OnPropertiesChanged += HandleFiltersListChange; filtersList.OnFilteringEnabledChanged += HandleFiltersListChange; filtersList.OnFiltersListChanged += HandleFiltersListChange; heartbeat.OnTimer += PeriodicUpdate; view.SetPresenter(this); updateTracker.Invalidate(); }
public Presenter( IModelThreads threads, ILogSourcesManager logSources, IView view, Presenters.LogViewer.IPresenter viewerPresenter, IPresentersFacade navHandler, IViewUpdates viewUpdates, IHeartBeatTimer heartbeat) { this.threads = threads; this.view = view; this.viewerPresenter = viewerPresenter; this.navHandler = navHandler; this.viewUpdates = viewUpdates; viewerPresenter.FocusedMessageChanged += delegate(object sender, EventArgs args) { view.UpdateFocusedThreadView(); }; threads.OnThreadListChanged += (sender, args) => { updateTracker.Invalidate(); }; threads.OnThreadVisibilityChanged += (sender, args) => { updateTracker.Invalidate(); }; threads.OnPropertiesChanged += (sender, args) => { updateTracker.Invalidate(); }; logSources.OnLogSourceVisiblityChanged += (sender, args) => { updateTracker.Invalidate(); }; heartbeat.OnTimer += (sender, args) => { if (args.IsNormalUpdate && updateTracker.Validate()) { UpdateView(); } }; view.SetPresenter(this); }