/// <summary> /// Initializes a new instance of the <see cref="LocatorWindowCommand"/> class. /// Adds our command handlers for menu (commands must exist in the command table file) /// </summary> /// <param name="package">Owner package, not null.</param> private LocatorWindowCommand(Package package) { if (package == null) { throw new ArgumentNullException("package"); } this.package = package; OleMenuCommandService commandService = ServiceProvider.GetService(typeof(IMenuCommandService)) as OleMenuCommandService; if (commandService != null) { var menuCommandID = new CommandID(CommandSet, CommandId); var menuItem = new MenuCommand(this.ShowToolWindow, menuCommandID); commandService.AddCommand(menuItem); } // Get the instance number 0 of this tool window. This window is single instance so this instance // is actually the only one. // The last flag is set to true so that if the tool window does not exists it will be created. _locatorWindow = package.FindToolWindow(typeof(LocatorWindow), 0, true) as LocatorWindow; if ((null == _locatorWindow) || (null == _locatorWindow.Frame)) { throw new NotSupportedException("Cannot create tool window"); } _locator = new Locator(); _solution = ServiceProvider.GetService(typeof(SVsSolution)) as IVsSolution; _solution.AdviseSolutionEvents(_locator, out _cookie); _locatorWindow.SetLocator(_locator); _locator.StartWorkerThread(); }
internal void SetLocator(Locator locator) { locatorWindowControl.SetLocator(locator); }