Exemplo n.º 1
0
        /// <inheritdoc/>
        int IOleCommandTarget.QueryStatus(ref Guid guidCmdGroup, uint cCmds, OLECMD[] prgCmds, IntPtr pCmdText)
        {
            ThreadHelper.ThrowIfNotOnUIThread();

            Guid cmdGroup = guidCmdGroup;

            for (uint i = 0; i < cCmds; i++)
            {
                OLECMDF status = QueryCommandStatus(ref cmdGroup, prgCmds[i].cmdID);
                if (status == default(OLECMDF) && _next != null)
                {
                    if (_next != null)
                    {
                        return(_next.QueryStatus(ref cmdGroup, cCmds, prgCmds, pCmdText));
                    }
                    else
                    {
                        return((int)OleConstants.OLECMDERR_E_NOTSUPPORTED);
                    }
                }

                prgCmds[i].cmdf = (uint)status;
            }

            return(VSConstants.S_OK);
        }
Exemplo n.º 2
0
        /// <inheritdoc/>
        int IOleCommandTarget.QueryStatus(ref Guid guidCmdGroup, uint cCmds, OLECMD[] prgCmds, IntPtr pCmdText)
        {
            using (OleCommandText oleCommandText = OleCommandText.FromQueryStatus(pCmdText))
            {
                Guid cmdGroup = guidCmdGroup;
                for (uint i = 0; i < cCmds; i++)
                {
                    OLECMDF status = QueryCommandStatus(ref cmdGroup, prgCmds[i].cmdID, oleCommandText);
                    if (status == default(OLECMDF) && _next != null)
                    {
                        int hr = _next.QueryStatus(ref cmdGroup, cCmds, prgCmds, pCmdText);
                        if (ErrorHandler.Failed(hr))
                        {
                            return(hr);
                        }
                    }
                    else
                    {
                        prgCmds[i].cmdf = (uint)status;
                    }
                }

                return(VSConstants.S_OK);
            }
        }
        int Microsoft.VisualStudio.OLE.Interop.IOleCommandTarget.QueryStatus(ref Guid cmdGroup, uint cCmds, Microsoft.VisualStudio.OLE.Interop.OLECMD[] prgCmds, IntPtr pCmdText)
        {
            Microsoft.VisualStudio.OLE.Interop.IOleCommandTarget oleCommandTarget = (Microsoft.VisualStudio.OLE.Interop.IOleCommandTarget)GetService(typeof(Microsoft.VisualStudio.OLE.Interop.IOleCommandTarget));

            if (oleCommandTarget != null)
            {
                if (cmdGroup == s_guidNanoDebugPackageCmdSet)
                {
                    switch (prgCmds[0].cmdID)
                    {
                    case _cmdidLaunchNanoDebug:
                        prgCmds[0].cmdf |= (uint)(Microsoft.VisualStudio.OLE.Interop.OLECMDF.OLECMDF_SUPPORTED | Microsoft.VisualStudio.OLE.Interop.OLECMDF.OLECMDF_ENABLED | Microsoft.VisualStudio.OLE.Interop.OLECMDF.OLECMDF_INVISIBLE);
                        return(Microsoft.VisualStudio.VSConstants.S_OK);

                    default:
                        Debug.Fail("Unknown command id");
                        return(Microsoft.VisualStudio.VSConstants.E_NOTIMPL);
                    }
                }

                return(oleCommandTarget.QueryStatus(ref cmdGroup, cCmds, prgCmds, pCmdText));
            }

            return(-2147221248);
        }
Exemplo n.º 4
0
        /// <inheritdoc/>
        int IOleCommandTarget.QueryStatus(ref Guid pguidCmdGroup, uint cCmds, OLECMD[] prgCmds, IntPtr pCmdText)
        {
            IOleCommandTarget service = (IOleCommandTarget)GetService(typeof(IOleCommandTarget));

            if (service != null)
            {
                return(service.QueryStatus(ref pguidCmdGroup, cCmds, prgCmds, pCmdText));
            }

            return((int)OleConstants.MSOCMDERR_E_NOTSUPPORTED);
        }
Exemplo n.º 5
0
        int IOleCommandTarget.QueryStatus(ref Guid guidCmdGroup, uint cCmds, OLECMD[] prgCmds, IntPtr pCmdText)
        {
            Guid cmdGroup = guidCmdGroup;

            for (uint i = 0; i < cCmds; i++)
            {
                CommandStatus status = QueryCommandStatus(ref cmdGroup, prgCmds[i].cmdID);
                if (status == CommandStatus.None && _next != null)
                {
                    if (_next != null)
                    {
                        return(_next.QueryStatus(ref cmdGroup, cCmds, prgCmds, pCmdText));
                    }
                    else
                    {
                        return((int)OleConstants.OLECMDERR_E_NOTSUPPORTED);
                    }
                }

                prgCmds[i].cmdf = (uint)status;
            }

            return(VSConstants.S_OK);
        }
Exemplo n.º 6
0
 public int QueryStatus(ref Guid pguidCmdGroup, uint cCmds, OLECMD[] prgCmds, IntPtr pCmdText)
 {
     return(_oldTarget.QueryStatus(ref pguidCmdGroup, cCmds, prgCmds, pCmdText));
 }