using System.Collections; using System.Collections.Generic; using System.Linq; using Xamarin.Forms; namespace InABox.Mobile { public class MobileModuleItems : IEnumerable { private ListView _parent; private List _modules; private bool _updating; public IModuleMenuItem this[int index] => _modules[index]; public MobileModuleItems(ListView parent) { _parent = parent; _modules = new List(); } private void Update() { if (_updating) return; _parent.ItemsSource = _modules.Where(x=>x.IsVisible); } // public ModuleMenuItems BeginUpdate() // { // _updating = true; // return this; // } // // public ModuleMenuItems EndUpdate() // { // _updating = false; // Update(); // return this; // } // // public ModuleMenuItems Clear() // { // _modules.Clear(); // Update(); // return this; // } // public ModuleMenuItems Add(IModuleMenuItem module) // { // _modules.Add(module); // Update(); // return this; // } public IEnumerator GetEnumerator() => _modules.GetEnumerator(); IEnumerator IEnumerable.GetEnumerator() => GetEnumerator(); } }