Пример #1
0
        public RockMargin(
            IWpfTextView view,
            MarksEnumerator marks,
            ChangeEnumerator changes,
            HighlightedWordsEnumerator highlights,
            HighlightWordTagger tagger)
        {
            _view = view;
            _marks = marks;
            _changes = changes;
            _highlights = highlights;
            _tagger = tagger;

            _track = new Track(view, this);
            _render = new TrackRender(_view, _track, _marks, _changes, _highlights);

            this.Width = _view.Options.GetOptionValue(OptionsKeys.Width);
            this.ClipToBounds = true;
            this.Background = Utils.CreateBrush(_view.Options.GetOptionValue(OptionsKeys.BackgroundColor));

            view.Options.OptionChanged += OnOptionChanged;
            view.LayoutChanged += OnTextViewLayoutChanged;
            view.ZoomLevelChanged += OnViewStateChanged;
            highlights.WordsChanged += OnWordHighlightsChanged;
            marks.MarksChanged += OnMarksChanged;
            changes.ChangesChanged += OnChangesChanged;

            this.SizeChanged += OnViewStateChanged;
            this.MouseRightButtonDown += this.OnMouseRightButtonDown;
            this.MouseLeftButtonDown += this.OnMouseLeftButtonDown;
            this.MouseLeftButtonUp += this.OnMouseLeftButtonUp;
            this.MouseMove += this.OnMouseMove;

            _render.Visuals.ForEach(delegate(Visual v) { AddVisualChild(v); });
        }
Пример #2
0
        protected override ITagger <T> GetTagger <T>(ITextView textView, ITextBuffer buffer)
        {
            ITextStructureNavigator textStructureNavigator =
                TextStructureNavigatorSelector.GetTextStructureNavigator(buffer);
            var tagger =
                new HighlightWordTagger(textView, buffer, TextSearchService, textStructureNavigator) as ITagger <T>;

            return(tagger);
        }
 public HighlightedWordsEnumerator(IWpfTextView view, HighlightWordTagger tagger)
 {
     _view = view;
     _tagger = tagger;
     _tagger.TagsChanged += OnTagsChanged;
 }