Exemplo n.º 1
0
 GlyphTextViewMarkerService(IGlyphTextMarkerServiceImpl glyphTextMarkerServiceImpl, IWpfTextView wpfTextView)
 {
     if (glyphTextMarkerServiceImpl == null)
     {
         throw new ArgumentNullException(nameof(glyphTextMarkerServiceImpl));
     }
     if (wpfTextView == null)
     {
         throw new ArgumentNullException(nameof(wpfTextView));
     }
     this.onRemovedDelegate          = OnRemoved;
     this.glyphTextMarkerServiceImpl = glyphTextMarkerServiceImpl;
     this.TextView                                    = wpfTextView;
     this.markerLayer                                 = wpfTextView.GetAdornmentLayer(PredefinedDnSpyAdornmentLayers.GlyphTextMarker);
     this.markerAndSpanCollection                     = new MarkerAndSpanCollection();
     this.markerElements                              = new List <MarkerElement>();
     this.editorFormatMap                             = glyphTextMarkerServiceImpl.EditorFormatMapService.GetEditorFormatMap(wpfTextView);
     this.glyphTextViewMarkerGlyphTagTagger           = GlyphTextViewMarkerGlyphTagger.GetOrCreate(this);
     this.glyphTextViewMarkerGlyphTextMarkerTagTagger = GlyphTextViewMarkerGlyphTextMarkerTagger.GetOrCreate(this);
     this.glyphTextViewMarkerClassificationTagTagger  = GlyphTextViewMarkerClassificationTagger.GetOrCreate(this);
     this.useReducedOpacityForHighContrast            = wpfTextView.Options.GetOptionValue(DefaultWpfViewOptions.UseReducedOpacityForHighContrastOptionId);
     wpfTextView.Closed                              += WpfTextView_Closed;
     wpfTextView.LayoutChanged                       += WpfTextView_LayoutChanged;
     wpfTextView.Options.OptionChanged               += Options_OptionChanged;
     glyphTextMarkerServiceImpl.MarkerAdded          += GlyphTextMarkerServiceImpl_MarkerAdded;
     glyphTextMarkerServiceImpl.MarkerRemoved        += GlyphTextMarkerServiceImpl_MarkerRemoved;
     glyphTextMarkerServiceImpl.MarkersRemoved       += GlyphTextMarkerServiceImpl_MarkersRemoved;
     editorFormatMap.FormatMappingChanged            += EditorFormatMap_FormatMappingChanged;
 }
Exemplo n.º 2
0
        public ITagger <T> CreateTagger <T>(ITextView textView, ITextBuffer buffer) where T : ITag
        {
            var wpfTextView = textView as IWpfTextView;

            Debug.Assert(wpfTextView != null);
            if (wpfTextView == null)
            {
                return(null);
            }
            if (textView.TextBuffer != buffer)
            {
                return(null);
            }
            var service = GlyphTextViewMarkerService.GetOrCreate(glyphTextMarkerServiceImpl, wpfTextView);

            return(GlyphTextViewMarkerGlyphTextMarkerTagger.GetOrCreate(service) as ITagger <T>);
        }