main
 1using System.Collections;
 2using System.Collections.Generic;
 3using gorilla.commons.utility;
 4using MoMoney.Presentation.Model.Menu.File;
 5using MoMoney.Presentation.Model.Menu.Help;
 6using MoMoney.Presentation.Model.Menu.window;
 7
 8namespace MoMoney.Presentation.Model.Menu
 9{
10    public interface ISubMenuRegistry : Registry<ISubMenu> {}
11
12    public class SubMenuRegistry : ISubMenuRegistry
13    {
14        readonly IFileMenu file_menu;
15        readonly IWindowMenu window_menu;
16        readonly IHelpMenu help_menu;
17
18        public SubMenuRegistry(IFileMenu file_menu, IWindowMenu window_menu, IHelpMenu help_menu)
19        {
20            this.file_menu = file_menu;
21            this.window_menu = window_menu;
22            this.help_menu = help_menu;
23        }
24
25        public IEnumerable<ISubMenu> all()
26        {
27            yield return file_menu;
28            yield return window_menu;
29            yield return help_menu;
30        }
31
32        public IEnumerator<ISubMenu> GetEnumerator()
33        {
34            return all().GetEnumerator();
35        }
36
37        IEnumerator IEnumerable.GetEnumerator()
38        {
39            return GetEnumerator();
40        }
41    }
42}