Exemple #1
0
        static void Filter(DocumentTreeNodeData 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 DocumentTreeNodeData;
                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;
            }
        }
		static void Filter(DocumentTreeNodeData 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 DocumentTreeNodeData;
				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;
			}
		}