private void FrameSelection() { if (m_TestListTree.HasSelection()) { var firstClickedID = m_TestListState.selectedIDs.First <int>() == m_TestListState.lastClickedID ? m_TestListState.selectedIDs.Last <int>() : m_TestListState.selectedIDs.First <int>(); m_TestListTree.Frame(firstClickedID, true, false); } }
public void OnGUI(Rect rect) { int keyboardControl = GUIUtility.GetControlID(FocusType.Keyboard, rect); const float kHeaderHeight = 17f; const float kBottomHeight = 20f; Rect headerRect = new Rect(rect.x, rect.y, rect.width, kHeaderHeight); Rect bottomRect = new Rect(rect.x, rect.yMax - kBottomHeight, rect.width, kBottomHeight); // Header GUI.Label(headerRect, "", EditorStyles.toolbar); m_ColumnHeader.OnGUI(headerRect); Profiler.BeginSample("TREEVIEW"); // TreeView rect.y += headerRect.height; rect.height -= headerRect.height + bottomRect.height; m_TreeView.OnEvent(); m_TreeView.OnGUI(rect, keyboardControl); Profiler.EndSample(); // BottomBar GUILayout.BeginArea(bottomRect, GetHeader(), EditorStyles.helpBox); GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); m_BackendData.m_RecursiveFindParentsBelow = GUILayout.Toggle(m_BackendData.m_RecursiveFindParentsBelow, GUIContent.Temp("Recursive")); if (GUILayout.Button("Ping", EditorStyles.miniButton)) { int id = GetNumItemsInData() / 2; m_TreeView.Frame(id, true, true); m_TreeView.SetSelection(new[] { id }, false); } if (GUILayout.Button("Frame", EditorStyles.miniButton)) { int id = GetNumItemsInData() / 10; m_TreeView.Frame(id, true, false); m_TreeView.SetSelection(new[] { id }, false); } GUILayout.EndHorizontal(); GUILayout.EndArea(); }
public void DuplicateGroups(List <AudioMixerGroupController> groups, bool recordUndo) { if (recordUndo) { Undo.RecordObject(m_Controller, "Duplicate group" + PluralIfNeeded(groups.Count)); Undo.RecordObject(m_Controller.masterGroup, ""); } var duplicatedRoots = m_Controller.DuplicateGroups(groups.ToArray(), recordUndo); if (duplicatedRoots.Count > 0) { ReloadTree(); var instanceIDs = duplicatedRoots.Select(audioMixerGroup => audioMixerGroup.GetInstanceID()).ToArray(); m_AudioGroupTree.SetSelection(instanceIDs, false); m_AudioGroupTree.Frame(instanceIDs[instanceIDs.Length - 1], true, false); } }
public void FrameItem(TreeViewItem item) { m_TreeView.Frame(item.id, true, false, true); }
void FrameSelectedTreeViewItem() { m_TreeView.Frame(m_TreeView.state.lastClickedID, true, false); }