private void UpdateTreeItemRenderer()
        {
            var filteredTreeView = TreeView as FilteredTreeView;

            if (filteredTreeView != null)
            {
                TreeItemRenderer itemRenderer = TreeControl.ItemRenderer;
                itemRenderer.FilteringPattern = m_searchInput.SearchPattern;
                itemRenderer.FilteringStatus  = filteredTreeView.GetNodeFilteringStatus;
            }
        }
Ejemplo n.º 2
0
        private void UpdateTreeItemRenderer()
        {
            var filteredTreeView = TreeView as FilteredTreeView;

            if (filteredTreeView != null)
            {
                TreeItemRenderer itemRenderer = TreeControl.ItemRenderer;
                itemRenderer.FilteringPattern = m_TagPanel.TagList;
                itemRenderer.FilteringStatus  = filteredTreeView.GetNodeFilteringStatus;
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Performs custom actions after filtering finished</summary>
        /// <param name="sender">Sender</param>
        /// <param name="e">Event args</param>
        protected void UpdateFiltering(object sender, EventArgs e)
        {
            if (TreeView == null || TreeControl == null || TreeView.Root == null)
            {
                return;
            }

            TreeControl.SuspendLayout();
            bool search = !m_searchInput.IsNullOrEmpty();

            if (!m_searching && search) // Search started: remember expansion
            {
                RememberExpansion();
                m_selectedItems = RememberSelection();
            }


            TreeItemRenderer itemRenderer = this.TreeControl.ItemRenderer;

            itemRenderer.FilteringPattern = m_searchInput.SearchPattern;

            var filteredTreeView = TreeView as FilteredTreeView;

            if (filteredTreeView != null)
            {
                if (search)
                {
                    filteredTreeView.BuildTreeCache();
                    filteredTreeView.BuildVisibility();
                    filteredTreeView.IsFiltering = true;
                    if (itemRenderer.FilteringStatus == null)
                    {
                        itemRenderer.FilteringStatus = filteredTreeView.NodeCurrentFilteringStatus;
                    }
                }
                else
                {
                    filteredTreeView.IsFiltering = false;
                }
            }

            m_autoExpanding = true;
            if (search)
            {
                TreeControlAdapter.TreeView = TreeView; // Force reload
                ExpandAllMatches();
            }
            else if (m_searching)                                       // Search stopped: restore expansion
            {
                TreeControlAdapter.TreeView = TreeView;                 // Force reload
                IEnumerable <object> currentSelection = RememberSelection();
                if (currentSelection != null && currentSelection.Any()) // if there are selected items during the searching
                {
                    m_selectedItems = currentSelection;
                }
                RestoreExpansion();
                RestoreSelection();
            }
            m_searching     = search;
            m_autoExpanding = false;
            TreeControl.ResumeLayout();
        }