Esempio n. 1
0
        static void Filter(IFileTreeNodeData node)
        {
            if (node == null)
            {
                return;
            }
            var res = node.GetFilterType(node.Context.Filter);

            switch (res)
            {
            case FilterType.Default:
            case FilterType.Visible:
                node.FilterVersion     = node.Context.FilterVersion;
                node.TreeNode.IsHidden = false;
                var fnode = node as FileTreeNodeData;
                if (fnode != null && fnode.refilter && node.TreeNode.Children.Count > 0)
                {
                    node.OnEnsureChildrenLoaded();
                }
                break;

            case FilterType.Hide:
                node.TreeNode.IsHidden = true;
                break;

            case FilterType.CheckChildren:
                node.FilterVersion = node.Context.FilterVersion;
                node.TreeNode.EnsureChildrenLoaded();
                node.TreeNode.IsHidden = node.TreeNode.Children.All(a => a.IsHidden);
                break;

            default:
                Debug.Fail($"Invalid type: {res}");
                goto case FilterType.Default;
            }
        }
Esempio n. 2
0
        static void Filter(IFileTreeNodeData node)
        {
            if (node == null)
                return;
            var res = node.GetFilterType(node.Context.Filter);
            switch (res) {
            case FilterType.Default:
            case FilterType.Visible:
                node.FilterVersion = node.Context.FilterVersion;
                node.TreeNode.IsHidden = false;
                var fnode = node as FileTreeNodeData;
                if (fnode != null && fnode.refilter && node.TreeNode.Children.Count > 0)
                    node.OnEnsureChildrenLoaded();
                break;

            case FilterType.Hide:
                node.TreeNode.IsHidden = true;
                break;

            case FilterType.CheckChildren:
                node.FilterVersion = node.Context.FilterVersion;
                node.TreeNode.EnsureChildrenLoaded();
                node.TreeNode.IsHidden = node.TreeNode.Children.All(a => a.IsHidden);
                break;

            default:
                Debug.Fail(string.Format("Invalid type: {0}", res));
                goto case FilterType.Default;
            }
        }