public static VSCommandRouting FromForm(VSContainerForm form) { VSCommandRouting vr; if (_map.TryGetValue(form, out vr)) { return(vr); } return(null); }
public VSCommandRouting(IAnkhServiceProvider context, VSContainerForm form) : base(context) { ThreadHelper.ThrowIfNotOnUIThread(); if (form == null) { throw new ArgumentNullException("form"); } _form = form; _vsForm = form; if (_routers.Count > 0) { _routers.Peek().Enabled = false; } Application.AddMessageFilter(this); _routers.Push(this); _installed = true; _vsWpf = !VSVersion.VS2008OrOlder; _map.Add(form, this); _priorityCommandTarget = GetService <IVsRegisterPriorityCommandTarget>(typeof(SVsRegisterPriorityCommandTarget)); if (_priorityCommandTarget != null) { if (!VSErr.Succeeded(_priorityCommandTarget.RegisterPriorityCommandTarget(0, this, out _csCookie))) { _priorityCommandTarget = null; } } ISelectionContextEx sel = GetService <ISelectionContextEx>(typeof(ISelectionContext)); if (sel != null) { _activeStack = sel.PushPopupContext(form); } }
void InitializeForm(VSContainerForm ownerForm) { if (_nativeWindow == null) { Init(ownerForm.Context, true); } IAnkhVSContainerForm cf = ownerForm; cf.AddCommandTarget(_nativeWindow); cf.AddWindowPane(_nativeWindow.WindowPane); cf.ContainerMode |= VSContainerMode.TranslateKeys | VSContainerMode.UseTextEditorScope; }