public int QueryStatus(ref Guid pguidCmdGroup, uint cCmds, OLECMD[] prgCmds, IntPtr pCmdText)
        {
            IOleCommandTarget target = _item.Hierarchy as IOleCommandTarget;

            if (target != null)
            {
                int hr = target.QueryStatus(ref pguidCmdGroup, cCmds, prgCmds, pCmdText);
                if (hr != (int)OleConstants.OLECMDERR_E_NOTSUPPORTED)
                {
                    return(hr);
                }
            }

            IVsUIHierarchy uiHier = _item.Hierarchy as IVsUIHierarchy;

            if (uiHier != null)
            {
                return(uiHier.QueryStatusCommand(
                           _item.ItemId,
                           ref pguidCmdGroup,
                           cCmds,
                           prgCmds,
                           pCmdText
                           ));
            }

            return(VSConstants.E_FAIL);
        }
Exemple #2
0
        public int QueryStatus(ref Guid pguidCmdGroup, uint cCmds, OLECMD[] prgCmds, IntPtr pCmdText)
        {
            foreach (var item in _selectedItems)
            {
                IOleCommandTarget target = item.Hierarchy as IOleCommandTarget;
                if (target != null)
                {
                    int hr = target.QueryStatus(ref pguidCmdGroup, cCmds, prgCmds, pCmdText);
                    if (hr != (int)NativeMethods.OLECMDERR_E_NOTSUPPORTED)
                    {
                        return(hr);
                    }
                }

                IVsUIHierarchy uiHier = item.Hierarchy as IVsUIHierarchy;
                if (uiHier != null)
                {
                    return(uiHier.QueryStatusCommand(
                               item.ItemId,
                               ref pguidCmdGroup,
                               cCmds,
                               prgCmds,
                               pCmdText
                               ));
                }
            }

            return(NativeMethods.OLECMDERR_E_NOTSUPPORTED);
        }
Exemple #3
0
 /// <include file='doc\FlavoredProject.uex' path='docs/doc[@for="FlavoredProject.QueryStatusCommand"]/*' />
 protected virtual int QueryStatusCommand(uint itemid, ref Guid pguidCmdGroup, uint cCmds, OLECMD[] prgCmds, IntPtr pCmdText)
 {
     return(innerVsUIHierarchy.QueryStatusCommand(itemid, ref pguidCmdGroup, cCmds, prgCmds, pCmdText));
 }