private void HandleCommandEvents()
 {
     if (GUIUtility.keyboardControl == this.m_View.treeViewControlID)
     {
         if (this.m_ViewState.selectedIDs.Count != 0)
         {
             int num = this.m_ViewState.selectedIDs.First <int>() - 1;
             if (num < this.m_View.m_CallsData.calls.Count)
             {
                 ProfilerDetailedCallsView.CallInformation callInformation = this.m_View.m_CallsData.calls[num];
                 if (this.callSelected != null)
                 {
                     Event current = Event.current;
                     this.callSelected(callInformation.path, current);
                 }
             }
         }
     }
 }
            private void CellGUI(Rect cellRect, TreeViewItem item, ProfilerDetailedCallsView.CallsTreeView.Column column, ref TreeView.RowGUIArgs args)
            {
                if (this.m_CallsData.calls.Count == 0)
                {
                    base.RowGUI(args);
                }
                else
                {
                    ProfilerDetailedCallsView.CallInformation callInformation = this.m_CallsData.calls[args.item.id - 1];
                    base.CenterRectUsingSingleLineHeight(ref cellRect);
                    switch (column)
                    {
                    case ProfilerDetailedCallsView.CallsTreeView.Column.Name:
                        TreeView.DefaultGUI.Label(cellRect, callInformation.name, args.selected, args.focused);
                        break;

                    case ProfilerDetailedCallsView.CallsTreeView.Column.Calls:
                    {
                        string label = callInformation.callsCount.ToString();
                        TreeView.DefaultGUI.LabelRightAligned(cellRect, label, args.selected, args.focused);
                        break;
                    }

                    case ProfilerDetailedCallsView.CallsTreeView.Column.GcAlloc:
                    {
                        int gcAllocBytes = callInformation.gcAllocBytes;
                        TreeView.DefaultGUI.LabelRightAligned(cellRect, gcAllocBytes.ToString(), args.selected, args.focused);
                        break;
                    }

                    case ProfilerDetailedCallsView.CallsTreeView.Column.TimeMs:
                    {
                        double num = (this.m_Type != ProfilerDetailedCallsView.CallsTreeView.Type.Callees) ? callInformation.totalSelfTimeMs : callInformation.totalCallTimeMs;
                        TreeView.DefaultGUI.LabelRightAligned(cellRect, num.ToString("f2"), args.selected, args.focused);
                        break;
                    }

                    case ProfilerDetailedCallsView.CallsTreeView.Column.TimePercent:
                        TreeView.DefaultGUI.LabelRightAligned(cellRect, (callInformation.timePercent * 100.0).ToString("f2"), args.selected, args.focused);
                        break;
                    }
                }
            }