private async Task <object> CreateNewDifferenceViewerAsync( IProjectionBuffer originalBuffer, IProjectionBuffer newBuffer, string description, FrameworkElement additionalContent) { IDifferenceBuffer diffBuffer = this.differenceBufferFactoryService.CreateDifferenceBuffer( originalBuffer, newBuffer, options: default,
protected override async Task <IWpfDifferenceViewer> CreateDifferenceViewAsync( IDifferenceBuffer diffBuffer, ITextViewRoleSet previewRoleSet, DifferenceViewMode mode, double zoomLevel, CancellationToken cancellationToken ) { var diffViewer = _differenceViewerService.CreateDifferenceView( diffBuffer, previewRoleSet ); const string DiffOverviewMarginName = "deltadifferenceViewerOverview"; diffViewer.ViewMode = mode; if (mode == DifferenceViewMode.RightViewOnly) { diffViewer.RightView.ZoomLevel *= zoomLevel; diffViewer.RightHost.GetTextViewMargin( DiffOverviewMarginName ).VisualElement.Visibility = Visibility.Collapsed; } else if (mode == DifferenceViewMode.LeftViewOnly) { diffViewer.LeftView.ZoomLevel *= zoomLevel; diffViewer.LeftHost.GetTextViewMargin( DiffOverviewMarginName ).VisualElement.Visibility = Visibility.Collapsed; } else { Contract.ThrowIfFalse(mode == DifferenceViewMode.Inline); diffViewer.InlineView.ZoomLevel *= zoomLevel; diffViewer.InlineHost.GetTextViewMargin( DiffOverviewMarginName ).VisualElement.Visibility = Visibility.Collapsed; } // Disable focus / tab stop for the diff viewer. diffViewer.RightView.VisualElement.Focusable = false; diffViewer.LeftView.VisualElement.Focusable = false; diffViewer.InlineView.VisualElement.Focusable = false; #pragma warning disable CA2007 // Consider calling ConfigureAwait on the awaited task (containing method uses JTF) await diffViewer.SizeToFitAsync(ThreadingContext, cancellationToken : cancellationToken); #pragma warning restore CA2007 // Consider calling ConfigureAwait on the awaited task return(diffViewer); }
public async Task <object> CreateDiffViewElementAsync(IDifferenceBuffer diffBuffer) { var diffView = _diffFactory.CreateDifferenceView(diffBuffer, _previewRoleSet); diffView.ViewMode = DifferenceViewMode.Inline; diffView.InlineView.ZoomLevel *= 1.0; diffView.InlineView.VisualElement.Focusable = false; diffView.InlineHost.GetTextViewMargin("deltadifferenceViewerOverview").VisualElement.Visibility = System.Windows.Visibility.Collapsed; await diffView.SizeToFitAsync().ConfigureAwait(true); return(diffView.VisualElement); }
protected override async Task <ICocoaDifferenceViewer> CreateDifferenceViewAsync( IDifferenceBuffer diffBuffer, ITextViewRoleSet previewRoleSet, DifferenceViewMode mode, double zoomLevel, CancellationToken cancellationToken ) { var diffViewer = _differenceViewerService.CreateDifferenceView( diffBuffer, previewRoleSet ); diffViewer.ViewMode = mode; // We use ConfigureAwait(true) to stay on the UI thread. await diffViewer .SizeToFitAsync(ThreadingContext, cancellationToken : cancellationToken) .ConfigureAwait(true); return(diffViewer); }
protected abstract Task <TDifferenceViewer> CreateDifferenceViewAsync(IDifferenceBuffer diffBuffer, ITextViewRoleSet previewRoleSet, DifferenceViewMode mode, double zoomLevel, CancellationToken cancellationToken);
protected override async Task <ICocoaDifferenceViewer> CreateDifferenceViewAsync(IDifferenceBuffer diffBuffer, ITextViewRoleSet previewRoleSet, DifferenceViewMode mode, double zoomLevel, CancellationToken cancellationToken) { var diffViewer = _differenceViewerService.CreateDifferenceView(diffBuffer, previewRoleSet); diffViewer.ViewMode = mode; const string DiffOverviewMarginName = "deltadifferenceViewerOverview"; if (mode == DifferenceViewMode.RightViewOnly) { diffViewer.RightHost.GetTextViewMargin(DiffOverviewMarginName).VisualElement.Hidden = true; } else if (mode == DifferenceViewMode.LeftViewOnly) { diffViewer.LeftHost.GetTextViewMargin(DiffOverviewMarginName).VisualElement.Hidden = true; } else { Contract.ThrowIfFalse(mode == DifferenceViewMode.Inline); diffViewer.InlineHost.GetTextViewMargin(DiffOverviewMarginName).VisualElement.Hidden = true; } // We use ConfigureAwait(true) to stay on the UI thread. await diffViewer.SizeToFitAsync(ThreadingContext, cancellationToken : cancellationToken).ConfigureAwait(true); return(diffViewer); }
public Task <object> CreateDiffViewElementAsync(IDifferenceBuffer diffBuffer) => throw new System.NotImplementedException();