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; }
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); } } }