public TutorialRunner([NotNull] Lifetime lifetime, ISolution solution, IPsiFiles psiFiles, [NotNull] ISolutionStateTracker solutionStateTracker, [NotNull] GlobalSettings globalSettings, TextControlManager textControlManager, IShellLocks shellLocks, IEditorManager editorManager, DocumentManager documentManager, IUIApplication environment, IActionManager actionManager, ToolWindowManager toolWindowManager, TutorialWindowDescriptor tutorialWindowDescriptor, IWindowsHookManager windowsHookManager, IPsiServices psiServices, IActionShortcuts shortcutManager, IColorThemeManager colorThemeManager) { if (lifetime == null) { throw new ArgumentNullException("lifetime"); } if (solutionStateTracker == null) { throw new ArgumentNullException("solutionStateTracker"); } if (globalSettings == null) { throw new ArgumentNullException("globalSettings"); } foreach (var tutorial in globalSettings.AvailableTutorials) { if (VsCommunication.GetCurrentSolutionPath() == tutorial.Value) { solutionStateTracker.AfterPsiLoaded.Advise(lifetime, sol => RunTutorial(globalSettings.GetPath(tutorial.Key, PathType.WorkCopyContentFile), lifetime, solution, psiFiles, textControlManager, shellLocks, editorManager, documentManager, environment, actionManager, toolWindowManager, tutorialWindowDescriptor, windowsHookManager, psiServices, shortcutManager, colorThemeManager)); } } }
public TutorialWindowRunner([NotNull] Lifetime lifetime, ISolution solution, IPsiFiles psiFiles, ChangeManager changeManager, [NotNull] ISolutionStateTracker solutionStateTracker, [NotNull] GlobalSettings globalSettings, TextControlManager textControlManager, IShellLocks shellLocks, IEditorManager editorManager, DocumentManager documentManager, IUIApplication environment, IActionManager actionManager, WindowsHookManager windowsHookManager, IPsiServices psiServices, IActionShortcuts shortcutManager, IColorThemeManager colorThemeManager, IThreading threading) { if (lifetime == null) { throw new ArgumentNullException("lifetime"); } if (solutionStateTracker == null) { throw new ArgumentNullException("solutionStateTracker"); } if (globalSettings == null) { throw new ArgumentNullException("globalSettings"); } foreach (var tutorial in globalSettings.AvailableTutorials) { if (VsIntegration.GetCurrentSolutionPath() == tutorial.Value) { solutionStateTracker.AfterSolutionOpened.Advise(lifetime, () => RunTutorial(globalSettings, tutorial.Key, lifetime, solution, psiFiles, changeManager, textControlManager, shellLocks, editorManager, documentManager, environment, actionManager, windowsHookManager, psiServices, shortcutManager, colorThemeManager, threading)); } } }