Example #1
0
 public void Clear()
 {
     this.m_Owner = null;
     this.m_TreeViewNeededEvent = null;
     this.m_SelectionEvent      = null;
     this.m_DoubleClickedEvent  = null;
     this.m_OriginalSelectedID  = 0;
     this.m_UserData            = 0;
     this.m_TreeView            = null;
     this.m_TreeViewState       = null;
     this.m_ErrorCounter        = 0;
     this.m_FocusSearchFilter   = false;
 }
        public void Init(
            Rect position,
            EditorWindow owner,
            UnityAction <TreeSelectorData> treeViewNeededCallback,
            UnityAction <TreeViewItem> selectionCallback,
            UnityAction doubleClickedCallback,
            int initialSelectedTreeViewItemID,
            int userData)
        {
            Clear();

            m_Owner = owner;

            m_TreeViewNeededEvent = new TreeViewNeededEvent();
            m_TreeViewNeededEvent.AddPersistentListener(treeViewNeededCallback, UnityEventCallState.EditorAndRuntime);

            m_SelectionEvent = new SelectionEvent();
            m_SelectionEvent.AddPersistentListener(selectionCallback, UnityEventCallState.EditorAndRuntime);

            m_DoubleClickedEvent = new DoubleClickedEvent();
            m_DoubleClickedEvent.AddPersistentListener(doubleClickedCallback, UnityEventCallState.EditorAndRuntime);

            m_OriginalSelectedID = initialSelectedTreeViewItemID;
            m_UserData           = userData;

            m_FocusSearchFilter = true; // start by focusing search field

            // Initial setup
            EnsureTreeViewIsValid(GetTreeViewRect(position));
            if (m_TreeView != null)
            {
                m_TreeView.SetSelection(new[] { m_OriginalSelectedID }, true);
                // If nothing is selected we expand all to better start overview. If we have a selection it has been revealed in SetSelection above
                if (m_OriginalSelectedID == 0)
                {
                    m_TreeView.data.SetExpandedWithChildren(m_TreeView.data.root, true);
                }
            }

            m_Debounce = Delayer.Debounce(context =>
            {
                DoSearchFilter();
                m_Owner.Repaint();
            });
        }
        public void Clear()
        {
            m_Owner = null;
            m_TreeViewNeededEvent = null;
            m_SelectionEvent      = null;

            m_DoubleClickedEvent = null;
            m_OriginalSelectedID = 0;
            m_UserData           = 0;

            m_TreeView          = null;
            m_TreeViewState     = null;
            m_ErrorCounter      = 0;
            m_FocusSearchFilter = false;

            m_Debounce?.Dispose();
            m_Debounce = null;
        }
Example #4
0
 public void Init(Rect position, EditorWindow owner, UnityAction <TreeSelectorData> treeViewNeededCallback, UnityAction <TreeViewItem> selectionCallback, UnityAction doubleClickedCallback, int initialSelectedTreeViewItemID, int userData)
 {
     this.Clear();
     this.m_Owner = owner;
     this.m_TreeViewNeededEvent = new TreeViewNeededEvent();
     this.m_TreeViewNeededEvent.AddPersistentListener(treeViewNeededCallback, UnityEventCallState.EditorAndRuntime);
     this.m_SelectionEvent = new SelectionEvent();
     this.m_SelectionEvent.AddPersistentListener(selectionCallback, UnityEventCallState.EditorAndRuntime);
     this.m_DoubleClickedEvent = new DoubleClickedEvent();
     this.m_DoubleClickedEvent.AddPersistentListener(doubleClickedCallback, UnityEventCallState.EditorAndRuntime);
     this.m_OriginalSelectedID = initialSelectedTreeViewItemID;
     this.m_UserData           = userData;
     this.m_FocusSearchFilter  = true;
     this.EnsureTreeViewIsValid(this.GetTreeViewRect(position));
     if (this.m_TreeView != null)
     {
         int[] selectedIDs = new int[] { this.m_OriginalSelectedID };
         this.m_TreeView.SetSelection(selectedIDs, true);
         if (this.m_OriginalSelectedID == 0)
         {
             this.m_TreeView.data.SetExpandedWithChildren(this.m_TreeView.data.root, true);
         }
     }
 }