private void SetCmdUIContext(Guid context, bool enabled) { uint cookie; ErrorHandler.ThrowOnFailure(MonitorSelection.GetCmdUIContextCookie(ref context, out cookie)); if (cookie != 0) { ErrorHandler.ThrowOnFailure(MonitorSelection.SetCmdUIContext(cookie, (enabled ? 1 : 0))); } }
public int OnAfterDocumentWindowHide(uint docCookie, IVsWindowFrame pFrame) { if (CookieDocumentMap.ContainsKey(docCookie)) { MonitorSelection.SetCmdUIContext(MarkdownModeUIContextCookie, 0); CommandsEnabled = false; } return(VSConstants.S_OK); }
public int OnBeforeDocumentWindowShow(uint docCookie, int fFirstShow, IVsWindowFrame pFrame) { var currentDoc = CurrentDoc; if (CookieDocumentMap.ContainsKey(docCookie)) { CurrentDoc = CookieDocumentMap[docCookie]; MonitorSelection.SetCmdUIContext(MarkdownModeUIContextCookie, 1); CommandsEnabled = true; } else { string fullname = GetDocFullname(docCookie); if (IsUDNDocument(fullname)) { object codeWindow; pFrame.GetProperty((int)__VSFPROPID.VSFPROPID_DocView, out codeWindow); IVsTextView view; (codeWindow as IVsCodeWindow).GetPrimaryView(out view); var wpfView = EditorAdaptersFactoryService.GetWpfTextView(view); var docView = new UDNDocView(fullname, wpfView, pFrame, package, UIShell); CookieDocumentMap[docCookie] = docView; docView.ParsingResultsCache.AfterParsingEvent += PassResultsToChangedEvent; CurrentDoc = CookieDocumentMap[docCookie]; MonitorSelection.SetCmdUIContext(MarkdownModeUIContextCookie, 1); CommandsEnabled = true; } else { MonitorSelection.SetCmdUIContext(MarkdownModeUIContextCookie, 0); CommandsEnabled = false; } } if (currentDoc != CurrentDoc) { CurrentUDNDocView.ParsingResultsCache.AsyncReparseIfDirty(); } return(VSConstants.S_OK); }