public WorkingCopyExplorerToolWindow() { Caption = Resources.WorkingCopyExplorerToolWindowTitle; Control = new WorkingCopyExplorerControl(); AnkhToolWindow = AnkhToolWindow.WorkingCopyExplorer; ToolBarId = (AnkhToolBar)AnkhCommandMenu.WorkingCopyExplorerToolBar; ToolBarLocation = (int)VSTWT_LOCATION.VSTWT_TOP; }
public void OnExecute(CommandEventArgs e) { string info; if (e.Argument is string) { // Allow opening from info = (string)e.Argument; } else if (e.Command == AnkhCommand.WorkingCopyAdd) { using (AddWorkingCopyExplorerRootDialog dlg = new AddWorkingCopyExplorerRootDialog()) { DialogResult dr = dlg.ShowDialog(e.Context); if (dr != DialogResult.OK || string.IsNullOrEmpty(dlg.NewRoot)) { return; } info = dlg.NewRoot; } } else { throw new InvalidOperationException("WorkingCopyBrowse was called without a path"); } if (!string.IsNullOrEmpty(info)) { WorkingCopyExplorerControl ctrl = e.Selection.ActiveDialogOrFrameControl as WorkingCopyExplorerControl; if (ctrl == null) { IAnkhPackage pkg = e.GetService <IAnkhPackage>(); pkg.ShowToolWindow(AnkhToolWindow.WorkingCopyExplorer); } ctrl = e.Selection.ActiveDialogOrFrameControl as WorkingCopyExplorerControl; if (ctrl != null) { switch (e.Command) { case AnkhCommand.WorkingCopyAdd: ctrl.AddRoot(info); break; case AnkhCommand.WorkingCopyBrowse: ctrl.BrowsePath(e.Context, info); break; } } } }
public void OnUpdate(CommandUpdateEventArgs e) { if (_ctrl == null) { _ctrl = e.GetService <WorkingCopyExplorerControl>(); } if (_ctrl == null) { e.Enabled = e.Visible = false; return; } }