예제 #1
0
파일: TreeItem.cs 프로젝트: uvbs/FullSource
 internal TreeItem(string id, string parent, ref TreeCollection <T> ownerCollection)
 {
     _id              = id;
     _parent          = parent;
     _ownerCollection = ownerCollection;
     _subitems        = new LightCollection <string>();
 }
예제 #2
0
        public LightCollection <TreeItem <T> > Find(Predicate <TreeItem <T> > match)
        {
            LightCollection <TreeItem <T> > results = new LightCollection <TreeItem <T> >();

            for (int i = 0; i < _globalCollection.Count; i++)
            {
                if (match(_globalCollection[i]))
                {
                    results.Add(_globalCollection[i]);
                }
            }
            return(results);
        }
예제 #3
0
파일: TreeItem.cs 프로젝트: uvbs/FullSource
        public string GetFullPath()
        {
            LightCollection <string> paths = new LightCollection <string>();

            paths.Add(_id);
            TreeItem <T> parent = this.Parent;

            while (parent != null)
            {
                paths.Add(parent.Id);
                parent = parent.Parent;
            }
            paths.Reverse();
            string fullPath = string.Join("/", paths.GetItems());

            return(fullPath);
        }
예제 #4
0
 public KeyedCollection(string[] keys, T[] items)
 {
     _keys         = new LightCollection <string>(keys);
     _items        = new LightCollection <T>(items);
     _readonlyColl = null;
 }
예제 #5
0
 public KeyedCollection(int initialSize)
 {
     _keys         = new LightCollection <string>(initialSize);
     _items        = new LightCollection <T>(initialSize);
     _readonlyColl = null;
 }
예제 #6
0
 internal TreeItemCollection(ref TreeCollection <T> ownerCollection, string parent, LightCollection <string> items)
 {
     _parent          = parent;
     _items           = new LightCollection <string>(items);
     _ownerCollection = ownerCollection;
 }
예제 #7
0
 internal Enumerator(LightCollection <T> list)
 {
     _list    = list;
     _index   = 0;
     _current = default(T);
 }
예제 #8
0
 public TreeCollection(int initialSize)
 {
     _globalCollection = new KeyedCollection <TreeItem <T> >(initialSize);
     _globalValues     = new KeyedCollection <T>(initialSize);
     _rootItems        = new LightCollection <string>();
 }
예제 #9
0
 public ReadOnlyCollection(ILightCollection <T> collection)
 {
     _coll = (LightCollection <T>)collection; // new LightCollection<T>(collection);
 }
예제 #10
0
 public ReadOnlyCollection(T[] array)
 {
     _coll = new LightCollection <T>(array);
 }
예제 #11
0
 internal TreeItemEnumerator(ref KeyedCollection <TreeItem <T> > globalCollection, LightCollection <string> rootItems)
 {
     _globalCollection = globalCollection;
     _rootItems        = rootItems;
 }