public void OnGUI(Rect rect)
{
int controlID = GUIUtility.GetControlID(FocusType.Keyboard, rect);
Rect position = new Rect(rect.x, rect.y, rect.width, 17f);
Rect screenRect = new Rect(rect.x, rect.yMax - 20f, rect.width, 20f);
GUI.Label(position, string.Empty, EditorStyles.toolbar);
this.m_ColumnHeader.OnGUI(position);
Profiler.BeginSample("TREEVIEW");
rect.y += position.height;
rect.height -= position.height + screenRect.height;
this.m_TreeView.OnEvent();
this.m_TreeView.OnGUI(rect, controlID);
Profiler.EndSample();
GUILayout.BeginArea(screenRect, this.GetHeader(), EditorStyles.helpBox);
GUILayout.BeginHorizontal(new GUILayoutOption[0]);
GUILayout.FlexibleSpace();
this.m_BackendData.m_RecursiveFindParentsBelow = GUILayout.Toggle(this.m_BackendData.m_RecursiveFindParentsBelow, GUIContent.Temp("Recursive"), new GUILayoutOption[0]);
if (GUILayout.Button("Ping", EditorStyles.miniButton, new GUILayoutOption[0]))
{
int id = this.GetNumItemsInData() / 2;
this.m_TreeView.Frame(id, true, true);
int[] selectedIDs = new int[] { id };
this.m_TreeView.SetSelection(selectedIDs, false);
}
if (GUILayout.Button("Frame", EditorStyles.miniButton, new GUILayoutOption[0]))
{
int num5 = this.GetNumItemsInData() / 10;
this.m_TreeView.Frame(num5, true, false);
int[] numArray2 = new int[] { num5 };
this.m_TreeView.SetSelection(numArray2, false);
}
GUILayout.EndHorizontal();
GUILayout.EndArea();
}