|
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
#nullable disable
using Microsoft.CodeAnalysis.Host;
namespace Microsoft.CodeAnalysis.Editor.Host;
/// <summary>
/// Displays the Preview Changes Dialog comparing two solutions.
/// </summary>
internal interface IPreviewDialogService : IWorkspaceService
{
/// <summary>
/// Presents the user a preview of the changes, based on a textual diff
/// between <paramref name="newSolution"/> and <paramref name="oldSolution"/>.
/// </summary>
/// <param name="title">The title of the preview changes dialog.</param>
/// <param name="helpString">The keyword used by F1 help in the dialog.</param>
/// <param name="description">Text to display above the treeview in the dialog.</param>
/// <param name="topLevelName">The name of the root item in the treeview in the dialog.</param>
/// <param name="topLevelGlyph">The <see cref="Glyph"/> of the root item in the treeview.</param>
/// <param name="newSolution">The changes to preview.</param>
/// <param name="oldSolution">The baseline solution.</param>
/// <param name="showCheckBoxes">Whether or not preview dialog should display item checkboxes.</param>
/// <returns>Returns <paramref name="oldSolution"/> with the changes selected in the dialog
/// applied. Returns null if cancelled.</returns>
Solution PreviewChanges(
string title,
string helpString,
string description,
string topLevelName,
Glyph topLevelGlyph,
Solution newSolution,
Solution oldSolution,
bool showCheckBoxes = true);
}
|