Exemple #1
0
        private void removePeakGraphMenuItem_DropDownOpening(object sender, EventArgs e)
        {
            ToolStripMenuItem menu = removePeakGraphMenuItem;
            if (menu.DropDownItems.Count == 0)
                return;

            var nodeGroupTree = SequenceTree.GetNodeOfType<TransitionGroupTreeNode>();
            TransitionGroupDocNode nodeGroup = nodeGroupTree.DocNode;
            IdentityPath pathGroup = nodeGroupTree.Path;
            var nodeTranTree = (TransitionTreeNode) SelectedNode;
            var nodeTran = nodeTranTree.DocNode;

            menu.DropDownItems.Clear();

            if (nodeGroup.TransitionCount > 1)
            {
                var handler = new RemovePeakHandler(this, pathGroup, nodeGroup, null);
                var item = new ToolStripMenuItem(Resources.SkylineWindow_removePeaksGraphMenuItem_DropDownOpening_All, null, handler.menuItem_Click);
                menu.DropDownItems.Insert(0, item);
            }

            var chromInfo = GetTransitionChromInfo(nodeTran, SequenceTree.ResultsIndex);
            if (chromInfo != null && !chromInfo.IsEmpty)
            {
                var handler = new RemovePeakHandler(this, pathGroup, nodeGroup, nodeTran);
                var item = new ToolStripMenuItem(ChromGraphItem.GetTitle(nodeTran), null, handler.menuItem_Click);
                menu.DropDownItems.Insert(0, item);
            }
        }
        private void removePeakMenuItem_DropDownOpening(object sender, EventArgs e)
        {
            SkylineWindow.EditMenu.CanApplyOrRemovePeak(null, null, out _, out var canRemove);
            if (!canRemove)
            {
                return;
            }

            if (!(sender is ToolStripMenuItem menu) || !menu.DropDownItems.OfType <object>().Any())
            {
                return;
            }

            var nodeGroupTree = SequenceTree.GetNodeOfType <TransitionGroupTreeNode>();

            if (nodeGroupTree != null)
            {
                var nodeGroup    = nodeGroupTree.DocNode;
                var pathGroup    = nodeGroupTree.Path;
                var nodeTranTree = (TransitionTreeNode)SelectedNode;
                var nodeTran     = nodeTranTree.DocNode;

                menu.DropDownItems.Clear();

                if (nodeGroup.TransitionCount > 1)
                {
                    var handler = new RemovePeakHandler(SkylineWindow, pathGroup, nodeGroup, null);
                    var item    = new ToolStripMenuItem(
                        Resources.SkylineWindow_removePeaksGraphMenuItem_DropDownOpening_All, null,
                        handler.menuItem_Click);
                    menu.DropDownItems.Insert(0, item);
                }

                var chromInfo = nodeTran.GetChromInfo(SequenceTree.ResultsIndex, GetSelectedChromFileId());
                if (chromInfo != null && !chromInfo.IsEmpty)
                {
                    var handler = new RemovePeakHandler(SkylineWindow, pathGroup, nodeGroup, nodeTran);
                    var item    = new ToolStripMenuItem(ChromGraphItem.GetTitle(nodeTran), null, handler.menuItem_Click);
                    menu.DropDownItems.Insert(0, item);
                }

                return;
            }

            var nodePepTree = SequenceTree.GetNodeOfType <PeptideTreeNode>();

            if (nodePepTree != null)
            {
                var placeholder = menu.DropDownItems.OfType <object>().FirstOrDefault() as ToolStripMenuItem;
                if (placeholder == null)
                {
                    return;
                }

                var isotopeLabelType = placeholder.Tag as IsotopeLabelType;
                if (isotopeLabelType == null)
                {
                    return;
                }

                menu.DropDownItems.Clear();

                var transitionGroupDocNode = nodePepTree.DocNode.TransitionGroups.FirstOrDefault(transitionGroup =>
                                                                                                 Equals(transitionGroup.TransitionGroup.LabelType, isotopeLabelType));
                if (transitionGroupDocNode == null)
                {
                    return;
                }

                var item = new ToolStripMenuItem(Resources.SkylineWindow_removePeaksGraphMenuItem_DropDownOpening_All,
                                                 null, removePeakMenuItem_Click);
                menu.DropDownItems.Insert(0, item);

                var handler = new RemovePeakHandler(SkylineWindow,
                                                    new IdentityPath(nodePepTree.Path, transitionGroupDocNode.Id), transitionGroupDocNode, null);
                item = new ToolStripMenuItem(isotopeLabelType.Title, null, handler.menuItem_Click);
                menu.DropDownItems.Insert(0, item);
            }
        }