12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- using System.Collections;
- using System.Collections.Generic;
- using System.Linq;
- using Xamarin.Forms;
- namespace InABox.Mobile
- {
- public class MobileModuleItems : IEnumerable<IModuleMenuItem>
- {
- private ListView _parent;
- private List<IModuleMenuItem> _modules;
- private bool _updating;
- public IModuleMenuItem this[int index] => _modules[index];
-
- public MobileModuleItems(ListView parent)
- {
- _parent = parent;
- _modules = new List<IModuleMenuItem>();
- }
- 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<IModuleMenuItem> GetEnumerator() => _modules.GetEnumerator();
- IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
- }
- }
|