Beispiel #1
0
        private ExTreeViewItem GetVisibleTreeItem(TreePosition pos, Action <ExTreeViewItem> walk = null)
        {
            Tree.UpdateLayout();
            Stack <TreeStoreNode> nodes = new Stack <TreeStoreNode> ();

            TreeStoreNode node = (TreeStoreNode)pos;

            do
            {
                nodes.Push(node);
                node = node.Parent;
            } while (node != null);

            ExTreeViewItem         treeItem = null;
            ItemContainerGenerator g        = Tree.ItemContainerGenerator;

            while (nodes.Count > 0)
            {
                node     = nodes.Pop();
                treeItem = (ExTreeViewItem)g.ContainerFromItem(node);
                treeItem.UpdateLayout();
                g = treeItem.ItemContainerGenerator;

                if (walk != null)
                {
                    walk(treeItem);
                }
            }

            return(treeItem);
        }
Beispiel #2
0
        public void ExpandToRow(TreePosition pos)
        {
            TreeStoreNode parent = ((TreeStoreNode)pos).Parent;

            if (parent != null)
            {
                parent.IsExpanded = true;
            }
        }
Beispiel #3
0
        public void ExpandRow(TreePosition row, bool expandChildren)
        {
            TreeStoreNode node = ((TreeStoreNode)row);

            node.IsExpanded = true;

            if (expandChildren)
            {
                foreach (TreeStoreNode childNode in node.Children)
                {
                    childNode.IsExpanded = true;
                }
            }
        }
Beispiel #4
0
        public TreePosition AddChild(TreePosition pos)
        {
            var parent = (TreeStoreNode)pos;

            var childNode = new TreeStoreNode(
                new object[this.columnTypes.Length],
                parent);

            GetListForNode(parent).Add(childNode);

            OnNodeInserted(new TreeNodeEventArgs(childNode));

            return(childNode);
        }
Beispiel #5
0
        public TreePosition InsertAfter(TreePosition pos)
        {
            var node = (TreeStoreNode)pos;

            var newNode = new TreeStoreNode(
                new object[this.columnTypes.Length],
                node.Parent);

            var list  = GetContainingList(node);
            int index = list.IndexOf(node);

            list.Insert(index + 1, newNode);

            OnNodeInserted(new TreeNodeEventArgs(newNode));

            return(newNode);
        }
Beispiel #6
0
 private ObservableCollection <TreeStoreNode> GetListForNode(TreeStoreNode node)
 {
     return((node == null) ? this.topNodes : node.Children);
 }
Beispiel #7
0
 private ObservableCollection <TreeStoreNode> GetContainingList(TreeStoreNode node)
 {
     return((node.Parent == null) ? this.topNodes : node.Parent.Children);
 }
Beispiel #8
0
		private ObservableCollection<TreeStoreNode> GetListForNode (TreeStoreNode node)
		{
			return (node == null) ? this.topNodes : node.Children;
		}
Beispiel #9
0
		private ObservableCollection<TreeStoreNode> GetContainingList (TreeStoreNode node)
		{
			return (node.Parent == null) ? this.topNodes : node.Parent.Children;
		}
Beispiel #10
0
		public TreePosition AddChild (TreePosition pos)
		{
			var parent = (TreeStoreNode) pos;

			var childNode = new TreeStoreNode (
				new object[this.columnTypes.Length],
				parent);

			GetListForNode (parent).Add (childNode);

			OnNodeInserted (new TreeNodeEventArgs (childNode));

			return childNode;
		}
Beispiel #11
0
		public TreePosition InsertAfter (TreePosition pos)
		{
			var node = (TreeStoreNode) pos;

			var newNode = new TreeStoreNode (
				new object[this.columnTypes.Length],
				node.Parent);

			var list = GetContainingList (node);
			int index = list.IndexOf (node);
			list.Insert (index + 1, newNode);
			
			OnNodeInserted (new TreeNodeEventArgs (newNode));

			return newNode;
		}
 public TreeStoreNode(object[] values, TreeStoreNode parent)
     : base(values)
 {
     Parent = parent;
 }
Beispiel #13
0
		public TreeStoreNode (object[] values, TreeStoreNode parent)
			: base (values)
		{
			Parent = parent;
		}