Пример #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);
        }
Пример #2
0
        private void RunWorkItemHelper(WorkItem workItem)
        {
            Style itemStyle     = FindResource("DefaultTreeViewItemStyle") as Style;
            Style activeStyle   = FindResource("ActiveTreeViewItemStyle") as Style;
            Style workItemStyle = FindResource("WorkItemTreeViewItemStyle") as Style;

            WorkItemHelper wiHelper = new WorkItemHelper(TreeView, activeStyle, itemStyle, workItemStyle);

            wiHelper.OnSelectedItem += delegate(object sender, Utility.DataEventArgs <object> e)
            {
                if (OnSelectedItem != null)
                {
                    OnSelectedItem(this, new Utility.DataEventArgs <object>(e.Data));
                }
            };

            wiHelper.Run(workItem);
        }
Пример #3
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);
        }