public IEnumerable <GuidObject> GetContextMenuObjects(Point marginRelativePoint) { var line = GetLine(marginRelativePoint); if (line is null) { yield break; } var markers = glyphTextViewMarkerService.GetSortedGlyphTextMarkers(line); if (markers.Length > 0) { var glyphTextMarkerHandlerContext = new GlyphTextMarkerHandlerContext(wpfTextViewHost, margin, line, this); foreach (var marker in markers) { foreach (var o in marker.Handler.GetContextMenuObjects(glyphTextMarkerHandlerContext, marker, marginRelativePoint)) { yield return(o); } } } if (glyphTextMarkerMouseProcessors.Length != 0) { var context = new GlyphTextMarkerMouseProcessorContext(wpfTextViewHost, margin, line, markers, this); foreach (var processor in glyphTextMarkerMouseProcessors) { foreach (var o in processor.GetContextMenuObjects(context, marginRelativePoint)) { yield return(o); } } } }
public override void PostprocessMouseMove(MouseEventArgs e) { UpdateLine(e); var line = GetLine(e); if (line is null) { return; } var markers = glyphTextViewMarkerService.GetSortedGlyphTextMarkers(line); IGlyphTextMarkerHandlerContext?glyphTextMarkerHandlerContext = null; foreach (var marker in markers) { if (marker.Handler.MouseProcessor is null) { continue; } if (glyphTextMarkerHandlerContext is null) { glyphTextMarkerHandlerContext = new GlyphTextMarkerHandlerContext(wpfTextViewHost, margin, line, this); } marker.Handler.MouseProcessor.OnMouseMove(glyphTextMarkerHandlerContext, marker, e); if (e.Handled) { return; } } if (glyphTextMarkerMouseProcessors.Length != 0) { var context = new GlyphTextMarkerMouseProcessorContext(wpfTextViewHost, margin, line, markers, this); foreach (var processor in glyphTextMarkerMouseProcessors) { processor.OnMouseMove(context, e); if (e.Handled) { return; } } } }
public override void PostprocessMouseRightButtonUp(MouseButtonEventArgs e) { CloseToolTip(); var line = GetLine(e); if (line == null) { return; } var markers = glyphTextViewMarkerService.GetSortedGlyphTextMarkers(line); IGlyphTextMarkerHandlerContext glyphTextMarkerHandlerContext = null; foreach (var marker in markers) { if (marker.Handler.MouseProcessor == null) { continue; } if (glyphTextMarkerHandlerContext == null) { glyphTextMarkerHandlerContext = new GlyphTextMarkerHandlerContext(wpfTextViewHost, margin, line); } marker.Handler.MouseProcessor.OnMouseRightButtonUp(glyphTextMarkerHandlerContext, marker, e); if (e.Handled) { return; } } if (glyphTextMarkerMouseProcessors.Length != 0) { var context = new GlyphTextMarkerMouseProcessorContext(wpfTextViewHost, margin, line, markers); foreach (var processor in glyphTextMarkerMouseProcessors) { processor.OnMouseRightButtonUp(context, e); if (e.Handled) { return; } } } }
public override void PostprocessMouseEnter(MouseEventArgs e) { if (glyphTextMarkerMouseProcessors.Length != 0) { var line = GetLine(e); if (line is null) { return; } var markers = glyphTextViewMarkerService.GetSortedGlyphTextMarkers(line); var context = new GlyphTextMarkerMouseProcessorContext(wpfTextViewHost, margin, line, markers, this); foreach (var processor in glyphTextMarkerMouseProcessors) { processor.OnMouseEnter(context, e); if (e.Handled) { return; } } } }
public override void PostprocessMouseLeave(MouseEventArgs e) { CloseToolTip(); if (glyphTextMarkerMouseProcessors.Length != 0) { var line = GetLine(e); if (line == null) return; var markers = glyphTextViewMarkerService.GetSortedGlyphTextMarkers(line); var context = new GlyphTextMarkerMouseProcessorContext(wpfTextViewHost, margin, line, markers); foreach (var processor in glyphTextMarkerMouseProcessors) { processor.OnMouseLeave(context, e); if (e.Handled) return; } } }
public override void PostprocessMouseMove(MouseEventArgs e) { UpdateLine(e); var line = GetLine(e); if (line == null) return; var markers = glyphTextViewMarkerService.GetSortedGlyphTextMarkers(line); IGlyphTextMarkerHandlerContext glyphTextMarkerHandlerContext = null; foreach (var marker in markers) { if (marker.Handler.MouseProcessor == null) continue; if (glyphTextMarkerHandlerContext == null) glyphTextMarkerHandlerContext = new GlyphTextMarkerHandlerContext(wpfTextViewHost, margin, line); marker.Handler.MouseProcessor.OnMouseMove(glyphTextMarkerHandlerContext, marker, e); if (e.Handled) return; } if (glyphTextMarkerMouseProcessors.Length != 0) { var context = new GlyphTextMarkerMouseProcessorContext(wpfTextViewHost, margin, line, markers); foreach (var processor in glyphTextMarkerMouseProcessors) { processor.OnMouseMove(context, e); if (e.Handled) return; } } }
public IEnumerable<GuidObject> GetContextMenuObjects(Point marginRelativePoint) { var line = GetLine(marginRelativePoint); if (line == null) yield break; var markers = glyphTextViewMarkerService.GetSortedGlyphTextMarkers(line); if (markers.Length > 0) { var glyphTextMarkerHandlerContext = new GlyphTextMarkerHandlerContext(wpfTextViewHost, margin, line); foreach (var marker in markers) { foreach (var o in marker.Handler.GetContextMenuObjects(glyphTextMarkerHandlerContext, marker, marginRelativePoint)) yield return o; } } if (glyphTextMarkerMouseProcessors.Length != 0) { var context = new GlyphTextMarkerMouseProcessorContext(wpfTextViewHost, margin, line, markers); foreach (var processor in glyphTextMarkerMouseProcessors) { foreach (var o in processor.GetContextMenuObjects(context, marginRelativePoint)) yield return o; } } }