Пример #1
0
        internal static IEnumerable <ITreeNode> SelectData(TableSelector selector, ITreeNodeCreator creator,
                                                           Action action, string stateId)
        {
            DataTable table = selector.HostTable;
            int       start = table == null ? 0 : table.Rows.Count;

            action();
            if (table == null)
            {
                table = selector.HostTable;
            }
            int end = table.Rows.Count;

            for (int i = start; i < end; i++)
            {
                DataRow         row  = table.Rows[i];
                DataRowTreeNode node = creator.CreateNode(row);
                if (node.Id == stateId)
                {
                    node.State = new TreeNodeState {
                        Opened = true, Selected = true
                    };
                }
                yield return(node);
            }
        }
Пример #2
0
        internal static ITreeNode GetTreeNode(TableSelector selector, ITreeNodeCreator creator, string id)
        {
            TkDebug.AssertArgumentNullOrEmpty(id, "id", creator);

            DataRow row = selector.TrySelectRowWithKeys(id);

            if (row == null)
            {
                return(null);
            }
            return(creator.CreateNode(row));
        }
Пример #3
0
 public MCTSAlgorithm(ITreeNodeCreator treeCreator)
 {
     this.treeCreator = treeCreator;
 }