示例#1
0
 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);
     }
 }
示例#2
0
        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);
            }
        }
示例#4
0
 public void FrameItem(TreeViewItem item)
 {
     m_TreeView.Frame(item.id, true, false, true);
 }
示例#5
0
 void FrameSelectedTreeViewItem()
 {
     m_TreeView.Frame(m_TreeView.state.lastClickedID, true, false);
 }