예제 #1
0
        private void gotoMemberToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var member = Tag;

            if (member is MemberInfo)
            {
                browser.SelectMember((MemberInfo)member);
            }
        }
예제 #2
0
        private void graph_SelectionChanged(object sender, EventArgs e)
        {
            var n = graph.SelectedNode;

            if (n.ChildNodes.Count == 0)
            {
                Expand(n);
            }

            MethodBase mb = (MethodBase)n.Tag;

            browser.SelectMember(mb);
        }
예제 #3
0
 private void SelectInBrowser()
 {
     if ((ModifierKeys & Keys.Control) == Keys.Control)
     {
         var selNode = tv.SelectedNode;
         if (selNode is MemberNode)
         {
             // contains offset
             if (selNode.Tag != null)
             {
                 browser.SelectMember(((MemberNode)selNode).Member, (int)selNode.Tag);
             }
             else
             {
                 browser.SelectMember(((MemberNode)selNode).Member);
             }
         }
         else if (selNode is TypeNode)
         {
             browser.SelectType(((TypeNode)selNode).Type);
         }
     }
 }
예제 #4
0
        private void txtNewInfo_MouseUp(object sender, MouseEventArgs e)
        {
            var block = txtNewInfo.CodeBlockAtMouse();

            if (block != null)
            {
                if (e.Button == System.Windows.Forms.MouseButtons.Left)
                {
                    if (block is VisualizerHelper.TypeCodeBlock)
                    {
                        browser.SelectType((Type)block.Tag);
                    }
                    else if (block is VisualizerHelper.MemberCodeBlock)
                    {
                        browser.SelectMember((MemberInfo)block.Tag);
                    }
                    else if (block is VisualizerHelper.InstructionOffsetCodeBlock && ((VisualizerHelper.InstructionOffsetCodeBlock)block).IsTarget)
                    {
                        int offset = Convert.ToInt32(((VisualizerHelper.InstructionOffsetCodeBlock)block).Tag);
                        ScrollToInstruction(offset);
                    }
                }
                else if (e.Button == System.Windows.Forms.MouseButtons.Right)
                {
                    // operand
                    if (block is VisualizerHelper.TypeCodeBlock || block is VisualizerHelper.MemberCodeBlock)
                    {
                        mnuMember.Tag = block.Tag;
                        mnuMember.Show(Cursor.Position);
                        mnuMember.UpdateAnalyzeTypeMenuEnabledStatus(false);
                    }
                }
            }

            if (e.Button == System.Windows.Forms.MouseButtons.XButton1)
            {
                browser.GoBack();
            }
            else if (e.Button == System.Windows.Forms.MouseButtons.XButton2)
            {
                browser.GoForward();
            }
        }