Beispiel #1
0
        private static void RenderNode(TreeNodeCollection collection, HistoryTreeNode node, HistoryTreeNode currentNode)
        {
            var nNode = AddNode(node.Label, node, collection);

            if (node == currentNode)
            {
                nNode.ForeColor = Color.Red;
            }
            //collection.Add(nNode);
            foreach (var oneSubNode in node.Children)
            {
                RenderNode(nNode.Nodes, oneSubNode, currentNode);
            }
        }
        //private bool TryGetNextIndex(ref int index)
        //{
        //	if (_history.CurrentNode.Children.Count == 1)
        //	{
        //		index = 0;
        //		return true;
        //	}
        //	var selectedNode = _trvHistory.SelectedNode;
        //	if (selectedNode != null)
        //	{
        //		var histNode = selectedNode.Tag as HistoryTreeNode;
        //		if (histNode != null)
        //		{
        //			if (histNode.Parent == _history.CurrentNode)
        //			{
        //				index = selectedNode.Index;
        //				return true;
        //			}
        //		}
        //	}
        //	return false;
        //}

        //public bool CanBeExecutedNow
        //{
        //	get
        //	{
        //		int dummy = 0;
        //		return _history.CanRedo() && TryGetNextIndex(ref dummy);
        //	}
        //}
        private bool TryGetNextIndex(HistoryTreeNode histNode, ref int index)
        {
            if (_history.CurrentNode.Children.Count == 1)
            {
                index = 0;
                return(true);
            }

            if (histNode != null)
            {
                if (histNode.Parent == _history.CurrentNode)
                {
                    index = _history.CurrentNode.Children.IndexOf(histNode);
                    return(true);
                }
            }
            return(false);
        }