Example #1
0
        /// <summary>
        /// Execute command.
        /// </summary>
        int IOleCommandTarget.Exec(ref Guid pguidCmdGroup, uint cmdId, uint nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut)
        {
            if (pguidCmdGroup != GuidList.guidWorkItemViewExtCmdSet)
            {
                return(OlecmderrEUnknowngroup);
            }
            IWorkItemViewExtCommand command;

            if (!_commands.TryGetValue(cmdId, out command))
            {
                return(OlecmderrEUnknowngroup);
            }

            var dte = (EnvDTE.DTE)GetService(typeof(EnvDTE.DTE));
            var selectedWorkItems = WorkItemHelper.GetSelectedWorkItems(dte);

            if (selectedWorkItems == null)
            {
                return(VSConstants.S_OK);
            }

            command.Execute(this, selectedWorkItems);

            return(VSConstants.S_OK);
        }
Example #2
0
        /// <summary>
        /// Query command status.
        /// </summary>
        int IOleCommandTarget.QueryStatus(ref Guid pguidCmdGroup, uint cCmds, OLECMD[] prgCmds, IntPtr pCmdText)
        {
            if (pguidCmdGroup != GuidList.guidWorkItemViewExtCmdSet)
            {
                return(OlecmderrEUnknowngroup);
            }

            if (!_commands.ContainsKey(prgCmds[0].cmdID))
            {
                return(OlecmderrEUnknowngroup);
            }

            prgCmds[0].cmdf = (uint)OLECMDF.OLECMDF_SUPPORTED;

            var dte = (EnvDTE.DTE)GetService(typeof(EnvDTE.DTE));
            var selectedWorkItems = WorkItemHelper.GetSelectedWorkItems(dte);

            if (selectedWorkItems != null && selectedWorkItems.Length > 0)
            {
                prgCmds[0].cmdf = prgCmds[0].cmdf | (uint)OLECMDF.OLECMDF_ENABLED;
            }

            return(VSConstants.S_OK);
        }