Пример #1
0
        public static async Task <IBookmark> CreateTogglableBookmark(
            this ILogSource ls,
            IBookmarksFactory factory,
            IBookmark sourceBookmark,
            CancellationToken cancallation
            )
        {
            if (sourceBookmark.LogSourceConnectionId != ls.Provider.ConnectionId)
            {
                throw new ArgumentException("log source and bookmark have inconsistent connection ids");
            }
            IMessage messageAtPosition = null;
            await ls.Provider.EnumMessages(
                sourceBookmark.Position,
                msg =>
            {
                if (msg.Position == sourceBookmark.Position)
                {
                    messageAtPosition = msg;
                }
                return(false);
            },
                EnumMessagesFlag.Forward,
                LogProviderCommandPriority.RealtimeUserAction,
                cancallation
                );

            if (messageAtPosition == null)
            {
                return(null);
            }
            return(factory.CreateBookmark(messageAtPosition, sourceBookmark.LineIndex, true));
        }
        public PresenterFactory(
            IHeartBeatTimer heartbeat,
            IPresentersFacade presentationFacade,
            IClipboardAccess clipboard,
            IBookmarksFactory bookmarksFactory,
            Telemetry.ITelemetryCollector telemetry,
            ILogSourcesManager logSources,
            IInvokeSynchronization modelInvoke,
            IModelThreads modelThreads,
            IFiltersList hlFilters,
            IBookmarks bookmarks,
            Settings.IGlobalSettingsAccessor settings,
            ISearchManager searchManager,
            IFiltersFactory filtersFactory
            )
        {
            this.heartbeat          = heartbeat;
            this.presentationFacade = presentationFacade;
            this.clipboard          = clipboard;
            this.bookmarksFactory   = bookmarksFactory;
            this.telemetry          = telemetry;

            this.logSources     = logSources;
            this.modelInvoke    = modelInvoke;
            this.modelThreads   = modelThreads;
            this.hlFilters      = hlFilters;
            this.bookmarks      = bookmarks;
            this.settings       = settings;
            this.searchManager  = searchManager;
            this.filtersFactory = filtersFactory;
        }
Пример #3
0
 public SelectionManager(
     IView view,
     IScreenBuffer screenBuffer,
     LJTraceSource tracer,
     IPresentationDataAccess presentationDataAccess,
     IClipboardAccess clipboard,
     IScreenBufferFactory screenBufferFactory,
     IBookmarksFactory bookmarksFactory
     )
 {
     this.view                   = view;
     this.screenBuffer           = screenBuffer;
     this.clipboard              = clipboard;
     this.presentationDataAccess = presentationDataAccess;
     this.tracer                 = tracer;
     this.screenBufferFactory    = screenBufferFactory;
     this.bookmarksFactory       = bookmarksFactory;
 }
Пример #4
0
 public PresenterFactory(
     IChangeNotification changeNotification,
     IHeartBeatTimer heartbeat,
     IPresentersFacade presentationFacade,
     IClipboardAccess clipboard,
     IBookmarksFactory bookmarksFactory,
     Telemetry.ITelemetryCollector telemetry,
     ILogSourcesManager logSources,
     ISynchronizationContext modelInvoke,
     IModelThreads modelThreads,
     IFiltersList hlFilters,
     IBookmarks bookmarks,
     Settings.IGlobalSettingsAccessor settings,
     ISearchManager searchManager,
     IFiltersFactory filtersFactory,
     IColorTheme theme,
     ITraceSourceFactory traceSourceFactory,
     RegularExpressions.IRegexFactory regexFactory
     )
 {
     this.changeNotification = changeNotification;
     this.heartbeat          = heartbeat;
     this.presentationFacade = presentationFacade;
     this.clipboard          = clipboard;
     this.bookmarksFactory   = bookmarksFactory;
     this.telemetry          = telemetry;
     this.logSources         = logSources;
     this.modelInvoke        = modelInvoke;
     this.modelThreads       = modelThreads;
     this.hlFilters          = hlFilters;
     this.bookmarks          = bookmarks;
     this.settings           = settings;
     this.searchManager      = searchManager;
     this.filtersFactory     = filtersFactory;
     this.theme = theme;
     this.traceSourceFactory = traceSourceFactory;
     this.regexFactory       = regexFactory;
 }
Пример #5
0
        public SelectionManager(
            IView view,
            ISearchResultModel searchResultModel,             // todo: try get rid of this dependency
            IScreenBuffer screenBuffer,
            LJTraceSource tracer,
            IPresentationDataAccess presentationDataAccess,
            IClipboardAccess clipboard,
            IScreenBufferFactory screenBufferFactory,
            IBookmarksFactory bookmarksFactory
            )
        {
            this.view = view;
            this.searchResultModel      = searchResultModel;
            this.screenBuffer           = screenBuffer;
            this.clipboard              = clipboard;
            this.presentationDataAccess = presentationDataAccess;
            this.tracer              = tracer;
            this.searchResultModel   = searchResultModel;
            this.screenBufferFactory = screenBufferFactory;
            this.bookmarksFactory    = bookmarksFactory;

            this.searchResultInplaceHightlightHandler = SearchResultInplaceHightlightHandler;
        }
Пример #6
0
 public Bookmarks(IBookmarksFactory factory)
 {
     this.factory = factory;
 }
Пример #7
0
 public Bookmarks(IBookmarksFactory factory, IChangeNotification changeNotification)
 {
     this.factory            = factory;
     this.changeNotification = changeNotification;
     itemsRef = ImmutableArray.CreateRange(items);
 }